Three things make a home service website legible to ChatGPT, Perplexity, and AI Overviews: crawler access (so the bots can actually reach your pages), structured data (so they can parse who you are, what you do, and where you work), and FAQ pages written in extractable question-and-answer format (so there's a clean sentence to quote). None of these guarantee a citation, but together they remove the technical reasons an AI engine would skip your site in favor of a competitor's. Most contractor sites are missing at least two of the three.
What is llms.txt and does a contractor site need one?
llms.txt is a plain-text file at yourdomain.com/llms.txt that summarizes your site for AI crawlers in markdown — think of it as a table of contents written for a language model instead of a human browsing a menu. Adoption isn't universal yet (it's not an official web standard the way robots.txt is), but it's low-effort and low-risk to add, and several AI crawler tools are starting to check for it. It won't move the needle by itself, but it's a five-minute file that costs nothing to try.
A basic version for a contractor site includes:
- A one-line business description ("ABC Roofing installs and repairs residential roofs in the Dallas–Fort Worth metro")
- Service area list
- Links to your core service pages with one-sentence descriptions of each
- A link to your reviews/testimonials page
- A link to a contact or quote-request page
Keep it under a page. It's a summary, not a sitemap dump — an AI engine that wants your full page list already has your sitemap.xml.
Which schema types actually matter for home service sites?
Four schema types cover most of what a contractor site needs. Skip the exotic ones — they add crawl weight without adding clarity for a service business.
| Schema type | What it tells AI engines and search | Where to add it |
|---|---|---|
| LocalBusiness (or a subtype like RoofingContractor, Electrician, HVACBusiness) | Business name, address, phone, service area, hours, price range | Homepage and/or global site footer |
| Service | Specific services offered, each tied to the business and service area | Individual service pages (e.g., /roof-repair, /panel-upgrades) |
| FAQPage | Question-and-answer pairs eligible for direct extraction | Any page with a genuine FAQ section |
| Review / AggregateRating | Star rating and review count, pulled from a verified source | Homepage or a dedicated reviews page — only if the ratings are real and sourced from Google/Yelp/etc. |
Use Google's Rich Results Test or Schema.org's validator to confirm the markup is error-free before publishing — broken schema is often worse than no schema, since it can flag the page as low-quality to crawlers.
How should FAQ pages be structured for AI citation?
Write each question as a real search phrase a homeowner would type, and answer it in the first sentence beneath it — no throat-clearing, no "great question." AI engines and Google's AI Overviews pull short, self-contained answers; a paragraph that buries the number in sentence three won't get quoted even with perfect schema.
A well-built FAQ entry looks like this:
- Question: "How much does it cost to replace a garage door spring?"
- Answer, first sentence: "Garage door spring replacement typically runs $150–$350 for a single spring, including labor." Then one or two sentences of context (torsion vs. extension springs, why prices vary).
Put 4–8 real questions per service page, not a generic 20-question FAQ dump at the site level. Page-specific FAQs (on the roof-repair page, on the panel-upgrade page) give AI engines a direct match between the query and the source page, which is what gets cited — a single catch-all FAQ page competes with itself across every topic.
What's the right order to build this out?
Most contractor sites don't need all of this at once. Here's the sequence that gets the fastest return on effort:
| Step | Task | Effort |
|---|---|---|
| 1 | Confirm robots.txt allows GPTBot, ClaudeBot, PerplexityBot, and Google-Extended (many sites block these by default via their hosting platform or an old robots.txt template) | 15 minutes |
| 2 | Add LocalBusiness schema to the homepage with accurate NAP (name, address, phone) and service area | 1–2 hours |
| 3 | Add Service schema to your top 5–10 highest-intent service pages | 2–4 hours |
| 4 | Write and mark up FAQPage schema for those same pages (4–8 real questions each) | 3–6 hours |
| 5 | Add AggregateRating schema pulling from a real, verified review source | 1 hour |
| 6 | Publish an llms.txt file summarizing the site | 30 minutes |
Steps 1–4 do the heavy lifting. Steps 5 and 6 are worth doing, but they're cleanup, not foundation.
How do you know any of this is working?
There's no perfect dashboard for AI citations yet, but a few signals are worth tracking monthly: run your top 10–15 service + city queries directly in ChatGPT, Perplexity, and Google's AI Overview and note whether your business is mentioned or linked; check GA4 for referral traffic from chat.openai.com, perplexity.ai, and similar domains; and watch whether branded search volume (people searching your business name directly) climbs after an AI mention, since that's often how a citation turns into a lead. None of this moves in a straight line week to week — treat it as a quarterly trend, not a daily metric.
Frequently asked questions
Does llms.txt replace the need for schema markup?
No. llms.txt is a plain-text summary for AI crawlers; schema is structured data embedded in your pages that search engines and AI tools parse programmatically. They serve different purposes and work best together — llms.txt gives context, schema gives verifiable facts.
Will adding schema guarantee my business gets cited by ChatGPT or AI Overviews?
No tool or markup guarantees a citation. Schema and clean FAQ formatting make it easier for AI engines to parse and trust your content, which improves the odds over time, but citations also depend on review volume, site authority, and how directly your content answers the query.
Can I use a plugin to add schema instead of coding it manually?
Yes — most WordPress sites can use a schema plugin (Rank Math, Yoast, or Schema Pro are common choices) to add LocalBusiness, Service, and FAQPage markup without touching code. Custom-built sites usually need a developer to add the JSON-LD blocks directly to page templates.
How often should FAQ content be updated?
Review FAQ pages every 6–12 months, especially any that include pricing ranges — outdated numbers hurt credibility with both readers and AI engines that check for freshness. Add new questions as you notice recurring customer questions from calls or form submissions.
Getting the technical layer right is step one — turning AI visibility into booked jobs is the harder part. If you want a second set of eyes on your site's AI-readiness, Nova Marketing (novamarketing.ai) offers a free strategy call to walk through what's missing.