Contents
- Domma CMS User Manual
- 1. Using the CMS
- 2. Tutorials
- 3. Components
- 4. API Reference
- 5. Tools
- Tools
- Analytics Pro
- Backup Pro
- Blog
- Blog Pro
- Booking
- Booking Pro
- Calendar
- Campaigns Pro
- Cards
- Card credits
- Contacts Pro
- Dashboard Pro
- Data Transfer
- Docs
- Docs Pro
- Email Pro
- Feedback
- Garage
- Invoices
- Job Board
- Mail Reader
- Messages
- MongoDB Adapter
- Onboard Pro
- Security
- Security Pro
- SEO Pro
- Sheets
- Shopping Cart
- Shopping Cart Pro
- Social Media Pro
- Support
- Surveys
- Theme Roller
- Waypoint Pro
SEO Pro
Updated by Darryl Waterhouse on 16 October 2026 · 14 min read
SEO Pro adds more tabs to the SEO screen that is built into Domma CMS. It has no sidebar item of its own: open SEO in the sidebar and the Pro tabs sit after Pages, Redirects and Sitemap.
What it does
- Monitor - checks every link and image on the site on a schedule, and keeps a history of your SEO score and broken links.
- Search - brings Google Search Console into the admin: searches, clicks, positions and searches worth working on.
- Content - links worth adding between pages, pages competing for the same search, readability, near duplicates and image problems.
- Rich results - structured data for FAQ, How-to, Product, Event, Local business, Article, Recipe, Video, Course, App, Review and Service, on one page or on many at once with a template.
- Bulk - every page's SEO title, description, focus keyphrase and hidden setting in one grid, out to a spreadsheet and back, and moving an old site's addresses across as redirects.
- Not found - a log of missing pages visitors asked for, with one-click redirects. The Pro settings button is here.
- Indexing - verification codes for Google, Bing, Pinterest and Yandex; IndexNow, which tells Bing and others the moment a page changes; large previews; and a page's own robots rules and canonical address.
- Sitemaps - priority and change frequency rules, the sitemap split into one file per kind, a video sitemap, when Google last read each file, a site map for visitors (
[sitemap /]), and a sitemap made for another site by following its links. - Speed - Google's PageSpeed scores and Core Web Vitals for your main pages, over time.
- Weekly email - an SEO summary every week, with what is worth doing (switch it on in Pro settings).
- Fleet - only on the Domma site manager: every site's SEO figures in one list.
SEO Pro needs the built-in SEO Tool (Domma CMS 0.90 or later) switched on. If your licence lapses, SEO carries on exactly as before without the Pro tabs.
Getting started
- Open SEO in the sidebar.
- Click Monitor, then Check now to run the first full check.
- Click Not found, then Pro settings to review the settings (see Settings below).
- To see Google data, connect Search Console on the Search tab (see below).
Screens
Monitor
Click Check now to run SEO's audit and then check every page's links and images. It also runs on its own every 24 hours unless you change it in Pro settings.
- Tiles: Broken, Through a redirect, Nothing links to, Slow pages and Links checked.
- Score and Broken links charts show each check over time. Hover for the date and value.
- Nothing links to these - pages in the sitemap no other page links to. Link to them from a related page or a menu.
- Slow pages - pages the server took longer than the limit to build (1.5 seconds unless changed).
Links to other sites that answer "not allowed", "too many requests" or time out are shown as could not be checked, not as broken. Right-click a broken link (or ⋮) to open the page it is on, open the link, redirect it, or copy it.
Search (Google Search Console)
The Search tab reads your site's figures from Google Search Console using your own Google client. Nothing goes through anyone else.
This feature has not yet been tested against a live Google account. It has only been tested against a stand-in for Google. If something does not work as described, please report it.
Set up the Google client once:
- Open Google Cloud Console. Pick or create a project.
- Go to APIs & Services > Library and enable the Google Search Console API.
- Set up the OAuth consent screen: choose External, and add your email as a test user (or publish it).
- Go to Credentials > Create credentials > OAuth client ID and choose Web application.
- Back in the Search tab, click Copy next to the redirect address shown in step 3 of the tab, and add it in Google as an authorised redirect URI.
- Copy the Client ID and Client secret from Google, paste them into the Search tab and click Save.
- Click Connect Google. Sign in with the Google account that has this site in Search Console and allow access - SEO Pro reads the figures and sends the sitemap (see Sitemaps). You come straight back to the Search tab.
- Under "Which Search Console property is this site?", choose the property and click Use it. If none is listed, add the site in Search Console, then click Look again.
Once connected:
- Search Console is read once a day. Click Read now to read it straight away.
- Tiles: Clicks, 28 days, Impressions, Click-through and Average position, each compared with the 28 days before.
- Clicks by day and Impressions by day charts.
- Worth working on - "title" means the page is on page one but clicked much less than its place usually gets; a clearer title and description can help. "page 2" means it is just off page one.
- A list you can switch between Searches, Pages and Positions over time (the top 100 searches).
- Right-click a page for Is it in Google? (URL inspection).
The cog button opens Change the property..., Change the Google client... and Disconnect Google. Disconnecting keeps the figures already read. The client secret is kept on the server and is never shown in the admin. If Google stops accepting the connection, a warning asks you to connect again. A connection made before SEO Pro 0.6.0 was read-only: the figures still work, but to send sitemaps from the Sitemaps tab, choose Disconnect Google from the cog and click Connect Google again.
Content
Worked out from the pages on each Monitor check. Click Check now to refresh.
- Links worth adding - a page mentions another page's focus keyphrase (or short main heading) without linking to it. Set focus keyphrases in each page's SEO editor.
- Pages chasing the same search - two pages with the same focus keyphrase. Give each its own, or merge them.
- Near duplicates - pages with almost the same text.
- Readability - reading-ease score (0-100; 60 or more suits most sites), words per sentence, long sentences and passive sentences. English text only.
- Images - images over 300 KB, without width and height, or with meaningless file names.
Rich results
- Click Add to a page.
- Enter the page address (for example
/about). - Choose a kind - FAQ, How-to, Product, Event, Local business, Article, Recipe, Video, Course, App or software, Review or Service - and click Add.
- Fill in the form. Missing required fields show as errors, missing recommended fields as warnings.
- Click Save.
Since 2023 Google shows FAQ results only for well-known government and health sites, and no longer shows How-to results at all. Bing and AI answers still read both, so they are worth keeping where the page really has them. Service has no special Google result, but tells search engines plainly what you do and where.
Only blocks without errors are added to the page. Say only what the page itself shows; data a visitor cannot see breaks Google's rules. Right-click a page (or ⋮) for Edit..., Test in Google, Open the page, Copy the JSON-LD or Remove all of it.
Templates - one block for many pages:
- Under Templates, click Add a template.
- In Pages, enter
/recipes/*(every page under /recipes) or one page's address. - Choose the kind. The form starts filled with
{title},{description},{image}and{date}; these, and{url},{path}and{site}, are filled from each page as it is shown. - Fill in the rest and click Save.
A page that has its own block of the same kind keeps its own.
Bulk
- Every page's SEO title, description, focus keyphrase and hidden (from search engines) in a grid. Filter by Title or description to fix or All (hidden pages show under All).
- Change any cell; changed rows are marked. Click save to write only those rows, and only what changed. Discard throws the changes away.
- CSV downloads every page as a spreadsheet (columns
path,title,description,focus,noindex). Edit it, then Import it: the changes are marked in the grid for you to check, and nothing is saved until you click save. Columns left out of the file are left alone.
Moving from an old site
- Enter the old site's sitemap address (for example
https://old-site.co.uk/sitemap.xml), or paste its addresses, one per line. - Click Match them. Each old address is matched to a page here.
- Tick the ones to redirect and change any target.
- Click the button to create the redirects. Addresses with no match become "gone" (410) redirects.
Click CSV to copy the plan to the clipboard as CSV text. Only public addresses can be read.
Not found
Missing addresses people asked for, with visits in the last 7 days. Filter by Not redirected, From your own links or All, or search.
- Red means a link on your own site leads there. Fix that link.
- Click the fix button to redirect to the suggested page, or right-click (or ⋮) for Redirect somewhere else..., Ignore this address, Forget it, Copy the address or Copy where it came from.
Scanner probes (for example for WordPress pages) are left out. Entries are kept 30 days, up to 2000 addresses.
Indexing
Prove the site is yours. Search engines' webmaster tools ask you to prove you own the site. In each, choose the HTML tag (or meta tag) method, copy the code - or the whole <meta> tag - into the box here and click Save, then click Verify on their side. The tag goes on the home page only.
| Box | Where to find the code |
|---|---|
| Search Console > Settings > Ownership verification > HTML tag | |
| Bing | Bing Webmaster Tools > Add a site > HTML Meta Tag |
| Settings > Claimed accounts > Websites | |
| Yandex | Yandex Webmaster > Add site > Meta tag |
Tell search engines at once (IndexNow). Tick Use IndexNow and click Save. From then on, whenever a page is published, changed, renamed or deleted, Bing, Yandex, Seznam, Naver and Yep are told within a minute. Google does not take part; it reads the sitemap. Click Send every page now once, to tell them about the pages already there. Recent sends shows what was sent and the answer. The site must have its public address set in Settings > General; a site on a private address sends nothing. New key is only needed if the key was shared by mistake.
Previews. Allow large previews on every page (on unless you change it) lets search engines show a large picture and as much text as they like, which Google needs for big pictures in Discover and on phones.
A page's own rules. For the few pages that need them, click Add a page rule:
- Canonical address - only when the page is a copy of another: the address search engines should index instead.
- Don't follow its links, No cached copy, No snippet, Don't index its images.
- Longest snippet (-1 for no limit) and Image preview (none, standard or large).
To hide a page from search engines altogether, use Hide from search engines in the page's SEO editor (or the hidden box on Bulk).
Sitemaps
Every site already has /sitemap.xml, made by the built-in SEO Tool: published, public pages, plus blog posts and other plugin pages, each with the date it last changed. Drafts, private pages and pages hidden from search engines are never in it. This tab adds to it, and with Search Console connected hands it to Google for you.
This site's sitemap. The files search engines are given, and how many addresses each holds. With Search Console connected (the Search tab), each shows when Google last read it and how many addresses it found, or "not sent" if Google has never been given it.
- Send to Google - hands
/sitemap.xmlto Search Console. Right-click a file for Send to Google to send just that one (sending one again asks Google to read it again). Google reads it within a few days; the list shows when. - Send to Google when pages change (on unless you change it) - after a page is published, changed, renamed or deleted, the sitemap is sent again, once a day at most. The site needs its public address set in Settings > General.
- One file per kind, listed in an index -
/sitemap.xmlbecomes an index of/sitemaps/pages.xml,/sitemaps/blog.xmland so on, up to 45,000 addresses each. For big sites, or to see in Search Console which kind of page has problems. Nothing needs sending to Google again. - A video sitemap from the Video rich results (on unless you change it) -
/sitemap-video.xml, named in robots.txt, for every Video rich result with a thumbnail, title, description and either the file or the player address.
Priority and how often pages change. Click Add a rule, enter a page (/about) or a section (/blog/*, or /* for every page), choose a priority (0.0 to 1.0) and/or how often it changes, and click Save rules. The most specific rule wins. Google says it ignores both and goes by the last-changed date, which is always given; Bing and others may read them.
A site map for visitors. Put [sitemap /] on any page - a "Site map" page linked from the footer, or your 404 page - to list every page in the sitemap, grouped by section. It keeps itself up to date. Options:
| Option | Does |
|---|---|
columns="2" | 1 to 4 columns (3 unless you say) |
group="false" | One plain list instead of sections |
exclude="/thanks, /landing/*" | Leaves those pages out |
A sitemap for another site. For a site not built here, such as a customer's old site:
- Enter the address to start at (for example
https://example.co.uk/) and the most pages to read (500 unless you change it, up to 2,000). - Click Make it. It follows the site's own links a few at a time, obeying its robots.txt and its nofollow links. Addresses with a
?are skipped unless you tick Follow addresses with a ? in them. - When it finishes, click Download sitemap.xml, or Copy the addresses.
Only pages that answered, may be indexed, and are their own canonical go in the file. The rest are listed with the reason: moved, hidden, a copy, or an error. Only public web addresses are read.
Speed
Google's PageSpeed Insights for your main pages, mobile and desktop. Click Measure now (people with SEO Manage only, as it uses the site's Google allowance); each page takes Google up to half a minute. It also runs every 7 days unless you change it.
- Tiles for the chosen page: Mobile score, Desktop score, Largest paint, Response to input, Layout shift and Blocking time. Green is good, amber needs work, red is poor.
- "Real visitors" figures come from Chrome users over 28 days, and they are what Google uses for ranking. Pages with few visitors only have the "lab test" Google runs from its own computers.
- Mobile score over time, and Worth fixing: what would save the most time.
- Right-click a page (or ⋮) for Measure it again, Open in PageSpeed Insights or Forget its history.
Choose the pages in Pro settings > Speed (the home page unless you do). Google measures pages over the internet, so the site must be public. Without an API key, speed tests share an allowance with everyone else using PageSpeed without one, and it is often used up. Make a free key in Google Cloud > APIs & Services > Credentials, enable the PageSpeed Insights API for it, and paste it into Pro settings.
Fleet
Only on the Domma site manager. Each site running SEO Pro reports its score, pages needing attention, broken links and missing-page visits every half hour. No page content is sent. Click Refresh to reload.
Settings
SEO Pro's settings are behind the Pro settings button on the Not found tab (top right of the tab). They open in a panel called SEO Pro settings. The built-in SEO Tool's own settings are separate.
| Section | Setting | Default |
|---|---|---|
| Not found | Keep a log of missing pages visitors ask for | On |
| Not found | Keep it (days) | 30 |
| Not found | Count search engines and other robots too | Off |
| Not found | Never log (one address per line; ending with / covers everything under it) | Empty |
| Monitor | Check every link every (hours); 0 checks only when you ask | 24 |
| Monitor | A page is slow after (ms) | 1500 |
| Monitor | Check links to other sites too | On |
| Monitor | At most this many of them | 300 |
| Notices | When links break | On |
| Notices | When the score falls by (points); 0 means never | 10 |
| Notices | When a missing page is visited this often in a day; 0 means never | 20 |
| Speed | Measure every (days); 0 measures only when you ask | 7 |
| Speed | Pages to measure (one path per line, up to 20) | The home page |
| Speed | Google API key (kept on the server; type - to remove it) | None |
| Weekly email | Email an SEO summary every week | Off |
| Weekly email | On | Monday |
| Weekly email | To (one address per line) | The site's contact email |
| Fleet | Report this site's SEO to the manager | On |
Click Save. Send one now under Weekly email sends a test straight away, using the settings already saved. It needs an email server set up in Settings > Email. The weekly email goes from 08:00 on the chosen day.
Verification codes, IndexNow and large previews are on the Indexing tab, not here.
Permissions and roles
SEO Pro has no permission of its own. It uses the built-in SEO permission, in System > Roles under Tools:
| Permission | Action | Lets someone |
|---|---|---|
| SEO | View | See the audit, redirects, sitemap and the Pro tabs; run checks and read Search Console now |
| SEO | Manage | Change titles and descriptions, redirects and settings, including Pro settings, rich results and templates, verification codes, IndexNow, page rules, sitemap settings, old-site redirects and the Google connection; measure speed; make a sitemap for another site |
The Super Admin has it. Give it to other roles in System > Roles if they need it.
Tips
- Check the Not found tab weekly and redirect the busiest addresses.
- Fix red entries on Not found at the source: the broken link is on your own page.
- Test rich results with Test in Google after saving.
- Notices (Broken links, SEO score dropped, Busy missing pages) go to admins.
- Switch on IndexNow and click Send every page now once, as soon as the site is live.
- Use Bulk's CSV to hand titles and descriptions to someone who writes copy, then Import their file.
- Every list has a menu: right-click a row, use its ⋮ button, or press Shift+F10. Clicking a row does the main thing (edit the page, open the redirect panel, and so on). The buttons above each list show how many rows each filter holds.
- Unsaved work is never lost by switching tab or leaving SEO: the Bulk grid, the migration list, rich results, sitemap rules, the Indexing settings and rules, the redirect panel and the Pro settings are kept in this browser and come back the next time you open them. If the page changed elsewhere in the meantime, the kept copy is set aside and you are told. Secrets - the Google client secret, the speed API key - are never kept this way.
Limitations
- The Search tab has not been tested against a live Google account.
- You need your own Google Cloud OAuth client for the Search tab.
- Readability scores are for English only.
- Fleet reporting only works on sites run by the Domma site manager.
- Speed and IndexNow only work for a site on a public address.
- Speed tests without an API key share Google's allowance, which is often used up.
- IndexNow does not reach Google.
- The sitemap for another site follows links only: pages nothing links to are not found.