The llms.txt file is written as a single document in the block editor, under Settings > LLMs.txt. A draft is created on each site the first time an administrator opens wp-admin there; nothing is served until you publish it. Only one document can be published at a time: the first one published becomes the site’s document, and publishing a second one saves it as a draft instead and shows a notice. Until a document is published, /llms.txt serves just the site name and tagline.
The document can also be drafted by an AI agent through the plugin’s abilities, which check every link as they go. They only write while the document is a draft, and never publish it: a person reviews and publishes it, and changes to a published document are proposed for review with LH Agora.
Keep it short
llms.txt is an index, not a sitemap: a summary of the site and the handful of pages an agent should read first, each with a line saying why. To cover a whole collection, such as every plugin or every news post, link once to its archive page rather than listing every item. Archive pages are served as Markdown too, as a paged list of links, so an agent that follows the link can read the whole collection.
How the document maps to llms.txt
The editor offers only three blocks, each of which maps directly to part of the llms.txt specification:
- Excerpt. The document’s excerpt becomes the blockquote summary under the site name.
- Paragraph and List blocks. Free-form detail, placed after the summary and before the sections.
- LLMs.txt Section block. A heading plus a list of links, output as a
## Headingsection followed by its linked items. A section titled Optional marks links an agent may skip.
Each item in a section’s list is a link, optionally followed by a description after a colon or an em dash:
[Label](https://example.com): Optional description
[Label](https://example.com) — also works with an em dash
[Label](https://example.com)llms.txt and llms-full.txt
/llms.txt serves the document as described above. /llms-full.txt serves the same content and then appends the full Markdown of every linked page.
Links to this site are read straight from the database, with no HTTP request, and produce exactly the Markdown that page would return to an Accept: text/markdown request. The same rules apply: password-protected, private, unpublished and opted-out pages are left out.
Links to other sites are fetched, asking for text/markdown first and text/html second, so a site that supports Markdown content negotiation returns clean Markdown directly. Each response is limited to 1 MB and cached for 12 hours, or for an hour if the fetch failed, so llms-full.txt does not refetch every link on every request.
