llms.txt: What It Is, Whether You Need It and How to Create One
Sergey Carp from New York City, Co-founder / CTO
We get the same question during almost every AI visibility audit: "Someone told us we need an llms.txt file. What is it, and is it true that AI can't see our website without one?" It is a fair question. llms.txt gets described as a magic switch for showing up in ChatGPT, online llms.txt generators promise a finished file in a minute, and solid, practical information is hard to find.
The short answer: llms.txt is a plain-text business card for your website, written for large language models. It is useful, but it is not magic. Below we cover what the file is, where it came from, what to put in it, how llms-full.txt differs, whether to trust generators, how to publish the file on WordPress, Shopify, Webflow, Wix, Squarespace or your own hosting, and how to check that it works.
Key takeaway
llms.txt is a plain-text summary of your site for AI. It's cheap and safe to add but guarantees nothing, and only works if AI crawlers can reach your site.
First things first: how AI reads your website
When someone asks ChatGPT, Perplexity, Gemini or Claude "which CRM is best for a small sales team", they get an AI answer: a ready-made, coherent piece of text with recommendations and, often, links to the websites the information came from. In Google, a similar answer appears as an AI Overview above the regular results; in chat assistants, it shows up in the conversation with citations. Many people never look past that answer.
To write it, the AI finds relevant pages, opens them and extracts the meaning. A typical web page is awkward for a machine: navigation menus, banners, pop-ups, scripts and repeated blocks. The one fact that matters gets buried in page chrome, and the model has limited time and a limited amount of text it can process. That is where the idea came from: give the model a clean summary.
What is llms.txt?
An llms.txt file is a simple text document written in Markdown. It sits in the root of your website and opens at an address like example.com/llms.txt. Inside, it briefly explains what the company or project is and lists links to the most important pages, each with a one-line description. The point is simple: a language model does not have to figure out how your website is structured, because everything important is collected in one place.
The format was proposed in 2024 as an open initiative. It is important to be straightforward here: llms.txt is not an official standard, and major AI providers have not officially confirmed that they use it when generating answers. The file does not guarantee that you will be cited by ChatGPT or appear in Google AI Overviews, and any provider who promises that is misleading you.
So why do we still create one for our clients?
- It is cheap. A good file for a service business takes an hour or two.
- It is safe. The file does not interfere with anything and does not affect regular indexing.
- It forces clarity. To write llms.txt you have to answer "who are we, what do we sell, which pages matter most". Many companies do not have those answers written down.
- Some tools already read it. AI coding assistants and agents that browse websites can use it. If the major AI search engines start taking it into account, you will already have it in place.
llms.txt vs robots.txt vs sitemap.xml
These files are often confused, but they do different jobs.
| File | Audience | What it does | Status |
|---|---|---|---|
| robots.txt | All crawlers | Tells crawlers which parts of the site they may and may not access | Widely accepted standard |
| sitemap.xml | Search engine crawlers | Lists the pages you want indexed | Widely accepted standard |
| llms.txt | Language models and AI agents | Explains meaning: who you are and which pages matter most | Proposed format, not officially confirmed by major AI providers |
| llms-full.txt | Language models and AI agents | Provides the full text of key content in a single file | Extension of the same format |
The key takeaway: llms.txt does not allow or block anything. If robots.txt or your server's bot protection keeps AI crawlers out, a perfectly written llms.txt is useless, because nobody will ever reach it. Open access first; we explain how in our guide to GPTBot, ClaudeBot, PerplexityBot and other AI crawlers.
What to put in an llms.txt file
The format is designed to be equally easy for people and machines to read. The basic structure looks like this:
- A level-one heading with the name of the company or project. This is the only required element.
- A blockquote summary of one to three lines: what you do, for whom and where.
- A short paragraph of facts: year founded, service area, key terms.
- Level-two sections such as Services, Pricing, About, FAQ and Contact.
- Links inside each section: page title, URL and one line about what is on that page.
- An Optional section for secondary pages that can be skipped when space is limited.
llms.txt example
Below is a hypothetical example for a fictional commercial HVAC contractor. The company name, URLs and terms are made up. Replace them with your own facts, taken from a single, verified fact sheet about your company.
# NorthAir HVAC
> Design and installation of ventilation and air conditioning systems for restaurants, cafes and offices. Serving the metro area since 2010.
Free on-site assessment. Turnkey installation with a 3-year workmanship warranty. Prices on the website do not include equipment.
## Services
- [Restaurant ventilation](https://example.com/services/restaurant-ventilation): design, installation, permits, timelines and pricing
- [Office air conditioning](https://example.com/services/office-air-conditioning): equipment selection, installation, maintenance
- [Maintenance plans](https://example.com/services/maintenance): service schedule, contract pricing, emergency callouts
## Pricing
- [Price list](https://example.com/pricing): design and installation costs by floor area
## About
- [About us](https://example.com/about): licenses, team, year founded
- [Projects](https://example.com/projects): completed installations with photos and project details
## FAQ
- [FAQ](https://example.com/faq): whether you need a design, how long installation takes, what the warranty covers
## Contact
- [Contact](https://example.com/contact): office address, phone, business hours
## Optional
- [Blog](https://example.com/blog): articles on choosing equipment and code requirements for restaurants
Notice what is missing from this example. No slogans like "industry leader" or "best quality". No list of every single page, because that is what sitemap.xml is for. No utility pages, shopping cart or customer account. Only what is needed to understand the company and answer a customer's questions.
The rules people break most often
- links point to canonical HTTPS URLs, without UTM parameters or redirects;
- facts match your website, map listings and directories: the same prices, the same addresses, the same company name;
- each link description explains what the page contains instead of repeating its title;
- the file is saved in UTF-8, otherwise accented letters and special characters turn into gibberish;
- the file is updated along with the website: new pricing or a new service means an llms.txt update.
llms-full.txt: when you need the full version
The format has an extension called llms-full.txt. If llms.txt is a table of contents with links, llms-full.txt is the content itself: the text of your key pages combined into a single Markdown document. The model does not need to follow links, because everything is already inside.
This version was originally designed for software documentation, where a developer or an AI coding assistant needs to load an entire API reference at once. A typical service business needs it less often. It makes sense when:
- you have a complex product with documentation, guides, plans and limitations;
- important content is split across many short pages that lose meaning on their own;
- your website has a technical knowledge base that customers rely on.
The main risk of llms-full.txt is that it goes stale. It is a second copy of your content, and unless it is rebuilt automatically every time the website changes, within a couple of months it will contain old prices. For a typical company website, a well-crafted llms.txt is enough.
llms.txt generators: a time saver, not a substitute for thinking
There are online llms.txt generators, CMS plugins and scripts that crawl a website and build the file automatically. A generator helps you get a quick first draft, especially on a large site. But automated output has predictable problems:
- Everything ends up in the file. Tags, filters, pagination and news archives: a generator does not know what matters to your business.
- Descriptions come from meta tags. If your meta descriptions were written for search engines years ago, that is what goes into llms.txt.
- Company facts are missing. A generator will not know your service area, terms or founding year, and if it guesses, that is even worse.
- The file never gets updated. A one-time export drifts away from the website within months.
Our approach: on large websites we use a generator for the first draft, then keep the 15–40 links that truly matter, write the summary and facts by hand and check them against the company fact sheet.
How to add llms.txt to your website
The file must open exactly at example.com/llms.txt, not in a subfolder and not on a subdomain. How you get it there depends on your platform.
Custom website on your own hosting or server
Upload the file to the website's root directory, the same place where robots.txt lives, using SFTP, SSH or your hosting provider's file manager. If your site runs on a framework with a separate public directory, put the file there. Then make sure your routing rules and caching layer serve the file as-is instead of intercepting the request and returning a styled 404 page.
WordPress
On self-hosted WordPress you usually have access to the root directory through your hosting account, so you can upload a finished file directly. There are also plugins that generate llms.txt; if you use one, review the output against the same rules as any other generator. On managed or hosted WordPress plans, root file access may be restricted, so check what your plan allows.
Shopify, Wix, Squarespace and Webflow
Hosted website builders and ecommerce platforms generally do not give you direct access to the root directory, and what is possible depends on the platform, your plan and settings that change over time. Start by checking the platform's current documentation or settings for a way to add a custom file or a custom route at the root of your domain. If there is none, the common workarounds are:
- serving the file through a CDN or reverse proxy in front of your domain that returns llms.txt at the root address;
- redirecting /llms.txt to a copy hosted elsewhere, which is simpler but less reliable, because not every tool follows redirects;
- using an app or integration from the platform's marketplace, if one exists, and checking what it actually publishes.
The right choice depends on how your project is set up, so it is worth deciding together with whoever manages your website and domain.
llms.txt and robots.txt: do you need to reference it?
No. There is no special robots.txt directive for llms.txt. The file is found at its standard address, just as robots.txt itself is found at example.com/robots.txt. Still, open your robots.txt and check two things. First, it does not block the AI crawlers you want to reach your website. Second, it does not contain a blanket rule blocking .txt files, which sometimes shows up in old templates.
llms.txt in SEO: does it affect rankings?
No search engine has confirmed using llms.txt as a ranking signal, and it does not replace robots.txt, sitemap.xml or schema markup. Think of it as a small supporting piece of AI search optimization rather than an SEO tactic. What it can do is give AI tools a clean, accurate summary of your company. What it cannot do is make a weak website strong.
llms.txt checker: how to verify it works
Online llms.txt checkers and validators can confirm that the file follows the format. They cannot tell you whether the content is accurate or useful. After publishing, run through this short checklist yourself:
- example.com/llms.txt opens in an incognito browser window, without logins or redirects;
- the server returns a 200 status code (you can see it in the Network tab of your browser's developer tools);
- the file displays as plain text, characters render correctly and the browser does not try to download it;
- every link inside opens and returns a 200 status code;
- your firewall, CDN or bot protection does not block crawler requests to the file, which you can confirm in the server logs;
- after publishing, the server logs show which bots requested the file.
That last point is the only honest way to find out whether anyone reads your llms.txt. Asking an AI assistant "did you read my llms.txt?" is pointless: its answer proves nothing.
What llms.txt does and does not do
Let's be realistic. The file on its own will not get your company into AI answers. If your website has no pages that directly answer customer questions, if content only loads through scripts, if nobody writes about your company on third-party sites, llms.txt will not change a thing. AI assistants rely primarily on search, page content and source authority. GEO is built on top of good old SEO, not on a set of utility files.
Combined with the rest of the work, though, llms.txt becomes a useful detail: a clean summary of facts that matches your website, your schema markup and third-party sources. You can see where it fits in the bigger picture in our AI search optimization checklist.
How we build llms.txt and everything around it
AI Search Optimization has been doing SEO since 2002. We have 100+ clients around the world, Google and Yandex certifications, and one team that handles your website and your AI visibility end to end. We work with businesses in New York City and in international markets.
We write and publish llms.txt as part of technical fixes on the website, but it is only one task among many. The service includes:
- an AI visibility audit of your website and of AI answers in your industry;
- prompt research: the questions your customers ask AI assistants;
- technical fixes: AI crawler access, llms.txt, schema markup, speed, error fixes;
- new content built for AI answers;
- brand mentions on third-party sites;
- publishing articles in external sources to build the authority of your company and its experts;
- ongoing AI visibility tracking.
AI evaluates your website as a whole, so we take care of the entire site from day one, from technical fixes to GEO. We guarantee delivery of GEO tasks, error fixes and fast adaptation of your website to changing AI search requirements. We do not promise a position in AI answers: no one can honestly promise that.
The monthly fee is $290 per month, including the first 10 hours of work. Every additional hour is $45. GEO work is billed on a time and materials basis: we invoice only the work completed and delivered that month. No discounts or free months.
Book a call. We will check whether AI crawlers can reach your website, build an llms.txt file from verified facts and show you what else is keeping you out of AI answers.