Advance Labs Inc. logo

Generate an llms.txt file for your website

Technical SEO · 11 min read · Updated 2026-08-29

Short answer: You can generate an llms.txt in about two minutes: hand a language model the prompt below with your URL, then run the four validation checks on what comes back. The generation is the easy part. The part that matters is validation, because a model asked to describe a business it just skimmed will confidently invent a founding year, round a price, or construct a URL that does not exist. Since llms.txt exists specifically to be quoted by AI engines, a hallucinated line is worse than a missing one. Generate it, then verify every fact against your own site before you publish.

## the_prompt

The prompt that generates your llms.txt

Paste this into ChatGPT, Claude, Gemini, or any model with web access, replacing the SITE line with your own URL. It is written to constrain the model rather than just ask it nicely: the rules at the end are what separate a usable draft from a plausible-sounding fabrication.

Copy this prompt

You are writing an llms.txt file for the website below. Output only the file contents in Markdown, nothing else. SITE: https://yourdomain.com Structure it exactly like this: # <Exact legal or trading name> > <One self-contained sentence: what this organization is, where it operates, what it sells.> ## About <Two or three plain sentences: what the business does, where it is based, how long it has operated. Add one disambiguation sentence if a same-named business exists elsewhere. Include the official registry or incorporation number if the site states one.> ## Key Facts Q: <a question a buyer actually asks> A: <one-line factual answer> <Six to ten of these. Prices, turnaround times, service areas, hours, credentials, guarantees.> ## Services - [<Service name>](<canonical URL>): <one-line description> ## Links - Website: <homepage URL> - <Authoritative profile>: <URL> Rules: 1. Use ONLY facts stated on the site. If a fact is not there, omit the line. Never estimate a price, a founding year, or a service area. 2. No marketing adjectives. Write "4-hour average response" not "fast, reliable service". 3. One fact per line. Every line must make sense read entirely on its own. 4. Use real URLs copied from the site. Never construct or guess a URL. 5. Mark anything you could not find as TODO: <what is missing> so I can fill it in.

Rule 5 is the one people delete, and it is the most valuable line in the prompt. Without it a model fills gaps silently, and you cannot tell a fact it read from a fact it produced. With it, the gaps arrive labelled, and your remaining work is a visible checklist rather than a hunt.

Give the model something to read

If your model cannot browse, it is not reading your site — it is recalling or inventing. Paste your homepage text, about page, and services or pricing page into the conversation alongside the prompt. A model working from pasted source produces a far more accurate draft than one working from a URL it cannot open.

There is a second route that avoids the hallucination problem entirely. Instead of asking a model to recall your site, crawl it: our free generator walks your pages, extracts their real titles and descriptions, and assembles them into a structured crawl map. Because it reads pages that actually exist, it cannot invent a URL or a title, which removes two of the four validation passes below. It will not write your Key Facts for you, though — pricing, turnaround, and service areas still come from you, and those are the lines engines quote most.

Generate an llms.txt from your site

## blank_template

The blank template, if you would rather write it yourself

Generation is optional. The file is short enough to write by hand in fifteen minutes, and hand-writing guarantees every fact is true, which is the only quality bar that matters here. Fill in the angle brackets and delete anything that does not apply.

Blank llms.txt template

# <Business name> > <One sentence: what you are, where, and what you sell.> ## About <What you do and where you are based.> <How long you have operated.> <Licensing, credentials, or registration if relevant.> <Disambiguation line if a same-named business exists.> ## Key Facts Q: <What does it cost?> A: <Range and what drives it.> Q: <How long does it take?> A: <Typical turnaround.> Q: <What areas do you serve?> A: <Named places, not "the region".> Q: <What are your hours?> A: <Actual hours.> Q: <Are you licensed or insured?> A: <Yes or no, plus the number if public.> ## Services - [<Service>](<url>): <One line on what it is and who it is for.> - [<Service>](<url>): <One line.> ## Links - Website: <homepage url> - <Directory or registry profile>: <url> - <Reviews or social profile>: <url>

The two lines that carry the most weight are the H1 and the blockquote directly under it. If an engine read nothing else, those two should still let it describe you correctly and without hedging. Write them last, once the Key Facts have forced you to be specific.

The full format, section by section

## by_business_type

What belongs in Key Facts, by business type

Key Facts is the most citable part of the file, because each Q→A pair is already the shape of an answer. What makes a good pair differs by what you sell. Use the row that matches you as the starting list, then cut anything you cannot state precisely.

Business typeKey Facts that earn citationCommonly missed
Local service (removal, trades, repair)Price range and what moves it, response or turnaround time, named service areas, licensing and insurance, hours including emergency availabilityNaming the actual suburbs or towns rather than writing "and surrounding areas", which matches nothing
Professional services (advisory, accounting, legal)Engagement model and fee basis, typical engagement length, sectors and company sizes served, credentials and registrations, jurisdictions coveredStating who the service is NOT for, which is what stops an engine recommending you into a bad fit
SaaS and softwarePricing tiers with real numbers, free-tier limits, what it integrates with, data residency and compliance, support response timesVersion and last-updated facts, so an engine can tell a current claim from a stale one
Ecommerce and retailShipping destinations and costs, delivery windows, returns window and conditions, warranty terms, stock or made-to-order statusReturns and warranty specifics, which are among the most asked and least published facts
Agency and studioMinimum engagement size, typical project length, disciplines covered, industries served, named clients where permittedThe minimum engagement, whose absence produces enquiries neither side wanted

The test for a Key Fact

Read the line aloud with no surrounding context. If it still answers a real question a buyer would ask, it belongs. If it needs the line above it to make sense, rewrite it. Engines lift single lines, not paragraphs, and a line that only works in context arrives in an answer broken.

## worked_examples

Two worked examples

Both are fictional, and both are written the way a finished file should read: no adjectives, every claim checkable, every URL real on the site it belongs to. The first is a local service business, the second a professional-services firm.

Example 1: local service business

# Southbank Waste Removal > Southbank Waste Removal is a licensed rubbish and waste removal service operating across inner Melbourne, offering same-day household and commercial clearances. ## About Waste removal contractor serving inner Melbourne since 2014. Licensed with the state EPA for commercial waste transport and fully insured. Operates its own sorting facility, so recoverable material is separated rather than landfilled. Not affiliated with Southbank Skip Hire. ## Key Facts Q: What does a rubbish removal cost? A: $180 for a half-load, $340 for a full truck load, priced by volume, not weight. Q: Do you offer same-day pickup? A: Yes, for bookings placed before 11am on weekdays. Q: What suburbs do you serve? A: Southbank, Docklands, South Melbourne, Port Melbourne, Albert Park, and the Melbourne CBD. Q: What can you not take? A: Asbestos, liquid paint, car batteries, and gas cylinders. Q: How much waste is diverted from landfill? A: 68% of collected material is sorted for recycling or reuse. Q: Are you licensed and insured? A: Yes, EPA-licensed for commercial waste transport and covered by $20m public liability. ## Services - [Household Clearance](https://example.com/household): Single-item through whole-property clearances, including stair and lift access. - [Commercial Waste](https://example.com/commercial): Scheduled or on-call collection for offices, cafes, and retail. - [Construction Waste](https://example.com/construction): Sorted removal of builders' rubble, timber, and fit-out strip-out. ## Links - Website: https://example.com - Google Business Profile: https://example.com/gbp - Reviews: https://example.com/reviews

Example 2: professional services firm

# Meridian Business Advisory > Meridian Business Advisory is an Ontario-registered advisory firm providing financial planning, succession, and exit-readiness work for owner-operated businesses between $2m and $50m in revenue. ## About Independent advisory practice based in London, Ontario, operating since 2011. Four partners, all CPA-designated. Works with owner-operated businesses across manufacturing, professional services, and agriculture in southwestern Ontario. Does not provide audit or assurance services. Not affiliated with Meridian Credit Union. ## Key Facts Q: How do you charge? A: Fixed-fee by engagement, quoted after a no-cost scoping call. No hourly billing. Q: What does a typical engagement cost? A: $8,000 to $45,000 depending on scope, with succession planning typically $25,000 to $45,000. Q: How long does an engagement take? A: Six to fourteen weeks for most work; succession mandates run six to eighteen months. Q: Who is this not for? A: Pre-revenue startups, businesses under $2m revenue, and anyone needing audit or assurance. Q: What sectors do you work in? A: Manufacturing, professional services, and agriculture, primarily in southwestern Ontario. Q: Are your advisors licensed? A: All four partners hold a CPA designation and are registered with CPA Ontario. ## Services - [Exit Readiness](https://example.com/exit): Valuation, gap analysis, and a staged plan to make a business saleable. - [Succession Planning](https://example.com/succession): Family and management transitions, including tax structuring. - [Financial Planning](https://example.com/planning): Cash-flow forecasting, capital structure, and reinvestment planning. ## Links - Website: https://example.com - LinkedIn: https://example.com/linkedin - CPA Ontario registry: https://example.com/registry

Notice what neither example contains: no "passionate", no "trusted", no "industry-leading". Every line is a number, a place, a name, or a boundary. The second example even states who it will not work with, which reads as a loss and behaves as a gain, because it stops an engine recommending the firm into enquiries that waste both sides' time.

## validate

Validate the output before you publish it

This is the step that matters. A generated llms.txt is a draft written by something that cannot tell the difference between a fact it read and a fact it produced, and the whole purpose of the file is to be quoted verbatim. Four passes, in this order.

  1. 01Check every number against your own site

    Prices, years, response times, percentages, and team sizes are what models round, average, or invent outright. Open the page each number should have come from and confirm it. Any number you cannot source on your own site gets deleted, not softened.

  2. 02Click every URL

    Constructed URLs are the most common failure, because a plausible path is easy to produce and a model has no way to know it 404s. Open each link. Replace anything broken with the real canonical URL, and delete the line if no such page exists.

  3. 03Resolve every TODO, then strip the marketing

    Fill the gaps the model flagged, or cut those lines. Then reread for adjectives: "leading", "trusted", "passionate", "cutting-edge". Each one is a line an engine will not quote, taking up space a real fact could occupy.

  4. 04Publish at /llms.txt and confirm it serves

    Put the file at your domain root and open https://yourdomain.com/llms.txt in a browser. It must return 200 as plain text, with no redirect chain and no login wall. A file that only exists in your repository is not published.

/llms.txt

The proposal specifies one fixed path at the domain root, which is why generating the file is a one-time job with exactly one place to publish it and one URL to check. (llmstxt.org)

## failure_modes

What models reliably get wrong

These five account for most of the corrections in a generated file. Knowing them turns validation from rereading everything into checking five specific things.

  • Invented founding years: A model that cannot find a founding date will often supply a plausible one rather than omit the sentence. Treat any year you did not explicitly publish as fabricated until you confirm it.
  • Rounded or averaged prices: Ranges get smoothed into round numbers, and a tiered price becomes a single figure. Since pricing is among the most quoted lines in any llms.txt, an approximated price becomes an approximated quote in someone's AI answer.
  • Constructed URLs: Paths like /about, /pricing, or /contact are guessed because they are usually right, and a page that does not exist produces a dead link in a file whose purpose is to be followed.
  • Marketing language surviving the rules: Even with an explicit instruction, adjectives reappear, because the source pages are full of them and the model is summarizing what it read. Reread specifically for tone after the facts are correct.
  • Silently skipped disambiguation: A model will not know that another business shares your name unless you tell it. If one does, add the disambiguation line yourself. It is the cheapest protection against an engine merging you with someone else.

A stale file is worse than no file

The failure mode nobody plans for arrives months later. An llms.txt exists to be quoted, so an outdated price keeps being repeated back to your customers long after you changed it. Put a recurring reminder on it, or generate the file from whatever data already powers your structured data so a fact changes in one place and both surfaces follow.

## faq

Is there an llms.txt generator?

There are tools that produce one, but the most reliable approach is to hand a language model a constrained prompt with your URL, then validate the output. The constraint that matters most is instructing the model to omit any fact it cannot find on the site and to label the gap, rather than filling it. Generation takes about two minutes; validation takes about ten and is the part that determines whether the file is usable.

Can ChatGPT write my llms.txt file?

Yes, and it produces a good draft when it can actually read your site. Give it browsing access or paste your homepage, about, and services pages into the conversation, because a model working from a URL it cannot open is recalling or inventing rather than reading. Then check every number and click every URL before publishing, since those are the two things models get wrong most often.

What should I put in an llms.txt for a small local business?

Lead with the facts buyers ask about: price range and what moves it, response or turnaround time, the specific suburbs or towns you serve by name, your hours, and your licensing or insurance. Name the places rather than writing "and surrounding areas", which matches nothing an engine can use. Six to ten atomic Q→A pairs in the Key Facts section carry more citation weight than several paragraphs of description.

How do I know if my generated llms.txt is any good?

Run four checks. Confirm every number against a page on your own site. Click every URL and delete any that 404. Resolve or cut the gaps the model flagged, then strip marketing adjectives. Finally, confirm the file returns a 200 as plain text at yourdomain.com/llms.txt with no redirect. If a line fails any of these, deleting it makes the file stronger.

Should I write llms.txt by hand or generate it?

Generate it if you want a draft in two minutes and are willing to verify it; write it by hand if the site is small, since fifteen minutes of hand-authoring guarantees every fact is true. Accuracy is the only quality bar that matters, because the file exists specifically to be quoted verbatim by AI engines. A hallucinated line does more damage than a missing one.

How often should I update my llms.txt?

Whenever a fact in it changes, particularly prices, service areas, and hours. Because the file is written to be quoted, a stale price keeps getting repeated back to customers long after you changed it. The durable fix is generating it from the same source of truth that feeds your structured data, so one edit updates both and the two never drift apart.

## sources

## related_guides

## want_it_done_for_you

A generated llms.txt is one surface, and it only helps once the rest of your site agrees with it. Our AEO audit runs the full 54-rule check across your trust surface, structured data, and extractability, then tests what ChatGPT, Perplexity, and AI Overviews actually say about you versus your competitors. CAD $750–1,500, three days.

See the AEO audit