Skip to content

How-to

Find sitemaps and machine readable site files

Download Markdown

Checked against the product’s code on 7 November 2026.

Find the sitemap at /sitemap.xml on your site’s own address. This index links to the site’s XML sitemaps. The route table below also covers crawler rules and readable copies of published pages and posts for search engines and AI tools.

Check them on your site’s own address before connecting an integration.

Route Purpose
/robots.txt Crawler directives from the site’s bot policy, with EmDash’s SEO settings as a fallback when that policy supplies none.
/sitemap.xml XML sitemap index. The host supports native sites and sites shaped by a WordPress migration.
/sitemap-pages.xml, /sitemap-posts.xml Published, indexable content addresses.
/sitemap-taxonomies.xml Taxonomy archives on sites shaped by a WordPress migration.
/llms.txt A guide linking the readable content resources and entries.
/sitemap.md A Markdown sitemap.
/content/index.md A Markdown index of exported content.
/content/pages/<slug>.md Markdown for one page. Replace <slug> with its actual slug.
/content/posts/<slug>.md Markdown for one post. Replace <slug> with its actual slug.
/content/jsonld.json Structured content with validation results.
/content/openapi.json A description of this reading surface.
/content/mcp.json Resource descriptions for tools that understand MCP metadata. It is not a running MCP server.
/content/validate.json A report comparing exported facts with the public content used to produce them.
/feed.xml The post feed.

The OpenAPI descriptor lists GET operations. It does not define writes to site content. A Markdown copy is a content representation, not a copy of the page’s visual layout or interactive behavior.

A draft does not appear in /llms.txt or the public content pack. The content pack selects published pages and posts. It excludes entries protected by a WordPress password brought in by a migration, and entries marked noindex in their content SEO settings. Restricted pages and posts pass through the anonymous content gate before Markdown is created, so the export contains the public portion.

If an entry’s access cannot be checked, that entry is left out of the public content pack rather than exported with a blank body. Its individual Markdown address can return 404 during that failure, even for a public entry. Retry before treating an omitted entry as a deletion.

The index has a fixed entry ceiling. Do not use it as a replacement for a full site export or as proof that every entry in a large site was included.

Sitemap entries also exclude content marked noindex. Search visibility and access control remain different settings. A crawler directive is not a substitute for the content access gate.

Links in these resources use the origin of the request that served the file. On the platform address, they use that address. On an active custom domain, they use that domain.

Check the returned links after a domain change. If a file names an unexpected host, report the file and the address you requested to support.

Site → Readiness shows the bot and agent policy. Ask the copilot to change it through an approval card. The policy distinguishes discovery, AI search and training access.

EmDash’s own Settings → SEO includes a robots text field. While a Praxis bot policy supplies robots text, that policy takes precedence.

The code can produce crawler directives. It does not prove that every remote crawler obeys them.

  1. Set SITE_ORIGIN to the site’s real HTTPS origin. The example domain below is a placeholder.
  2. Read /llms.txt to find the content resources and entries.
  3. Read /sitemap.xml to find the XML sitemaps.
  4. Read /content/validate.json for the exported-fact comparison report.

The commands below make those public reads:

Terminal window
SITE_ORIGIN="https://your-site.example"
curl -fsS "$SITE_ORIGIN/llms.txt"
curl -fsS "$SITE_ORIGIN/sitemap.xml"
curl -fsS "$SITE_ORIGIN/content/validate.json"
  1. Review the returned hostnames, published entries and validation warnings.
  2. Check a restricted test page as an anonymous reader too.

Limits. These reads do not validate private admin access or an external agent’s ability to change the site.