AI crawlers, end to end · Lesson 07

robots.txt, llms.txt & ai.txt, controlling AI access

The three text files that tell AI what it may crawl, train on, and feature, and which actually matter.

15 minWorked exampleField assignment
0%course
What you will leave with

A tested access policy with expected allow/block outcomes.

Three plain-text files sit at the root of the “tell AI what to do” conversation, and each does a different job. robots.txt controls access, llms.txt offers a curated map, and ai.txt declares usage terms. Knowing which one actually carries weight saves you from optimizing the wrong thing.

The short version, these files express your visibility posture, who may crawl, who may train, and who you want citing you. The trick is keeping them consistent so they never contradict each other.

What these three files are

All three live at the root of your domain and are just text a crawler can read before it does anything else. They differ in maturity and in what they actually control.

robots.txtAllow / block crawling & trainingllms.txtCurated map of key pagesai.txtUsage / licensing terms
  • robots.txt is the established standard. You disallow specific AI user-agents (GPTBot, ClaudeBot, Google-Extended, CCBot, and others) to block crawling or training, and the major training bots honor it.
  • llms.txt is an emerging convention, a curated map at /llms.txt that points AI at your most important pages. It is useful for agentic tooling, but be honest about ROI, adoption is low and there is little evidence engines use it for ranking yet. Treat it as hygiene, not magic. See what is llms.txt for the detail.
  • ai.txt is a less-standardized declaration of AI usage and licensing terms.
Permissionrobots.txtThe established standard. Allow or block named AI user-agents for crawling and training.
Meaningllms.txtAn emerging curated map of your key pages. Useful for agent tooling, low evidence for ranking.
Termsai.txtA less-standardized declaration of how your content may be used.

Three files, three different jobs.

Why this matters

These files are the front door of your relationship with AI engines. They decide, before a single page is read, whether a given bot is welcome to crawl, allowed to train on what it finds, or expected to honor specific terms. Get them right and you direct crawler effort toward the content you want quoted. Get them wrong and you can accidentally block the very engines you hoped would cite you, or invite training you meant to restrict.

The deeper point is that “controlling AI access” is rarely a single yes-or-no switch. Different engines play different roles for your business, and you may want a different answer for each. That is why a posture beats a one-off edit.

How the files work together

Read in order, the files layer access, guidance, and terms. A crawler checks robots.txt to learn whether it may proceed, can consult llms.txt for a curated view of what matters, and ai.txt states how the content may be used. The danger is when these drift apart, blocking a section in robots.txt while pointing to it in llms.txt sends a mixed message and wastes the effort you spent on both.

The practical move is a deliberate posture rather than scattered rules. Decide which engines may crawl, which may train, and which you want citing you, then make every file reflect that single decision. This is exactly the model behind access modes, a small set of consistent presets instead of hand-edited files that quietly disagree.

The files and buckets involved

  • robots.txt, the access control layer, where you allow or disallow named AI crawlers.
  • llms.txt, the guidance layer, a curated map of your key pages for AI and agent tooling.
  • ai.txt, the terms layer, declaring how your content may be used.
  • The named AI user-agents themselves, GPTBot, ClaudeBot, Google-Extended, CCBot and more, which are the targets of your rules.

When and where it applies

Every site that wants a say in AI crawling should have at least a deliberate robots.txt. The three-file picture matters most once AI bots are actively visiting, when the difference between training access and live-answer access becomes a real business choice. It also applies whenever you change your stance, opening up to more engines, tightening training permissions, or restricting a single aggressive crawler. To know which agents you are addressing, ground your rules in the bots you actually see.

Decide a postureChoose who may crawl, who may train, and who you want citing you.
Set robots.txt to matchUse the standard the major training bots actually honor.
Keep llms.txt consistentNever feature a page in one file that you block in another.
Validate the resultConfirm a typo did not quietly turn a block into an allow.

From a decision to consistent files.

Best practices for controlling AI access

  1. Start from a posture, not a file. Decide who may crawl, who may train, and who you want citing you, then write the files to match.
  2. Use robots.txt as your real control surface, it is the standard the major training bots honor.
  3. Keep llms.txt and robots.txt consistent, never promote a page in one while blocking it in the other.
  4. Remember that Google-Extended is separate from Googlebot, restricting AI training does not have to affect classic Search.
  5. Validate after every change, a small syntax slip can silently disable a rule.

A common mistake and the way around it

The most frequent error is treating these as three independent files edited at three different times, which is how contradictions creep in, a disallow in robots.txt pointing at a page featured in llms.txt, or terms in ai.txt that no longer match your actual access rules. The way around it is to manage them as one posture and to check the result. Generate the files from a single consistent decision, then run them through a validator so a typo never quietly turns a block into an allow.

Where to start

Begin by drafting a consistent set with our free llms.txt and robots.txt generator, then confirm the result with the free llms.txt validator so the files say exactly what you intend. When you want this handled continuously, CiteTrack manages robots.txt and llms.txt together through its Open, Balanced, and Block access modes, three coherent postures that keep the files from ever contradicting each other, so your access stance stays deliberate as engines and bots keep changing.

Do the work

Field assignment

Scenario

A publisher wants citations but does not want its archive used for model training.

  1. Choose separate policies for training and answer bots.

  2. Test robots rules against five real user agents.

  3. Publish llms.txt only as a curated map, not a ranking promise.

Definition of done

A tested access policy with expected allow/block outcomes.