llms.txt is a proposed text file, written in Markdown and placed at the root of your website, that gives AI assistants a short, curated summary of what your organization is and which pages matter most. It is a proposal rather than an adopted standard: as of September 2026, Google states that Google Search ignores the file, and no major AI company documents reading it from other people’s websites. For a nonprofit it is a low-risk addition that takes under an hour in WordPress, but it belongs after two things AI systems demonstrably use: content that is readable without JavaScript, and schema markup.
We publish an llms.txt on elevationweb.org, so this guide is written from the implementation side: what the file is, what the evidence says about it, and how to add one without breaking anything. For the wider picture, our guide to generative engine optimization (GEO) for nonprofits covers where the file fits among everything else.
What is llms.txt?
llms.txt is a proposal published by Jeremy Howard on September 3, 2024, at llmstxt.org. Large language models, the technology behind ChatGPT, Claude, Gemini and similar assistants, can only hold so much text at once, and a whole website rarely fits. In the proposal’s words, “Context windows, while larger than they were, are still too small for most websites in their entirety, and every wasted token costs time and money.” So instead of crawling your whole site to work out what you do, a tool can read a one-page index.
The file lives at /llms.txt on your domain (for example, https://www.yournonprofit.org/llms.txt) and follows a fixed order:
- An H1 heading with the name of your organization or site. This is the only required part.
- A blockquote with a short summary of what the site is about.
- Any number of ordinary Markdown paragraphs with more detail.
- Any number of H2 sections containing lists of links, each a Markdown link followed, optionally, by a colon and a short note.
The proposal reserves one section name: “The ‘Optional’ section is used, by convention, for secondary information: links an agent can skip when a shorter context is needed.” It also suggests that important pages offer a clean Markdown copy of themselves at the same address with .md appended, so an assistant can read the substance of a page without the navigation, scripts and styling around it.
What does llms.txt actually do, and what does it not do?
What it does is modest. It gives any tool that chooses to fetch it a curated map of your site in a format models read easily. Adoption is clearest in developer documentation: Anthropic, OpenAI and Perplexity each publish an llms.txt for their own docs, and Anthropic’s runs to several hundred links organized by product area, which is the job the format was designed for.
What it does not do, as of September 2026, is influence search or AI answers in any way the platforms will confirm:
- Google Search ignores it. Google’s guide to optimizing for generative AI features, last updated July 10, 2026, says: “You don’t need to create new machine readable files, AI text files, markup, or Markdown to appear in Google Search.” Creating them “will neither harm nor help your site’s visibility or rankings in Google Search, as Google Search ignores them.” The guide names llms.txt and calls maintaining one for other systems “completely fine.”
- AI Overviews and AI Mode have no extra requirements. Google’s page on AI features in Search states there are “no additional requirements to appear in AI Overviews or AI Mode, nor other special optimizations necessary.”
- No AI company documents reading it from your site. The crawler documentation from OpenAI, Anthropic and Perplexity (linked below) names robots.txt as the control for their bots. OpenAI and Perplexity link to llms.txt files for their own documentation, but none of the three describes its crawlers fetching the file from other websites.
- It is not a crawl control. Whether an AI crawler may fetch your pages is decided in robots.txt, and the proposal itself says the two files “have different purposes”: robots.txt tells automated tools what access to a site is acceptable, while llms.txt is read on demand when an assistant needs information about a topic. The next section covers which crawlers honor which file.
In practice, llms.txt is a courtesy you extend to tools that may read it, at almost no cost. It does not move rankings or citations today, and claims that it does are ahead of the evidence.
How does llms.txt relate to robots.txt and AI crawlers?
Most of the confusion sits here, so it helps to separate the four files people lump together.
| File | What it is for | Who honors it |
|---|---|---|
| robots.txt | Tells crawlers which URLs they may fetch. | Search engines and the major AI crawlers; user-triggered fetchers are the exception. |
| sitemap.xml | A complete list of your indexable URLs. | Search engines. |
| llms.txt | A short, curated Markdown summary of your site for AI assistants. | Advisory. No major AI provider documents using it as of September 2026. |
| Schema markup | Structured facts inside your pages (organization, FAQ, events). | Google documents using it for rich results; it also makes pages clearer to any parser. |
robots.txt comes first. If it blocks an AI crawler, your llms.txt is irrelevant to that crawler, because it will never ask for your pages. Before writing the file, open your own robots.txt and check whether any of these user agents are disallowed, intentionally or not:
- OpenAI (crawler documentation): OAI-SearchBot surfaces sites in ChatGPT search, and “Sites that are opted out of OAI-SearchBot will not be shown in ChatGPT search answers.” GPTBot is used for model training. ChatGPT-User fetches pages when a user asks, and for those requests “robots.txt rules may not apply.”
- Anthropic (crawler documentation): ClaudeBot collects content for training, Claude-SearchBot analyzes pages for search relevance, and Claude-User fetches pages during user queries. Each can be blocked by name.
- Perplexity (crawler documentation): PerplexityBot surfaces sites in Perplexity results and “is not used to crawl content for AI foundation models.” Perplexity-User handles user requests and “generally ignores robots.txt rules.”
- Google (crawler documentation): the Google-Extended token controls whether your content is used for Gemini training and grounding, and Google states it “does not impact a site’s inclusion in Google Search nor is it used as a ranking signal in Google Search.”
A blanket rule added to slow down aggressive scrapers, before AI crawlers existed, can quietly block the search-oriented crawlers you want. It is the first thing we check in an AI discoverability review, and it matters far more than whether an llms.txt exists.
Does your nonprofit need an llms.txt file?
No nonprofit needs one. Some will benefit, and the cost is low enough that we recommend it once the fundamentals are in place. Our order of priority for a nonprofit that wants AI assistants to describe it accurately:
- Content that exists in the HTML. Vercel’s analysis of AI crawler behavior, published December 17, 2024, found that GPTBot, ClaudeBot and PerplexityBot fetch HTML but do not render JavaScript (Gemini, on Googlebot’s infrastructure, does). When we run AI Visibility Scorecards we constantly see visually excellent sites whose raw HTML is nearly empty because the content is drawn by JavaScript. Those sites are hard for AI crawlers and screen readers alike, and no index file fixes that.
- Schema markup on the pages that matter. Google’s AI optimization guide calls structured data optional for its generative AI features but still recommends it for rich results, and structured facts are easier for any parser to read. Our plain-English guide to schema markup for nonprofits covers the organization, FAQ and event types that apply.
- A robots.txt that allows the crawlers you want, per the list above.
- Clear, answer-first pages for the questions donors and clients actually ask: who you serve, where, how to give, how to get help. Our guide to getting cited by ChatGPT and other assistants covers what those pages need.
- Then llms.txt. By this point the file is mostly a summary of work already done, which is the right order.
If you have thirty minutes this month, run the free AI Visibility Scorecard to see what assistants currently say about you, view the source of your homepage and donation page to confirm the mission text is actually in the HTML, and check robots.txt for accidental blocks. The file comes after that. Writing it does have one benefit unrelated to machines: someone has to state, in a paragraph, what the organization does and for whom, and choose the twenty pages that matter most, which usually improves the homepage too.
How do you add llms.txt in WordPress?
WordPress core generates a virtual robots.txt on request (the do_robots function, which developers can change through the robots_txt filter), but it does nothing similar for llms.txt, so the file has to come from you or from a plugin.
Option A: a static file at the web root
- Write the file in a plain-text editor (not Word or Google Docs, which add formatting) and save it as llms.txt with UTF-8 encoding.
- Upload it to the root of your site, the folder that holds wp-config.php, using SFTP or your host’s file manager. It must answer at /llms.txt, not from inside wp-content or a theme folder.
- Open the URL in a private browser window. You should see plain text, not a WordPress 404 or a styled page. If you use a caching layer or CDN, purge it and check again.
- If your developer deploys the site from a repository, add the file there so a deployment does not overwrite it, and put the URL on your maintenance checklist for a quarterly review.
On most hosts a real file at the root is served before WordPress runs. If you also enable a plugin that generates the file, keep one source of truth, because the second version is the one that goes stale without anyone noticing.
Option B: let an SEO plugin generate it
Three options, verified on the vendors’ own sites in September 2026:
- Yoast SEO includes llms.txt generation in the free plugin (“Built into Yoast, free for everyone”). You switch it on under the site features settings, and it produces a Markdown file describing the site and its important content.
- All in One SEO enables the feature by default and manages it under Sitemaps, in the LLMs.txt tab. You can choose which post types and taxonomies to include, exclude specific posts and pages, turn on “Convert Posts to Markdown” and generate a companion llms-full.txt (the full text of your pages in one Markdown file). Our own file on elevationweb.org is generated by this plugin.
- Website LLMs.txt is a free, single-purpose plugin on WordPress.org with 40,000-plus active installations as of September 23, 2026, for sites that use neither SEO suite.
The trade-off with generated files is that they list everything by post type, which quietly turns llms.txt back into a sitemap. Whichever plugin you use, look at the output, exclude what does not belong (old news items, internal pages, tag archives) and make sure the summary at the top reads like something you would say to a new board member. If the plugin will not let you edit the summary, write the file by hand.
What should a nonprofit put in its llms.txt?
Keep it short, factual and current. A workable structure, in the proposal’s format:
# Riverside Food Alliance
> Riverside Food Alliance is a 501(c)(3) food bank serving Riverside and Adams counties through 42 partner pantries and school programs.
Founded in 1998. Programs are free to anyone in the two-county service area. Donations are tax-deductible.
## Give
– [Donate](https://www.example.org/donate/): one-time and monthly gifts
– [Ways to give](https://www.example.org/ways-to-give/): stock, donor-advised funds, employer matching
## Get help
– [Find a pantry](https://www.example.org/find-food/): locations, hours, eligibility
## Programs
– [School pantries](https://www.example.org/programs/school-pantries/)
– [Senior grocery delivery](https://www.example.org/programs/senior-delivery/)
## About
– [Mission and history](https://www.example.org/about/)
– [Financials](https://www.example.org/financials/): audited statements, Form 990
– [Contact](https://www.example.org/contact/): phone, email, media inquiries
## Optional
– [News](https://www.example.org/news/)
– [Volunteer](https://www.example.org/volunteer/)
The organization is invented for illustration; the structure is what matters. Rules we apply when we write these for clients:
- Use full, absolute URLs and check every one before you upload.
- Write the notes after each link as plain facts. “Locations, hours, eligibility” helps a model route a user; “Discover how we’re transforming lives” does not.
- Put the pages a donor or client would need first: give, get help, programs, contact. Save history, press and archives for the Optional section.
- Make sure the file matches what the pages say. Assistants that fetch it will read the pages next, and a different service area or a retired program undermines the whole point.
- Include your legal name, EIN if you publish it elsewhere, and service area, since these are the facts assistants most often get wrong about nonprofits.
llms.txt FAQs
Is llms.txt an official web standard?
No. It is a proposal published by Jeremy Howard on September 3, 2024, at llmstxt.org, and as of September 2026 no standards body has adopted it. Several AI companies publish one for their own documentation, but none documents reading the file from other people’s websites.
Does llms.txt help with Google rankings or AI Overviews?
No. Google’s guide to optimizing for generative AI features, updated July 10, 2026, says Google Search ignores llms.txt and similar files, so creating one neither helps nor harms visibility in Google Search, AI Overviews or AI Mode. Google adds that AI Overviews have no requirements beyond ordinary SEO.
Do ChatGPT, Claude or Perplexity read llms.txt?
Not that any of them documents. OpenAI, Anthropic and Perplexity each name robots.txt as the control for their crawlers, and none describes fetching llms.txt from other websites. Treat any benefit as possible rather than proven.
What is the difference between llms.txt and robots.txt?
robots.txt tells crawlers which URLs they may fetch, and the major AI companies document honoring it for their crawlers. llms.txt is a curated Markdown summary of your site that AI assistants can read on demand. The two do different jobs, and a robots.txt rule that blocks an AI crawler makes your llms.txt irrelevant to that crawler.
Can an llms.txt file hurt our website?
Not in any way we have seen or that Google or the AI companies describe. It is a static text file that search engines ignore. The practical risks are stale links if nobody maintains it, and a generated file that lists draft or private page titles because a plugin included every post type.
If you would like a second set of eyes on how AI assistants read your site, from robots.txt through schema to what is actually in your HTML, our SEO and GEO team works with nonprofits only, as Elevation has since 2007.
