The AI readiness checklist for local service businesses
Eighteen checks that decide whether an AI assistant can read and recommend your business — grouped by how much each one costs you, with what 'good' looks like.
This is the list. If you want to work through it yourself rather than pay anyone, everything you need is here.
The checks are grouped the way they’re weighted: essential items cost you the most points and block the most, recommended items are where most sites lose their remaining ground.
Essential
1. robots.txt exists and doesn’t block AI agents
Serve a real /robots.txt, name GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and
Google-Extended explicitly, and include a Sitemap: line. More on this here.
2. A valid, complete sitemap
sitemap.xml, referenced from robots.txt, listing every page you want read. Not just the ones
your navigation links to.
3. Real 404s for missing pages
A page that doesn’t exist must return HTTP 404, not 200 with an empty body. Soft 404s get
indexed as real content and quoted back at customers.
4. One canonical host
yoursite.com and www.yoursite.com must not both serve content. Pick one, 301-redirect the
other. Otherwise you have two copies of every page and neither accumulates authority.
5. HTTPS, properly
Valid certificate, http:// redirects to https://, no mixed content. Assistants deprioritise
sites they can’t fetch securely.
6. Your facts exist as text
Hours, phone number, address, service area and service list must be readable text — not baked into images, not only inside a map widget, not only in a PDF.
Recommended
7. LocalBusiness structured data
JSON-LD in your <head> stating name, address, telephone, openingHours, areaServed and
priceRange. This is the single highest-leverage item on the list: it turns implied facts into
stated ones.
8. An llms.txt summary
A plain-text description of the business at /llms.txt. What goes in it.
9. One <h1> per page, describing that page
Multiple <h1> tags, or an <h1> containing only your logo, leave a crawler without a topic.
10. Descriptive page titles
“Home” tells a machine nothing. “Roof replacement and storm repair in Raleigh, NC” tells it everything.
11. Meta descriptions that state facts
Not a slogan. A one-sentence factual summary of what the page covers.
12. A content feed
RSS, Atom or JSON Feed, declared in your <head>. Gives agents a cheap way to see what changed
without re-crawling everything.
13. Clean text when asked for it
Some agents request text/markdown or plain text. Serving raw HTML or JavaScript in response is a
missed opportunity; serving a readable text version is a small win.
14. Link headers for discovery
Link: response headers pointing at your feed, sitemap and canonical URL.
15. Images with real alt text
Not “image1.jpg”. If a photo carries information — a completed job, a certification badge — say what it shows.
16. Internal links that use words
“Click here” is invisible. “Our roof replacement service in Durham” is a fact and a route.
17. Reasonable page weight
A homepage that takes eight seconds to render may be abandoned by a crawler on a timeout before it sees anything.
18. No content that only exists after JavaScript runs
Some agents execute JS, many don’t. If your services list is rendered client-side, assume half of them never see it.
How to use this
Work top-down. The essential items are worth more and several of them are ten-minute fixes —
robots.txt and the canonical host redirect between them often move a score more than a week of
content work.
If you’d rather see which of the eighteen your site currently fails before deciding what to do, the scan is free and takes about twenty seconds. If you’d rather not do any of it yourself, we’ll do the lot.