Skip to content
DocsGo to Dashboard
Serve an llms.txt

The llms.txt content action drafts a file from evidence in your latest audit

Drafts are generated for you, then reviewed by you. When an audit completes, content-action generators compare the evidence against what is already configured and — if something is missing or broken — write a draft into the Generated drafts list. There is no "Generate" button to press: run the audit, get the draft.

SEO & AI Search Generated drafts list showing metadata, schema, llms.txt, and redirect drafts with status badges and action buttons
Four content-action kinds side by side: draft rows offer Approve and Reject, the approved llms.txt row offers Publish.

Where to look#

Open the domain → Optimization → SEO & AI Search (domain detail section Injection settings, SEO rules, and generated drafts.). The third accordion, eyebrow AI drafts / heading Generated drafts, opens automatically whenever drafts exist. Its hint reads: Audit-generated metadata and schema drafts. Approving a draft deploys it as a rule when auto-injection is enabled. Data comes from GET /v1/domains/:id/content-actions.

What a draft row shows#

  • Title — for llms.txt either Fix llms.txt (exists but broken) or Publish llms.txt (absent).
  • Status pill — raw status: draft, approved, rejected, published, or exported.
  • Meta line — the action id (which is the kind: llms-txt-publish, metadata-draft, schema-markup-publish, broken-link-redirect-proposal) followed by · and the target URL.

Buttons depend on status: Approve + Reject while draft, Publish once approved. Exported drafts additionally show their text inline. Empty state: No generated drafts yet. Run an audit to generate metadata and schema drafts., paginated as drafts.

The drafts list is shared across all four action kinds — metadata, schema, llms.txt, and broken-link redirects — so a single audit often lands several rows at once, each distinguishable by its action id. Paginated as drafts, the accordion remembers its open state only while drafts exist; with none, the empty state plus the Add rule / injection sections above are all you see. The endpoint behind it (GET /v1/domains/:id/content-actions) is also what the panel refetches after every approve, reject, or publish, so statuses never go stale on screen.

The llms.txt generator, specifically#

It skips when the audit's llmsTxt is already found && valid, and otherwise attaches the evidence line geoReadinessReport.llmsTxt: found=…, valid=… with proposed file content. Approving moves it forward; publishing does the real work — see Publish from the edge.

Back to Serve an llms.txt