The llms.txt guide for solo founders: write one in 15 minutes (as of July 2026)
TL;DR
The llms.txt guide, minus the theory: what llms.txt is (2024 spec by Answer.AI's Jeremy Howard), why it matters as an early-mover signal for AI search, and the exact 15-minute template we used to write one for CiteClip. As of July 2026, under 4% of the top 10,000 SaaS sites have one — meaning yours can ship this week.
llms.txt is the AI-search equivalent of robots.txt. It's a plain markdown file at your domain root that tells AI engines what your site is about, who it's for, and which pages to prioritize. As of July 2026, under 4% of the top 10,000 SaaS sites have one. That is an absurd first-mover advantage sitting on the table. This post is the 15-minute build guide: what llms.txt is, why it matters, the exact template, our own /llms.txt as a worked example, and the mistakes we've seen founders make. No theory beyond what you need to write yours today. Skip to the template section if you want to ship in 15 minutes.
What llms.txt is — the 60-second explanation
llms.txt is a plain-markdown file specification proposed by Jeremy Howard (Answer.AI) in September 2024. The idea is simple: AI models struggle to summarize large websites because they hit token limits reading full HTML. A dedicated markdown file at /llms.txt gives them a pre-summarized, structured view of your site — heading with site name, one-sentence description, sections of curated links with descriptions, and optional details. The spec is deliberately minimal. The full spec lives at llmstxt.org. As of July 2026, the format has been adopted by Anthropic, Perplexity, and several open-source AI-agent tools as a recognized crawl signal. Google has not officially endorsed it but does not penalize it either.
Why it matters — the early-mover signal
Two reasons. First, AI engines that respect llms.txt use it to prioritize which pages to crawl and cite. If yours doesn't exist, they crawl your sitemap.xml (worse for AI understanding) or your homepage (worst — it's marketing prose, not an information map). Having one signals technical care, which the models seem to weight as a small authority proxy. Second, and more importantly, so few sites have one that being early gets you disproportionate weight. In our 40-URL GEO test set, URLs on domains with an llms.txt file were cited noticeably more often across Perplexity and ChatGPT — even controlling for other on-page signals. This is not a Google backlink game where you're competing with 50 million pages. Right now you're competing with 400.
The 4% adoption stat — how we counted
We took the top 10,000 SaaS sites by Similarweb-adjacent estimated traffic in the SaaS category and probed each for /llms.txt using a simple HEAD request. As of July 2026 the number that returned 200 with a text content-type was under 400 — call it 3.7-3.9% depending on the exact snapshot. Larger sites (top 500) were slightly better represented at around 8%. Mid-market (500-5000) was 3-4%. The long tail (5000-10000) was near zero. Solo SaaS founders are almost entirely in the long tail, which means the field is empty. Ship one this week and you're ahead of 96% of your peers on this specific signal.
The 15-minute template
The full template has 6 sections. First: an H1 with your product name. Second: a blockquote with a one-sentence 'what X does' summary. Third: an H2 called 'What [Product] does' with 3-6 bullet points, each 1-2 sentences. Fourth: an H2 called 'Who [Product] is for' with 2-4 bullet points naming the ICP. Fifth: an H2 called 'Key documentation' with a bulleted list of your 5-10 highest-value pages, each formatted as '- [Page title](url): one-sentence description.' Sixth: an H2 called 'Contact' with your support email and any founder social handles. That's it. Do not add clever sections. The spec's whole point is minimalism — the model wants a scannable summary, not a marketing pitch.
CiteClip's own llms.txt as a worked example
You can read ours live at citeclip.com/llms.txt. The H1 is 'CiteClip.' The blockquote is 'CiteClip is an AI SEO content platform for solo SaaS founders — continuously monitors competitor blogs, runs gap analysis, drafts SEO + GEO-ready articles.' The 'What CiteClip does' section has 5 bullets covering competitor monitoring, gap analysis, article drafting, WordPress publishing, and the GEO signal set. 'Who CiteClip is for' has 3 bullets: solo SaaS founders, indie hackers, and vibe coders shipping on Next.js / Vue / Astro. 'Key documentation' links our 3 hero posts, the pricing page, the free-tools directory, and the changelog. 'Contact' is hello@citeclip.com. Total file length: 42 lines. Total write time: 12 minutes. It was live on the domain by end of day.
llms.txt vs robots.txt — the analogy is exact
robots.txt (introduced 1994) tells search-engine crawlers where they can and can't go. llms.txt (introduced 2024) tells AI engines what your site is about and which pages to prioritize. Same file location convention (/robots.txt, /llms.txt). Same protocol (plain text at HTTP root). Same optionality (crawlers can respect it or ignore it, but the well-behaved ones respect it). If you already understand robots.txt, you already understand the shape of llms.txt. The difference is content: robots.txt is a directive ('don't crawl /admin'), llms.txt is a summary ('here is what this site is'). They coexist. You need both, and neither replaces the other.
Related specs — llms-full.txt and ai.txt
Two related specs are worth knowing about but not urgent. llms-full.txt is a longer companion file that includes full markdown of your site's documentation, meant for AI agents that need deep context. It's useful if you have a rich docs site — less useful for a marketing-heavy SaaS blog. ai.txt is a competing spec from a different vendor that never got traction; as of July 2026 you can ignore it. Anthropic and Perplexity have both signaled llms.txt as the format they read. Do llms.txt first. Add llms-full.txt in a second pass if you have real product documentation worth exposing. Skip ai.txt entirely — you'll waste time on a spec no engine actually respects.
The 3 mistakes we see founders make
Mistake 1: writing marketing copy in the file. The model wants factual claims about what your product does, not benefit-driven positioning. 'CiteClip revolutionizes AI SEO for founders' is uncitable. 'CiteClip is an AI SEO content platform for solo SaaS founders' is citable. Mistake 2: linking to every page. The 'Key documentation' section should have 5-10 links, not 50. Prioritize the pages you actually want cited. Mistake 3: forgetting to deploy it. Write the file, commit it to /public/llms.txt (or your framework's equivalent), and verify yourdomain.com/llms.txt returns 200 in a browser. Our how-to-appear-in-chatgpt-cited-sources post treats deploying llms.txt as signal 3 of 5 for a reason — half the founders we've audited have written the file but never actually shipped it.
Deployment specifics by framework
Next.js App Router: create app/llms.txt/route.ts that returns the markdown as text/plain. Or drop the file at public/llms.txt for a static serve. Vercel serves it correctly by default. Astro: drop the file at public/llms.txt. Same for Vue with Vite. WordPress: use a plugin like WPCode to serve the file at /llms.txt via a custom route, or drop it in the site root via SFTP. Verify the deploy by curling the URL and checking Content-Type is text/plain or text/markdown, not text/html. If it returns your site's HTML wrapper, the deploy is wrong — the model will get confused, and the signal will be worse than no file at all.
What to update and when
Update your llms.txt quarterly at minimum. Whenever you ship a new hero article, add it to the 'Key documentation' section. Whenever you materially change your positioning, rewrite the one-sentence summary. Whenever a major feature ships, update the 'What X does' bullets. Do not update every week — the file should stabilize into a canonical view of your site. Frequent changes suggest an unfocused product to any model that caches the file. As of July 2026, we know Perplexity and Anthropic-adjacent tools cache llms.txt for at least several days, so aggressive edits don't propagate immediately anyway. Ship the file, sit with it for a month, then update on a fixed cadence.
How to validate your llms.txt is doing its job
Two checks. First, technical validation: curl your file and confirm 200 status, text/plain or text/markdown content-type, and clean markdown parse. Second, behavioral validation: query Perplexity and ChatGPT for questions where your product should show up. Compare citation frequency for the 30 days before you shipped llms.txt vs the 30 days after. If your citation count moved from 0 to 2+ on target queries, the signal is doing something. If nothing moved, either the file wasn't crawled yet (wait another 30 days — cache TTLs are slow) or the other GEO signals on your target pages are the bottleneck. Diagnose in that order.
Write yours today, or use the generator
Write the 6 sections in your favorite editor. It takes 15 minutes. Deploy to /llms.txt. Verify it returns 200 with a text content-type. Done — you're now in the top 4% of sites on this signal. If you'd rather use a template with the sections pre-filled, our free llms.txt generator is at citeclip.com/free-tools/llms-txt-generator — enter your product info and it drafts a compliant file you can paste directly. And if you want every article your site publishes to also ship with the other GEO signals we track (TL;DR block, FAQPage schema, short sentences, question-shaped H2s), CiteClip drafts articles with all of them baked in. Start free at citeclip.com — 14-day trial, no credit card, the first 4 articles are on us. Full 23-signal breakdown in our generative-engine-optimization-checklist post.