/ โ† Agent Readiness Fixes / llms.txt
In this guide
  1. Where llms.txt fits in agent readiness
  2. Is it worth adding to your site?
  3. Choosing what goes in the file
  4. A worked example
  5. Serving the file so it can actually be fetched
  6. The fix, step by step
  7. Finding out whether anything reads it
  8. Mistakes that make the file worse than none
  9. Questions and answers

Where llms.txt fits in agent readiness

Every other finding in the Agent Readiness Audit is about whether a crawler can reach, render and understand your real pages. llms.txt is different. It adds a separate, optional document that sits beside those pages and describes them. If the pages themselves are blocked, empty without JavaScript or confusing to extract, a tidy llms.txt does not change that; it just points to pages the crawler still cannot use.

It helps to be precise about what is known:

So the reasonable position is modest. The file is cheap, low risk and occasionally useful. It belongs at the end of your agent readiness work, not the start.

๐Ÿ’ก If you want the detail of every format rule and the companion llms-full.txt file, the llms.txt fixes cover each one. This guide concentrates on the agent readiness side: deciding, publishing and checking.

Is it worth adding to your site?

The value depends on what kind of site you run and who is likely to point a tool at it.

Type of siteLikely valueWhat to put in it
Software documentation or an APIHighest. Developers do paste documentation sites into coding assistants.Getting started, authentication, the main reference sections, changelog, limits.
Service business or tradesLow but cheap. A clear summary of what you do and where can still help a tool that reads it.Services, areas covered, pricing approach, how to book, contact details.
Online shopModest. Listing products individually is pointless for large catalogues.Category pages, delivery and returns, size guides, warranty terms.
Publisher or blogModest. Content changes too often for a hand-kept list.Evergreen explainers, topic hubs, editorial and corrections policy.
Site behind a loginVery little. Tools cannot follow links into pages they cannot open.Public help pages only, if any.

If your site falls in the first row, spend real time on it. For most small business sites, an hour to produce a good first version is the right investment, and no more.

Choosing what goes in the file

The file is a reading list, not a sitemap. Your XML sitemap already lists every URL for crawlers; llms.txt should do something a sitemap cannot, which is to tell a reader which few pages answer the questions people actually ask, and what each one contains.

Good candidates

Leave out

Twenty to forty links is plenty for most sites. A documentation site may need more, grouped into clear sections, with less important material placed under an ## Optional heading so a tool short of space can skip it.

A worked example

Here is a complete file for a fictional software company whose help centre is the main thing people want to read. It follows the proposal's order: one H1, a blockquote summary, a short paragraph, then H2 sections of links with a note after each.

# Tidewater Bookings

> Online appointment booking for UK salons, clinics and studios. Customers
> book and pay deposits through a widget on the business's own website.

Prices on this site are in pounds and exclude VAT. The help centre covers the
current version only; older versions are not documented.

## Getting started
- [Set up your account](https://help.example.com/start/): first login, business details, opening hours
- [Add the booking widget](https://help.example.com/widget/): embed code, WordPress and Squarespace instructions
- [Take deposits](https://help.example.com/deposits/): connecting a payment provider, refund rules

## Running the diary
- [Staff and rotas](https://help.example.com/staff/): adding staff, working patterns, holidays
- [Reminders](https://help.example.com/reminders/): email and text reminders, timing, wording
- [Cancellations and no-shows](https://help.example.com/no-shows/): policies, fees, automatic handling

## Account
- [Plans and pricing](https://www.example.com/pricing/): monthly plans, what each includes
- [Data and privacy](https://www.example.com/privacy/): where data is stored, retention, exports

## Optional
- [Release notes](https://help.example.com/releases/): changes by month

Each note names what the reader will find, in a few words. The summary states facts that would change how the rest is read: the audience, the currency and the VAT position. Nothing in the file is a claim that could not be checked against the linked page.

Serving the file so it can actually be fetched

A surprising number of files that exist are still unreachable. The audit can only credit a file that answers at the expected address with the expected response, so check these points.

curl -sI https://www.example.co.uk/llms.txt | grep -iE "^HTTP|^content-type|^location"
curl -s -A "ClaudeBot" https://www.example.co.uk/llms.txt | head -5

The first command should show a 200 and a text content type with no location line. The second should print your H1 and summary, not an HTML page or a challenge.

Platform notes

The fix, step by step

Step 1

Fix the access and content findings first

Open your Agent Readiness Audit report and deal with crawler blocks, empty server HTML, facts locked in images and canonical conflicts before you touch llms.txt. Those findings decide whether any AI system can use your pages at all. A reading list that points at blocked or empty pages achieves nothing, so treat this file as the last item on the list rather than a quick win to tick off first.

Step 2

Pick the pages a reader should start with

List the questions customers or users ask most often, then find the one page that answers each. Add the about, contact and key policy pages. Check every candidate: it should return 200 at its canonical address, carry no noindex, and show its main text with JavaScript switched off. Drop anything that fails. For most small sites you will end up with somewhere between twenty and forty links, grouped by what a reader is trying to do.

Step 3

Draft the file in plain Markdown

Start with a single H1 holding the site or business name, then a blockquote of one to three sentences that states what you do, for whom and anything that changes how the rest should be read, such as currency or service area. Add H2 sections of Markdown links, each followed by a colon and a short factual note. Put secondary material under ## Optional. Use absolute canonical URLs with no tracking parameters.

Step 4

Publish it at the root as plain text

Save the file as UTF-8 and upload it so that it answers at /llms.txt on your main host name. On WordPress that means the folder holding wp-config.php or a plugin that generates it; on static and custom sites, the web root or static folder. Configure the server to send text/plain; charset=utf-8 and make sure no page template, redirect or caching rule wraps the file in HTML.

Step 5

Check it is reachable by crawlers

Run curl -sI against the address and confirm a 200 status, a text content type and no redirect. Fetch it again with a crawler token such as ClaudeBot as the user agent to make sure the firewall is not challenging it. Check robots.txt for any rule that would match /llms.txt, then open every link in the file and confirm none redirect or fail. Finally, re-run the Agent Readiness Audit.

Step 6

Set a trigger for keeping it current

Decide what event will prompt an update: a new service, a price change, a page removed or a site restructure. Add the file to whatever checklist you use when publishing, or generate it from your CMS so it cannot drift. Every few months, search your access logs for requests to /llms.txt and note which user agents fetch it, so you know whether the effort is being read by anything.

Finding out whether anything reads it

Because use of the file is unconfirmed for most AI services, your own logs are the only evidence that matters for your site. After publishing, look for requests to the file and group them by user agent:

grep "GET /llms.txt" access.log | awk -F'"' '{print $6}' | sort | uniq -c | sort -rn

What you see will vary. You may find SEO tools and audit services, scripts run by developers, general crawlers that request every text file they see, and occasionally an AI-related agent. Requests for the file are not proof that its contents shaped any answer; they only show it was fetched. If after several months nothing but audit tools has asked for it, that is useful information too, and a reason not to spend more time on it than a periodic check.

โš ๏ธ Do not add tracking parameters to the links inside llms.txt to measure clicks. They create duplicate URLs, which is one of the problems the audit's canonical checks look for.

Mistakes that make the file worse than none

For how the file relates to the rest of your AI crawler set-up, read fixing AI crawler access, and for the first-file walkthrough in the llms.txt tool's terms, see fixing a missing llms.txt.

Questions and answers

1. Do ChatGPT, Claude or Perplexity use llms.txt?

None of the major providers has publicly confirmed that its search or answer systems read llms.txt when deciding which sources to use or cite, as far as we know. Individual tools built on these models, such as some coding assistants and agent frameworks, may fetch the file when a user points them at a site. Check your own access logs to see what actually requests it, rather than relying on claims made in marketing material.

2. Will adding llms.txt improve my rankings or AI citations?

There is no evidence that it will. It is not a Google ranking signal, and no major AI search provider has said it uses the file to pick sources. What does affect whether AI systems can use your content is crawler access, server-rendered text, clear structure and consistent facts, which are the other findings in the audit. Add llms.txt because it is cheap and may help some tools, not because you expect a measurable lift.

3. Is llms.txt the same as robots.txt?

No. robots.txt tells crawlers which paths they may fetch, and the major crawlers follow it. llms.txt tells a reader which pages are worth reading and what each contains. It cannot allow or block anything. If a crawler is disallowed in robots.txt, listing pages in llms.txt does not let it in, and leaving a page out of llms.txt does not keep it out. Keep access rules in robots.txt and your firewall.

4. What content type should llms.txt be served with?

Serve it as text/plain with a UTF-8 character set, which every client handles. text/markdown is also a sensible choice because the file is Markdown. Avoid text/html, which usually means a CMS is wrapping the file in a page template, and application/octet-stream, which some servers use for unknown extensions and which makes browsers download the file instead of showing it. Check the header with curl after publishing, and again after any server or CDN change, because a new configuration can quietly alter it.

5. How many links should an llms.txt file contain?

Enough to cover the questions people actually ask, and no more. For a small business that is often twenty to forty links in a handful of sections. A documentation site may need more, but should still group them clearly and move secondary material under an Optional heading. If the file is starting to look like your XML sitemap, you are listing too much, because a reader gains nothing from a list with no selection.

6. Do I need llms-full.txt as well?

It is optional. llms-full.txt is a companion convention in which the full text of key pages is combined into one Markdown document, and it is most common on documentation sites where tools benefit from reading everything at once. For a service business or shop it is rarely worth the upkeep, because it duplicates page content that then has to be kept in step. Start with a good llms.txt and add the full version only if you have a clear reason.

7. Can llms.txt cause any harm?

Very little, if it is accurate. The risks are indirect: a file that lists outdated prices or deleted pages gives any reader wrong information, links with tracking parameters create duplicate URLs, and a file that welcomes language models while robots.txt blocks their crawlers sends mixed signals. It also cannot keep anything private, so never list pages you would not want read. Keep it short, factual and in step with the site.

Check your llms.txt alongside everything else

The Agent Readiness Audit checks robots.txt and llms.txt, requests your page with AI crawler user agents and reviews how readable the content is, so you can see where the file fits among the other findings.

Open Agent Readiness Fixes โ†’
๐Ÿ’ฌ Got a problem?
Related Guides: All Agent Readiness Fixes  ·  llms.txt Fixes  ·  Fixing a Missing llms.txt  ·  Fixing AI Crawler Access  ·  Learning Hub

About aiwebpageseo

aiwebpageseo.com is a data-driven SEO and AEO (Answer Engine Optimisation) platform providing a free suite of technical SEO tools. Rather than relying on AI-theorised assumptions, the platform analyses live URL performance, delivering objective diagnostics, page speed metrics, CLS debugging, and site crawl data alongside actionable technical tutorials.