llms.txt and structured data: preparing your site for AI
Structured data established, llms.txt emerging: the framework for deciding
Two things are established, one is emerging: schema.org structured data helps classic engines, whereas llms.txt as a signal read by the major AI engines remains unconfirmed. To decide correctly, you have to separate what is established from what is emerging or uncertain.
- Established: schema.org structured data helps engines understand a page and make it eligible for the rich results of classic search. A crawlable and indexable site is the foundation.
- Emerging or uncertain: llms.txt as a signal read by the major AI engines, and any proven causal link between schema.org and being cited by an AI.
No site publisher can guarantee a citation by ChatGPT, Perplexity or Google's AI Overviews. What follows describes low-cost best practices, with no promise of results.
llms.txt, what is it
llms.txt is a convention proposed by Jeremy Howard (co-founder of Answer.AI) on September 3, 2024. It is a Markdown file placed at the root of the site, at /llms.txt, that lists key pages and their description to help a large language model build a good context from the site. An llms-full.txt variant gathers more complete content.
The idea makes sense on paper: a website is often heavy with navigation, scripts and ads, whereas an LLM would benefit from receiving a condensed, clean version of the useful content. The format is deliberately simple: a title, a summary, then lists of annotated links.
Actual adoption status
This is where you have to be honest. Adoption of llms.txt by the major AI engines is very limited and unconfirmed.
- Google explicitly states it does not use it. John Mueller compares it to the keywords meta tag: a self-declared, therefore manipulable, signal of the kind that engines eventually abandoned. He even notes that server logs show Google's crawlers do not check for the file's presence.
- AI crawlers almost never read it. An Ahrefs study covering 137,000 sites reports that roughly 97% of llms.txt files are never read.
- No official confirmation from OpenAI, Anthropic or Perplexity of any use of llms.txt as a signal in their answer surfaces. Publishing an llms.txt (which publishers like Anthropic, Stripe or Mintlify do for their documentation) is not the same as an engine reading it as a ranking or citation signal.
Conclusion: llms.txt today is useful at best for internal agents, documentation tools or custom integrations that choose to consume it. It is not a proven lever for SEO or for citation by AI.
Should you add an llms.txt?
Short answer: you can, without expecting any measurable gain on the AI engine side. The math is simple.
- Cost: low. It is a static text file to maintain.
- Benefit: uncertain. No major AI engine has confirmed using it; log studies show negligible usage.
If you add it, do it for good reasons: making the work easier for agents or tools that choose to read it, or cleanly documenting your site structure. Never present it internally as a guarantee of being cited by an AI, that would be false. Concretely: create an llms.txt file at the root, with a title, a one-line summary, then sections of links to your important pages, each with a short description. Keep it up to date as your site evolves, otherwise it drifts and loses all value.
Structured data (schema.org), the solid lever
Structured data is a standardized markup, most often in JSON-LD following the schema.org vocabulary, that explicitly describes what a page is: an article, an organization, a question-answer, a breadcrumb, etc. Unlike llms.txt, its role is established.
What it provides (and what it does not)
- Content understanding: it removes ambiguity about the nature and structure of the page.
- Rich results: it determines eligibility for the rich results of classic search (review stars, FAQ, breadcrumb, etc.).
- Not an AI silver bullet: Google specifies that no special schema.org structured data is required to appear in AI Overviews or AI Mode, and that there is no machine-readable file to create for that. The causal link between schema.org and being cited by an AI is not demonstrated. Be wary of figures like sites with schema cited 3.2x more often: they circulate without a verifiable primary source.
Useful types by page type
| Page type | Recommended schema |
|---|---|
| Article, guide, post | Article |
| Question-and-answer page | FAQPage (with Question and Answer) |
| Entity identity | Organization or Person |
| Navigation | BreadcrumbList |
| Home page, site | WebSite, WebPage |
| Service offering | Service, ProfessionalService |
Why schema remains the right investment: Google's AI Overviews are anchored in the search index. The official documentation states that a page must be indexed and eligible to appear in Google Search with a snippet in order to appear as a supporting link in AI Overviews or AI Mode. In other words, taking care of your presence in classic search (where schema.org plays a real role) stays consistent with a presence on the AI surfaces, even if the selection does not follow the exact order of the web ranking.
Six steps: from schema.org JSON-LD to optional llms.txt
In six steps, from the most useful to the most optional: map the pages, add the suitable schema.org JSON-LD, validate, make it crawlable, add an optional llms.txt, then maintain.
- Map your pages and entities. List your page types (home, guides, FAQ, services) and the entity that publishes (your organization or yourself). This is the basis of the markup and, incidentally, of a possible llms.txt.
- Add the suitable schema.org JSON-LD by page type. Insert an
application/ld+jsonblock per page:Articleon guides,FAQPageon question-and-answer pages,OrganizationorPersonfor the entity,BreadcrumbListfor navigation. Fill in exact values consistent with the visible content. - Validate the markup. Run each page type through a rich results test tool and the schema.org validator to fix errors and warnings before going live.
- Make the site crawlable and indexable. Check the
robots.txt, the presence of asitemap.xml, effective indexing and snippet quality. This foundation, more than any AI-dedicated file, determines eligibility for the search and AI surfaces. - (Optional, low cost) Add an llms.txt. If you wish, publish a
/llms.txtlisting your key pages. Do it without expecting any gain on the AI engine side, keeping its limited adoption in mind. - Check and maintain. The markup must stay in sync with the content: structured data that lies about the page is counterproductive. Redo the validation after each redesign.
To go further on the underlying logic, see SEO, AI and GEO and being cited by ChatGPT and Perplexity.
Concrete example: this site
Going for Growth applies these recommendations on goingforgrowth.net: schema.org markup (Article, FAQPage, BreadcrumbList, Person on the guides; WebSite, WebPage, Organization on the home page) and a published /llms.txt file, but treated for what it is: a low-cost convention. Which lets me speak from practice rather than theory.
- Structured data: the home page notably uses
WebSite,WebPage,Organization(viaProfessionalService),PersonandFAQPage; the guides carryArticle,BreadcrumbList,FAQPageandPerson. The markup faithfully describes the visible content, without inflating it. - llms.txt: a
/llms.txtfile is published, listing the services, some proof points and the contact. It is treated here for what it is: a low-cost convention, not a proven citation lever.
Going for Growth is run by Fabien Cavanna, a sole operator. Setting up structured data and maintaining a crawlable site are part of a body of automation and organic acquisition work where I always distinguish what is measurable from what is hypothesis.