The tags.
Title, description, robots, canonical, Open Graph and Twitter card.
BUILD · SITE · SEO AND AI READINESS
Every page carries the tags search engines expect. One governed policy says which crawlers and AI agents may read what. The site publishes plain files for machines, and a readiness report measures what they find. This page describes each one, as of October 2026.
Title, description, robots, canonical, Open Graph and Twitter card.
JSON-LD: WebPage and BlogPosting on content pages, and CollectionPage, BreadcrumbList and WebSite on archives. Paywalled pages are declared as such. Product and FAQ types join them, for your shop's products and your questions and answers. Coming soon.
An X-Robots-Tag header, set site-wide once a bot policy is applied.
Google and Bing verification tags, set in EmDash's own Settings › SEO.
Absolute, and built on your primary domain unless the page names its own. One canonical address for the whole site, and the other addresses you choose redirect to it.
Alternate-language links for English and Spanish versions.
The twelve files
Site › SEO explains each file a Praxis site publishes for machines: what it is, who reads it, and why it matters.
"the crawl policy, exactly as served". Every well-behaved crawler fetches it first.
"the sitemap index search engines read first".
"every published page", with its last-updated time.
"every published post".
"category and tag archives".
"the site map in Markdown, for AI agents".
"the RSS feed of recent posts": the ten newest, with members-only bodies cut.
"the AI-agent guide to this site".
"the content catalog in Markdown".
"the schema.org description of the site's content".
"the machine-readable description of the content API": the read-only content files above, described in the OpenAPI format.
"the Model Context Protocol descriptor": it describes the site's resources for agents.
Which sitemaps the index lists depends on the site, and a site moved from WordPress keeps WordPress's own set of them.
The readiness score
The report reads the served home page and the current bot policy, and scores what a crawler or an agent would meet there.
| Check | Weight | What it asks |
|---|---|---|
| Crawlability | 15 | Does the page return 200, allow indexing, name a canonical and supply robots.txt? |
| Policy | 15 | Do robots.txt and the page headers carry an AI policy? |
| HTML completeness | 15 | How much readable text is in the served page? |
| Extraction | 15 | Is there readable text and a faithful Markdown copy? |
| Structured data | 10 | Does the page contain JSON-LD? |
| Accessibility | 10 | Are there headings, labels and page landmarks? |
| Freshness | 5 | Does the page carry dates or last-updated signals? |
| Feeds | 5 | Are there a sitemap reference and RSS or Atom feed links? |
| Task readiness | 5 | Does the page offer forms and buttons for a task? |
| Defensive risk | 5 | Does the page carry an obvious prompt-injection phrase? |
each check scores from 0 to 1 and contributes its weight times that score. Missing facts in the served page cap extraction at half. The report lists every cap it applied under "Caps applied".
| Setting | Where it lives | How it changes |
|---|---|---|
| A page's title, description, social card, canonical and "Hide from search" | Site › SEO, and the copilot | Behind a card, or as an AI draft you approve, with an undo |
| Site-wide defaults | Site › SEO › "Site defaults & robots" | Set on that tab, or drafted with "Help me fill it out" |
| Verification codes, the title separator, the default social image | EmDash's Settings › SEO | Saved on that screen; through the copilot, behind a card |
| Crawler and AI-agent access | The bot policy | Only through the copilot, behind "Apply this bot-access policy?" |
| Old addresses | EmDash's Redirects screen | Saved on that screen; through the copilot, behind a card |
Every draft from "Fix with AI" is labelled, waits for you, and can be undone.
The robots file, the meta tags and the header all come from the same policy.
The policy changes only behind its own card, with an undo.
The policy says when a protected path has no real protection.
The agent files are published content only, and none of them can change the site.
Every readiness check shows why it scored as it did.
Yes. The preset "discoverable but not trainable" refuses training and keeps AI search and page fetches open. Ask the copilot to apply it, and the card shows the change first.
It gives search engines the tags, sitemaps and structured data they expect. How they rank a page is theirs to decide.
A plain-text guide for AI agents: what the site is, and where its readable copies live. On Praxis it lists up to 500 published entries, each with its Markdown copy.
No. They are read-only, and they hold published content only.
Your home page as it is served, and the current bot policy.
Each item's title, description, canonical, robots and social fields arrive as its native SEO record. Yoast, Rank Math, SEOPress and AIOSEO are read.