An llms.txt file is a short Markdown file at the root of your site that points AI tools to your most useful pages, and schema is JSON-LD code that describes your business and pages in a machine-readable way. Both are quick to set up, but neither is a ranking switch: Google says its Search ignores llms.txt and needs no special schema for AI features, so treat them as low-cost housekeeping on top of clear, crawlable content.

What’s the Difference Between llms.txt, robots.txt and sitemap.xml?

robots.txt tells crawlers where they may go, sitemap.xml lists the URLs you want search engines to find, and llms.txt is a curated reading list for AI tools. They do different jobs, so llms.txt sits alongside the other two and never replaces them.

FileWhat it doesWho reads it
robots.txtAllows or blocks crawlers by pathSearch engines and AI crawlers
sitemap.xmlLists URLs for discoverySearch engines
llms.txtSummarizes the site and links key pagesAI tools that choose to use it

A useful way to think about it: robots.txt is the gate, the sitemap is the full address book, and llms.txt is the short guide you’d hand a new employee on day one. If you only had time for one, robots.txt has the most direct effect, because a blocked crawler can’t read any of your pages at all.

It depends on who is reading. Google’s guide to generative AI features in Search, updated in July 2026, says you don’t need AI text files or special markup, that creating an llms.txt file is fine, and that it neither helps nor harms visibility because Google Search ignores it.

Other AI tools and coding assistants may read the file when they fetch your site, but there is no public commitment from the major assistants that it changes what they cite. That is why we treat llms.txt as a cheap, low-risk extra rather than a strategy. The deeper debate is covered in our explainer on whether llms.txt works; this guide focuses on setting it up properly if you decide to add one.

What You Need Before You Start

Gather access and a page list first; the setup itself is mostly copy, paste and test.

How Do You Create an llms.txt File?

Write a Markdown file with your site name as an H1, a one-line summary, and grouped lists of links, then publish it so it loads at example.com/llms.txt. The steps below work for WordPress, Shopify and custom sites; only the upload step differs.

Step 1: Pick the Pages That Belong in It

Keep the list short and useful. Include the pages that answer the questions buyers ask: what you do, where, for whom, how much it roughly costs or how pricing works, and how to contact you. Leave out tag archives, thin pages, login pages and anything you wouldn’t want quoted.

Step 2: Write the File in the Right Format

The llms.txt proposal makes only one section required: an H1 with the site or project name. After that come an optional short summary in a blockquote, optional plain-text details, and H2 sections that each hold a list of links written as [name](url), with an optional note after a colon. An H2 named “Optional” holds links a tool can skip when it needs a shorter version.

# Example Plumbing Co.

> Licensed residential plumbing and drain service. Same-week appointments.

Quotes are given after an on-site visit. We serve homeowners only.

## Services

- [Drain cleaning](https://example.com/services/drain-cleaning/): what is included and how booking works
- [Water heater repair](https://example.com/services/water-heater/): repair vs replace guidance

## Company

- [About us](https://example.com/about/): license, service area and team
- [Contact](https://example.com/contact/): phone, hours and booking form

## Optional

- [Homeowner guides](https://example.com/insights/): seasonal maintenance articles

Write the summary and notes the way you’d brief a person: plain facts, no slogans. If a fact appears here, it should also appear on the linked page.

Step 3: Publish the File at Your Site Root

Save the file as llms.txt (plain text, UTF-8) and make it load at your root domain.

  • WordPress: upload the file to the same folder as your wp-config.php using your host’s file manager or SFTP. Some SEO plugins can generate the file for you; if you use one, review what it lists before you rely on it.
  • Shopify, Wix and other hosted builders: you may not be able to upload a file to the root folder directly. Use the platform’s supported method or a reputable app, then confirm the file loads at the root URL as plain text.
  • Custom sites: place the file in the public web root, or serve it from a route that returns text/plain.

The proposal also allows a file inside a subfolder, such as /docs/llms.txt, which then covers only the pages under that path. Most business sites only need the root file.

Step 4: Open It and Check It

Load example.com/llms.txt in a private browser window. It should show raw text, not your 404 page, a redirect to the homepage, or a cookie banner. Click a few links to confirm none of them are broken or redirect.

How Should You Handle llms-full.txt on a Large Site?

llms-full.txt is a convention some tools use for a single file holding the full text of many pages, but it isn’t part of the llms.txt proposal itself. For most business sites it adds upkeep without a clear payoff, so skip it unless a tool you depend on asks for it.

If you run a large documentation or knowledge-base site, the proposal offers a cleaner route: publish a clean Markdown version of key pages at the same URL with .md added (for example page.html.md or page.md), and link those from llms.txt. Generate those files automatically from your CMS so they never drift out of date, and split by section, with a subfolder llms.txt for each large area, rather than building one huge file.

The same ones that matter for regular search: Organization or LocalBusiness to describe who you are, Article for guides, Product for things you sell, and BreadcrumbList for site structure. Google states there is no special schema.org markup for its AI features, so the goal is accurate, consistent data, not exotic types.

Schema typeUse it onWhy it helps
Organization or LocalBusinessHome or about pageNames your business, logo, contact and profiles
ArticleBlog posts and guidesClarifies title, author and dates
Product (with Offer)Product pagesStates price, availability and identifiers
BreadcrumbListMost pagesShows where the page sits in the site
FAQPageReal FAQ sections onlyNo longer creates a Google rich result

A quick note on FAQ markup: Google’s documentation changelog shows FAQ rich results stopped appearing in Google Search from May 7, 2026, and the FAQ documentation was removed in June 2026. Existing FAQ markup does no harm, but don’t add it expecting a visual result in Google. For a longer look at the evidence, see whether schema markup helps AI search.

What it looks like in practice by business type:

  • Local service business (plumber, dentist, law firm): LocalBusiness on the home or contact page with address, phone, hours and service area, plus Article on guides.
  • Ecommerce store: Organization sitewide, Product with Offer on every product page (price, currency, availability), BreadcrumbList on category and product pages.
  • B2B or SaaS company: Organization with sameAs links to official profiles, Article on resources, and clear service or product pages that say who the offer is for.

Step 5: Add Organization Schema in JSON-LD

Google generally recommends JSON-LD, a script block that sits in the page code and doesn’t change what visitors see. Add Organization (or LocalBusiness) markup once, usually on the home or about page, through your SEO plugin, theme settings or a tag in the page head.

<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Co.",
"url": "https://example.com/",
"logo": "https://example.com/logo.png",
"sameAs": [
"https://www.linkedin.com/company/example",
"https://www.facebook.com/example"
]
}
</script>

Keep the name, phone and address exactly as they appear on your site and business listings. Mismatches between your markup, your pages and your profiles are the most common reason structured data gets ignored.

Step 6: Add Page-Level Schema and Validate It

Turn on Article markup for posts and Product markup for product pages, usually from your SEO plugin or ecommerce platform settings, then test a sample of each page type with Google’s Rich Results Test. Google’s structured data guide recommends checking markup this way during development, and it also asks that markup describe what is actually visible on the page.

How Is Schema for AI Search Different From Regular Technical SEO Schema?

Mostly, it isn’t. Google’s AI optimization guide says structured data isn’t required for its generative AI features but is still worth using as part of normal SEO, which means the same markup serves both.

The difference is in emphasis. For AI answers, the entity details matter most: a consistent business name, what you do, where, and links to your official profiles. Rich-result chasing matters less, especially now that FAQ results are gone. The bigger wins usually sit in the content itself: pages that answer a question in the first two sentences, show prices or price ranges where you can, and use the same facts everywhere. Our AEO checklist covers those content steps.

How Do You Block AI Crawlers From Sensitive Pages While Keeping llms.txt Open?

Use robots.txt rules per crawler and per folder, and simply never disallow /llms.txt. OpenAI documents separate crawlers: OAI-SearchBot finds pages for ChatGPT search, and GPTBot collects content that may be used to train its models, so you can allow one and limit the other.

Step 7: Write Crawler Rules in robots.txt

User-agent: GPTBot
Disallow: /account/
Disallow: /internal/

User-agent: OAI-SearchBot
Allow: /

Sitemap: https://example.com/sitemap.xml

Three cautions. First, OpenAI says sites that block OAI-SearchBot won’t be shown in ChatGPT search answers, so only block it if you mean to. Second, OpenAI notes its ChatGPT-User agent acts on a user’s request and may not follow robots.txt. Third, Google states robots.txt is not a way to hide pages or keep them out of search: anything truly private needs a login, and pages you want out of search need noindex. Other AI companies publish their own user-agent names, so check each provider’s crawler page before adding rules for it. Whether to block training crawlers at all is a business decision we cover in our guide to blocking AI crawlers.

How Can You Test Whether It All Works?

Test each layer separately: the file loads, the markup validates, and the crawlers you want are allowed in. As of October 2026, OpenAI’s crawler page says robots.txt changes can take about 24 hours to take effect for ChatGPT search, so recheck after a day rather than minutes later.

Step 8: Run the Final Checks

  1. Open /llms.txt and /robots.txt in a private window and confirm both load as plain text.
  2. Run three to five representative pages through the Rich Results Test and fix any errors.
  3. Confirm no robots.txt rule blocks /llms.txt, your sitemap, or pages listed in llms.txt.
  4. Check your server or CDN logs, or your host’s bot report, for visits from the crawlers you allowed.
  5. Watch AI referrals in analytics; tracking ChatGPT and AI traffic in GA4 explains the setup.
ProblemLikely causeFix
/llms.txt shows a 404File not in the web rootRe-upload to the root or use the platform’s method
/llms.txt redirects to homeCatch-all redirect ruleExclude the file from the redirect
File downloads instead of displayingWrong content typeServe it as text/plain
Rich Results Test finds no itemsMarkup missing or loaded lateCheck the page source; add it server-side
Schema errors on price or nameMarkup doesn’t match the pageMake markup match the visible text
Pages missing from ChatGPT searchOAI-SearchBot blockedAllow it in robots.txt, recheck in a day
Bot or firewall blocks AI crawlersCDN or security ruleReview bot settings at your CDN or host

Is Setting This Up Enough to Get Cited by AI?

No. These files help AI tools reach and understand your site, but citations come from having clear, trustworthy answers that other sources confirm. Treat llms.txt and schema as the plumbing, then put most of your effort into the pages themselves and your reputation off-site.

If your business still isn’t appearing in AI answers after the technical basics are right, the cause is usually content or authority, not markup; why your business isn’t showing up in ChatGPT walks through the usual reasons. If you’d rather have it checked for you, our AEO and GEO service runs month-to-month with no lock-in, and starts with a free audit.