An llms.txt is easy to write and easy to get subtly wrong. The file can look perfectly fine in your editor and still be malformed, or point at pages that 404 — and unlike a broken web page, nothing visibly breaks, so you never notice. Here's exactly what to check before (and after) you publish.
1. Structure
Confirm the spec basics:
- exactly one
#H1 title, -
a
>blockquote summary right under it, -
##sections that each contain a Markdown list of links.
Multiple H1s and empty sections are the two most common structural mistakes. If your file has two # lines, demote one to ##.
2. Link reachability (the check almost everyone skips)
This is the big one. Every URL you link should actually resolve. A flawless-looking file that points at 404s wastes a crawler's budget and quietly erodes trust — and most "llms.txt checkers" only lint the syntax, so dead links sail straight through them.
You have to actually request each linked URL and look for anything that's broken or redirecting. This is where doing it by hand falls apart: eyeballing structure is fine, but clicking twenty links to check status codes is tedious and easy to get wrong.
3. Best practices
- Absolute
https://URLs — not relative paths, nothttp://. - A short
: descriptionafter each link so the model knows what it is. - Served as
Content-Type: text/plain; charset=utf-8(a lot of servers wrongly returntext/html).
Manual vs automated
You can verify all of the above by hand. Structure, sure. But link reachability across dozens of URLs, checking content type, re-checking every time you edit the file — that's exactly the kind of tedious, error-prone work worth automating.
The fast way
Paste your domain (or the raw text) into an llms.txt validator. It checks the structure, fetches every linked URL concurrently, applies the best-practice rules above, and returns a 0-100 score with a prioritized, fixable list of findings. Re-run it whenever you change the file.

What a clean result looks like: 100/100, every link fetched, with the HTTP status, size, content type and link count broken out. A single broken link drags the score down even when the Markdown is perfect.
The 30-second checklist
- [ ] One
#H1, one>summary,##sections with links - [ ] Every linked URL returns 200 (no 404s, no redirect chains)
- [ ] All links absolute
https:// - [ ] A
: descriptionon each link - [ ] Served as
text/plain; charset=utf-8 - [ ] Re-checked after your latest edit
Get those six right and your llms.txt is in better shape than most on the web today. Test it once, fix what's flagged, ship it.
Top comments (0)