EN
Language · same page NLNederlands/tools-en-plugins/llms-txt-zelf-maken-generator/ ENEnglish (UK)/en/tools-and-plugins/llms-txt-homemade-generator/ ESEspañol/es/herramientas-y-plugins/llms-txt-generador-casero/ We do not remember your choice and never redirect you automatically.
About this choice

We only save your display preference in a preference cookie, for up to 180 days on this device. No CRM or advertising data. Your tracking consent stays unchanged. If cookies are blocked, your choice may not be saved.

SRV · tool · llms.txt reg. T.000 · template plus wordpress plugin

The llms.txt generator: write it yourself, or let WordPress keep it current

An llms.txt is a text file in the root of your domain in which you write, in plain language, what you do, which pages matter and what a language model may quote from you. There are two routes and both are on this page. The complete template is written out below, so you can write and upload the file yourself in ten minutes. Run WordPress and you can download the plugin instead: it builds the file from your settings, so you never have to drag anything over FTP again.

OUTPUT FOLLOWS THE LLMS.TXT STANDARD FROM LLMSTXT.ORGTWO ROUTES: WRITE IT YOURSELF FROM THE TEMPLATE, OR LET THE PLUGIN MAINTAIN ITFREE AND OPEN UNDER GPLv2, NO ACCOUNT AND NO API KEY
Download the plugin ↓ Book a call theseo-llms-txt-generator-2.0.0.zip · 26 KB · version 2.0.0 · GPLv2 or later · WordPress only, the template below works on any site
WordPress6.0 or higher. The plugin header says tested up to 7.0.
PHP7.4 or higher. The code has been checked on 8.5.
PermissionsYou need manage_options, so an administrator account.
Language of the screenDutch on a Dutch site, English everywhere else.
Also published on Full source code on GitHub Official WordPress plugin directory Take the download above, not the one from the plugin directory. This plugin has been in the official WordPress plugin directory since 25 February 2026, but that listing still ships version 1.1.2. That older version does two things you do not want: it writes a fixed block of links to six other websites at the top of every generated file, and its output does not follow the llms.txt standard. Version 2.0.0 above has no such block and does follow the standard. The directory listing will be updated once the new version has been submitted. Checked on 18 August 2026.
FIG.01: Where the file belongssheet 1/3

llms.txt next to robots.txt and sitemap.xml: three files, three different readers

This is not a setting and not a plugin. It is a text file in a fixed place. That place is the root of your domain, next to two neighbours that are probably already there. One folder deeper does not work, and that is the mistake people make most often. We have seen it happen with a perfectly written file sitting in /docs/.

the root of your domainwho reads what

yourdomain.com/

robots.txtusually already there Whether you may come in. An access rule for crawlers, enforceable in practice.search engine crawlers
sitemap.xmlusually already there Which pages exist. A list of addresses, with no view on what matters most.search engines
llms.txtthis is the one you are making What matters and what may be quoted. A proposal, not a block: the model is free to ignore it.language models
blog/llms.txtdoes not work One folder deeper is not read. The file has to sit at the top level, straight after the domain name.
Ours sits at theseo.nl/llms.txt. That is not an example we invented for this page, it is the file we use ourselves. The difference with robots.txt matters: robots.txt stops someone, llms.txt asks something. The complete template is below.
FIG.02 · THE TEMPLATE, TO FILL IN YOURSELF · sheet 2/3

Below sits the complete structure of an llms.txt. Replace everything between brackets with your own details, save it as llms.txt and put the file in the root of your domain, so at yourdomain.com/llms.txt. There is nothing more to it: it is an ordinary text file.

# (Name of your website)

> (One sentence explaining what your business does, for whom, where and since when.)

Key facts:
- Services: (what you offer, separated by commas)
- Service area: (city, region or country)
- Contact: (email address, phone number, opening hours)

## Most important pages
- [(Page title)](https://yourdomain.com/path/): (half a line on what is there)
- [(Page title)](https://yourdomain.com/path/): (half a line on what is there)
- [(Page title)](https://yourdomain.com/path/): (half a line on what is there)

## Optional
- [(Blog or knowledge base)](https://yourdomain.com/path/): (what it covers)

## Citation preference
(Pick one and delete the other two:)
Definitions, checklists and step-by-step guides on these pages may be quoted verbatim, with attribution to the page they came from.
Only short excerpts and summaries may be quoted, with attribution to the page they came from.
Summaries in your own words only, no verbatim quotes.

## Less important
(Paths you would rather not see cited, one per line, for example /basket/ or /thank-you/. This is a hint, not a block.)

Two things to know before you start. The citation preference is not an enforceable rule: llms.txt is a proposal aimed at the model, not a technical block like robots.txt is for crawlers. And the list of your most important pages does most of the work, so put the pages you want to be found for there, not your entire menu.

DOC.01

What an llms.txt does

This page belongs to the tools and plugins from TheSEO and exists to make AI visibility concrete. With the template above you write an llms.txt that describes your own site clearly. Whether ChatGPT, Perplexity or Gemini actually fetch that file has not been established, and according to their own documentation they do not at the moment. If you want to see what a filled-in file looks like, ours is at theseo.nl/llms.txt. That is not an example we invented for this page, it is the file we use ourselves.

An llms.txt file is comparable to robots.txt, but made for AI systems. It gives AI crawlers information about your main subjects, your context, your priorities and which content may or may not be quoted. Language models crawl websites differently from search engines: they analyse meaning, connections and semantic patterns. What you get is a tidy, curated table of contents for your site in plain text, useful for you and for any agent you send there yourself. It gives no guarantee at all of visibility or citations: no major provider has committed to fetching the file from external sites.

DOC.02

What belongs in each part

The template above has fixed parts. This is what belongs in each one, in the order they appear in the file:

  • The name of your website, as the heading at the top of the file, for example TheSEO
  • Underneath it one sentence explaining what your business does, for whom, where and since when
  • Key facts: your services, your service area and how to reach you, each on its own line
  • Most important pages: three to five full web addresses, each with half a line about what is there. This part does most of the work, so put the pages you want to be found for here
  • Optional: your blog or knowledge base, if you have one, with half a line on what it covers
  • Your citation preference: pick one of the three and delete the other two. Definitions, checklists and step-by-step guides quoted verbatim with attribution, only short excerpts and summaries, or summaries in your own words only
  • Less important: paths you would rather not see cited, one per line, for example your basket or your thank-you page. Not a hard block, but a hint

Once you have filled in every part, you have a file that states what has priority, which pages matter and what a language model may quote. Save it as llms.txt and put it in the root of your domain, so at yourdomain.com/llms.txt.

DOC.03

Who this is useful for

The template works for every website, including WordPress, Shopify, Webflow and custom builds. As long as the file sits in the root of your domain, anyone who requests it can read it, human and machine alike. On WordPress you put it in the same folder as your robots.txt, through your hosting panel or over FTP.

Would you rather not drag files around? The plugin above is the shorter route. It builds the file on every request from what you fill in on the settings screen, so you change it the way you change a page. What comes out is the same kind of file as the template above, you just do not have to lay it out yourself.

DOC.04

What the plugin does, part by part

The plugin catches the request to /llms.txt before your theme gets a turn, and writes the file that follows from your settings. Nothing is written to disk, so nothing gets in the way when you change something later. This is what is in it, part by part.

  • The file at /llms.txt: a title line with your site name, a quote line with your summary, your key facts as free text, and then the sections Most important pages, Optional, Citation preference and Less important.
  • Two buttons that take over the typing: one that pulls in your published pages as a link list and one that does the same with your latest posts. They only add what is not there yet, and nothing is stored until you press save yourself.
  • A check panel that reports what is still missing, whether a physical llms.txt file on the server is standing in the way of the plugin, whether WordPress is running in a subfolder, and whether your permalinks are on the default setting.
  • A preview of the complete file at the bottom of the settings screen, so you see what you are publishing before you publish it.
  • Three extras that are off by default: a comment line with the address of your llms.txt in the robots.txt that WordPress serves, an attribution line at the bottom of the file, and a small link to TheSEO in your footer. You switch them on yourself or leave them off.

One thing worth knowing about the previous version. Version 1.x put a block of links to other projects at the top of every generated file, and that could not be switched off. That block was removed in 2.0.0, and the output now follows the structure of the standard at llmstxt.org instead of a format of its own.

DOC.05

Installing it, in four steps

You do not need to be a developer. It is an ordinary plugin zip that you upload like any other. Allow ten minutes, most of which goes into writing your summary.

STEP 1 · DOWNLOAD

Use the download button above. You get theseo-llms-txt-generator-2.0.0.zip, 26 KB. Do not unzip it: WordPress wants the zip itself.

STEP 2 · UPLOAD

In WordPress go to Plugins, then Add New Plugin, then Upload Plugin. Choose the zip file, click Install Now and then Activate Plugin.

STEP 3 · FILL IN

Go to Settings, then llms.txt generator. Fill in the name and the summary and press the button that pulls in your published pages. Save.

STEP 4 · CHECK

Open yourdomain.com/llms.txt in your browser. What you see there is exactly what an agent will see, and that is the whole check.

If something other than what you expected comes out, it is almost always one of these three things, and the check panel on the settings screen tells you which. There was already a physical llms.txt file on your server: your web server then serves that one and the plugin never gets a turn, so remove the old file. Your WordPress runs in a subfolder: the file then lands in that subfolder while the standard expects it in the root of the domain. Or your permalinks are on the default setting: that still works, because the plugin also looks at the requested path itself, but the screen reports it so you know.

FIG.03: The screen you get with itsheet 3/3

A form on the left, the file that rolls out on the right

After activation there is a line called llms.txt generator under Settings. That screen has two halves: the fields you fill in, and the preview of the file as it would be served at that moment. Here is how it is built up.

wp-admin · Settings · llms.txt generatorschematic · not a screenshot from a client site

llms.txt generator

The file is built on every request from the fields below.

Check panel ✓No physical llms.txt file on the server, the plugin gets its turn ✓WordPress is running in the root of the domain !Summary is still empty, that is the quote line under the title
Name of the website
Northfield Roofing
Summary
Fits and repairs flat roofs across West Yorkshire, since 2009, with its own fitting teams.
Most important pages
/flat-roof-replacement/ | Flat roof replacement | How we work, lead times and guarantee /request-a-quote/ | Request a quote | What we need before we can price a job
Add my published pages
Citation preference
Definitions, checklists and step-by-step guides may be quoted verbatim
Save settings

Preview of the current llms.txt

# Northfield Roofing > Fits and repairs flat roofs across West Yorkshire, since 2009, with its own fitting teams. ## Most important pages - [Flat roof replacement](https://.../flat-roof-replacement/): How we work, lead times and guarantee - [Request a quote](https://.../request-a-quote/): What we need before we can price a job ## Citation preference Definitions, checklists and step-by-step guides may be quoted verbatim, with attribution to the page they came from.

This preview refreshes as soon as you save.
the four states of this pluginwhat the screen reports
  1. A request comes in on /llms.txtThe plugin catches it before your theme gets its turn and builds the file from your fields. Nothing is written to your disk.
  2. ✓ The file has been servedTitle line, quote line, key facts and then your pages. What you see at yourdomain.com/llms.txt is exactly what an agent sees there.
  3. ○ The summary is still emptyNot an error, but a gap: the quote line under the title is missing. The check panel says so and the rest of the file still goes out.
  4. ! There is already a physical llms.txt on the serverThen your web server serves that old file and the plugin never gets its turn. Remove it and the screen above works again.
Four states, four colours, and they are the same four this site uses everywhere something actually happens. Empty is not an error, which is why it has a colour of its own instead of the red of a failure.
The details in this image are invented to show the shape. What is accurate is the structure: the menu item under Settings, the check panel at the top, the fields on the left with the button that pulls in your pages, and the preview of the file as it will be served on the right. Our own file is at theseo.nl/llms.txt.
DOC.06

What it does, and what it does not do

llms.txt is one of the few subjects where expectations run harder than the facts. So both lists are here, so that you install the plugin with the right expectation rather than the wrong one.

where things standversion 2.0.0
This is included
  • A file that follows the llms.txt standard, built from your settings, without FTP and without a file on your disk.
  • Two buttons that pull in your page list, so the typing does not start from zero.
  • A check panel that warns you about the three things that make this piece of plumbing fail quietly.
  • A preview of the whole file on the screen itself, before you publish anything.
  • English labels on an English site, and a clean uninstall: removing it leaves nothing behind in your database.
This is not included
  • No ranking and no guarantee of visibility. No major AI provider has committed to reading this file from external sites, and Google has said publicly that it does not use it for AI Overviews.
  • No block. The citation preference is a request. If you want to keep crawlers out, you do that with robots.txt or at server level.
  • No text that writes itself. The summary and the descriptions come from you; the plugin has no language model and asks for no API key.
  • No llms-full.txt. Several other generators also produce a second file containing the full text of your pages. This plugin delivers the overview file only, not a shadow copy of your whole site.
  • No priority over an existing file. If a physical llms.txt is already on your server, that one wins and the plugin never gets a turn.
Why we built it and use it anyway: the file costs ten minutes and it is the one place where an agent fetching your site reads in one go what you do and which pages matter. Call it a readable business card, not a ranking factor, and that is exactly how it is presented here.
DOC.07

Privacy: what the plugin stores

Short paragraph, and that is precisely the point. The plugin measures nothing about your visitors. No script is loaded into your pages, no cookie is set, nothing is written to browser storage, and no request goes to a server of ours or of anyone else.

What ends up in your database is two options: the text you type on the settings screen, and the version number of the plugin. Delete the plugin through the admin screen and both are removed, on multisite as well. Deactivating leaves them in place, so your settings are still there when you switch it back on.

One thing to keep in mind deliberately, because it is the nature of this file: /llms.txt is public. Everything you put in the fields is readable by anyone on your domain. So put your general email address and phone number in there if you want to, and no staff names, no home addresses and no details you would rather not have floating around. What we put in our own file is at theseo.nl/llms.txt, and why we record as little as possible on this site is set out in our privacy statement.

DOC.08

llms.txt alongside robots.txt and other AI traffic

Robots.txt is meant for traditional search engines such as Google and Bing. Language models process content differently, and llms.txt is aimed at them. Both have their own job, and together they form a foundation for classic SEO and for AI visibility alike.

Want to keep a grip on how AI handles your content elsewhere too? See how to protect your SEO traffic from AI, or how a heatmap and scrollmap plugin shows you how visitors actually use your pages. That way you combine AI structure with insight into real visitor behaviour.

Keep the proportions honest while you do it. What this file is, who actually reads it, what its status is and what it demonstrably does not do, is written out in llms.txt explained. Whether a model names your company at all is a separate question with a separate measurement, and that is the service AI visibility.

DOC.09

What AI may and may not do with your content

llms.txt is a proposal aimed at the model, not a technical block. What a crawler may fetch is settled in robots.txt; what a model may do with what it has fetched has been covered since September 2025 by the Content Signals Policy and is currently being standardised in the IETF working group AIPREF. You can write down what you would like in your llms.txt, but nobody is obliged to follow it.

AI systems favour websites with a clear structure. That is why the same work pays off twice: a page that is easy for a person to read is easy for a model to summarise. To see how your page comes out the other side, the AI snippet previewer shows what a model makes of it, and technical SEO covers the structure underneath.

The tools we use ourselves every day
The tools we use ourselves every day
Section · Next stepreachable 24/7
Book a call ↗
Gianluca, founder of TheSEO
Written by GianlucaFounder of TheSEO. Has been building visibility for businesses since 2017, in Google and in AI answers. More about the institute.