Updated 19 October 2026: added what Search Console’s first report found in our review markup, and a structured data check to the checklist.
Search visibility is usually the first thing a WordPress owner worries about when considering emDash, because so much of WordPress SEO lives in plugins and in the hours someone spends tending them. Two things change on emDash. Most of the SEO essentials are built into the platform itself. And because every emDash site ships with a built-in connection for AI agents, much of the ongoing SEO work — the metadata, the alt text, the internal links, the fixes that follow a Search Console report — can be delegated to an agent working under your supervision.
This piece sets out both: what we configured and found on this publication, and what agent-led SEO maintenance makes possible for any emDash site.
What emDash gives you out of the box
| Need | In emDash | Note |
|---|---|---|
| Title, description, social image, canonical, noindex per page | SEO panel on each entry | Enabled per content type |
| Meta tags, Open Graph, social cards | Rendered by emDash's head component | The template has to include it |
| Structured data | BlogPosting and WebSite | Extra types are the template's job, and Google's rules for rich results are stricter than schema.org's |
| Sitemaps | A sitemap index plus one per content type | Up to 2,000 entries per file |
| robots.txt | Generated, with the sitemap referenced | Editable in Settings |
| Redirects | Redirects manager, 301 on slug change, 410 and 451 rules | Plus a log of missed URLs |
| AI training opt-out (1.3) | One switch in Settings | A request to crawlers, not an enforcement |
| Imported SEO fields | Yoast and Rank Math titles and descriptions | Through the WordPress exporter plugin |
| Agent access | A built-in MCP server | On by default; permissions chosen when an agent connects |
The gaps we closed
None of these is a flaw in emDash; each is a place where the platform hands responsibility to the site. They are worth checking on any emDash build.
| Gap | What we found | What we did |
|---|---|---|
| Page titles | The template used the full headline in the browser title, ignoring the shorter SEO title | Wired the SEO title into the page title, keeping the full headline for social cards |
| Home page heading | The design had no visible main heading, so the page had no h1 | Added a visually hidden heading with the site name and tagline |
| Empty sections | Category pages with no articles were indexable thin pages | Marked them noindex until they have content |
| Extra structured data | No breadcrumb, organisation or review data, and our first review markup failed Google's rules | Added all three, without duplicating what emDash already emits, and corrected the review markup after Search Console flagged it |
| Canonical URLs | Trailing slashes and capital letters produced duplicate URLs | Redirected both to one lowercase, slash-free form |
| News sitemap | Not part of emDash | Added a Google News sitemap of the last 48 hours |
| robots.txt caching | The generated file was cached for a day and not refreshed when settings changed | Capped it at an hour and linked it to settings changes |
One configuration detail is easy to miss: if you write a custom robots.txt that mentions any sitemap, emDash stops adding its own sitemap line, so every sitemap you want crawlers to find has to be listed by hand.
What a crawl found
Before launch we crawled the live site with a small read-only script that follows every internal link and checks each page against its sitemap and its own metadata. On the final pass, all thirty pages answered correctly, every canonical pointed at itself, and there were no duplicate titles or descriptions. Three items remained, all accepted:
emDash's sitemaps cover content entries, not the home page, categories or author pages. Internal links reach them, which is sufficient.
A navigation link points at an address that redirects. Harmless, but a direct link is marginally better.
Tag pages had no meta description. They are editable in the admin, and worth a sentence each.
A crawl checks links, canonicals and metadata. It does not check structured data against Google’s rules for rich results, so it is not a substitute for testing a page of each template in Google’s Rich Results Test.
SEO maintenance with an AI agent
Launch is the easy part of SEO. The ongoing work — writing and refreshing titles and descriptions, adding alt text to every image, keeping internal links current, and acting on what Search Console reports — is where most sites quietly fall behind, because it is repetitive, never urgent, and usually sits in someone's backlog or an agency retainer.
On emDash, that work can be delegated. Every emDash site ships with a built-in MCP server, the standard interface that lets AI assistants act on a system. An editor connects Claude, ChatGPT, Codex or another compatible agent to the site's MCP address, signs in, and chooses which permissions to grant. The agent can then read and edit content, media, taxonomies and menus directly in the CMS — the same actions an editor takes in the admin, through a governed interface rather than a browser.
| SEO task | What the agent does | What you review |
|---|---|---|
| Titles and meta descriptions | Writes or rewrites the SEO title and description on each entry, within length limits, in the site's voice | The proposed changes, before they are published |
| Image alt text | Reviews each image in the media library and writes descriptive alt text where it is missing or generic | A sample, then the batch |
| Orphan pages | Reads every published entry, maps which pages link to which, and lists pages that nothing links to | The list, and where links should go |
| Internal linking | Adds contextual links between related articles, and to cornerstone pages, as draft edits | The draft, side by side with the live version |
| Excerpts and summaries | Writes missing excerpts, which emDash uses as the description fallback and on cards | Tone and accuracy |
| Taxonomy hygiene | Finds near-duplicate tags, thin categories and missing category descriptions | Merges and removals |
| Content refreshes | Updates outdated facts, versions and dates, and flags pieces that need a human rewrite | Every factual change |
Most of this site's own SEO housekeeping was done this way. SEO titles, meta descriptions and excerpts, the related-article links between pieces, and the pre-launch crawl and its fixes were carried out by an AI agent working through emDash's interfaces, with each change reviewed before it was published.
Adding Search Console: from data to action
The larger opportunity comes from combining two connections. An agent that can read the site through emDash and read search performance through a Google Search Console connector can work from evidence rather than guesswork, then make the change itself.
Find pages with many impressions and few clicks, then rewrite their titles and descriptions to match what searchers are actually typing.
Find queries where a page ranks just off the first page, then strengthen that page's content, headings and internal links.
Spot pages losing clicks or impressions month on month, and propose a refresh before the traffic is gone.
Surface queries the site appears for without a page that answers them, as briefs for new articles.
Our own first Search Console report shows the loop in practice. Soon after we added the site, it flagged three structured data issues on our review of emDash Forms. Two would stop the page from showing review stars at all. The agent read the page’s markup, traced the errors to two causes and proposed the fix. The review was not linked to the product it reviewed, so the markup described a generic “thing” rather than a piece of software. The author was a pointer to another page, which Google does not follow, so the page never named who wrote it. One content edit and one template change fixed both, and a person reviewed the change before it went live. The markup was valid schema.org throughout, so our pre-launch crawl had no reason to flag it. Only Google’s stricter rules for rich results caught it.
The economics shift accordingly. Work that typically sits in an SEO agency's monthly retainer — the routine audit, the metadata rewrites, the internal-linking pass, the performance report — can run continuously in-house, at the cost of an AI subscription and an editor's review time. Specialist support still earns its place for strategy, technical audits and competitive positioning; the routine execution an agency needs to carry falls.
The recommendation, by where you sit
- Running a WordPress site that works. SEO is not a reason to stay or to go: the essentials are covered. What protects rankings in any move is the redirect map. What changes after a move is the cost of keeping SEO current, because an agent can carry most of the routine work.
- Commissioning a new site. Ask for the crawl report at handover and proof that the page title uses the SEO field. Then budget for the operating model rather than a retainer: an agent connected to the CMS and Search Console, with a named person reviewing its changes.
- Running an agency. The launch checklist is a repeatable deliverable, and agent-led maintenance changes what clients pay for: less routine execution, more strategy and oversight. Packaging the agent workflow — prompts, permissions, review cadence — is itself a service. The wider build is described in what we learned running emDash in production.



