Identity and facts: items 1 to 7
These seven are the facts an assistant has to pin down before anything else on the page counts.
1. Choose one trading name and write it the same way in the header, the footer, the title tag, the contact page and the about page; 43.1% of audited sites disagree with themselves about who and where they are.
2. Keep one phone number on the site and remove the rest, or label a second one plainly as a separate line; 36.9% of audited sites publish more than one.
3. Write the full street address, city, region and postal code as text on the contact page and in the footer, not only inside a map embed or an image; 34.1% of audited sites have no postal address a machine can parse.
4. State the area you serve in words on the homepage: the city and the towns, neighborhoods or counties you travel to.
5. Publish your hours as text, day by day, closures included, and the same hours in your Google Business Profile; the profile guidelines ask for the real name, the real address, the right categories and the real hours.
6. Put a price, a starting price or a range on each service page where you can state one truthfully, and where you quote per job, say what a quote includes and how quickly it arrives.
7. Match the Google Business Profile to the site field by field: name, address, phone, categories, hours and website URL.
Markup: items 8 to 13
17.8% of the audited sites carry no schema.org markup at all, and most of the 82% that do describe the website (WebSite, WebPage, BreadcrumbList) rather than the business. These six make the markup describe you.
8. Add a LocalBusiness node, or the specific subtype for your trade (Dentist, Plumber, LegalService, AutoRepair), as JSON-LD in the head of the homepage; Google recommends JSON-LD over the other formats.
9. Fill the fields that make the node usable: name, address as a PostalAddress, telephone, url, openingHoursSpecification, areaServed and priceRange; 13.7% of audited sites have business markup with those fields missing.
10. Make every value in the markup match the visible page word for word; Google's guidance is to mark up only what the visitor can see.
11. Add sameAs links to your Google Business Profile, your listings and your social profiles, so a machine can tell your business from another with a similar name.
12. Give each service its own Service node (serviceType, provider, areaServed) on the page for that service.
13. Check that the JSON-LD still parses after every edit; one missing comma makes the whole block unreadable, and nothing on the visible page will tell you.
Answers and reviews: items 14 to 19
61.5% of the audited sites have no question-and-answer content of any kind, and 64.7% show no review signal a crawler can read. These six are what an assistant quotes.
14. Write the five questions buyers ask on the phone as headings, each with an answer of 40 to 80 words directly beneath it; 50.7% of audited sites have a heading phrased as a question and no answer under it a machine can isolate.
15. Give every service its own page with at least one paragraph that says what the work is, where you do it and what it costs or how it is quoted; the answer-page template is the shape.
16. Put the answer in the first sentence under each heading and the detail after it, so the passage stands on its own when it is lifted.
17. Quote two or three real reviews on the page as text, with the reviewer's first name, the date and the platform, linked.
18. Keep a platform's rating out of your AggregateRating markup: Google's review snippet rules say not to aggregate ratings from other websites, and a business's reviews of itself on its own site earn no stars; the quoted text from job 17 is what a crawler can use.
19. Add FAQPage markup only after the visible answers exist, knowing that Google no longer shows an FAQ rich result; the text under the headings is what matters.
Access and measurement: items 20 to 25
Hardly anyone blocks assistants on purpose; 3.2% of audited sites do. More are blocked by accident, and none of the fixes above count until the door is open and someone is measuring.
20. Open /robots.txt and confirm the answer-side tokens (OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Googlebot) are allowed; the crawler access check reads the file for all nineteen, and OpenAI's documentation says disallowing OAI-SearchBot removes a site from ChatGPT search answers while disallowing GPTBot does not.
21. Fetch your homepage with an AI crawler's user agent (curl -A "OAI-SearchBot" -I https://www.example.com/) and make sure the reply is a 200 page, not a challenge; 7.2% of audited sites served our crawler a bot wall, and the setting that raises it is in the CDN's bot management.
22. View the source of your service pages with JavaScript off and confirm the words are in the HTML; 3.0% of audited sites render their text only in scripts, and Google's JavaScript documentation describes rendering as a separate, deferred step.
23. Move anything that lives only in a PDF (the price list, the service menu) onto a page as text; 2.1% of audited sites keep their real content there.
24. Write ten to twelve buyer questions, put each to ChatGPT, Claude, Gemini and Perplexity three times, and record named, recommended, first and who else, with the answer verbatim; that is your baseline. How we measure a client is the same idea, asked of one assistant, Claude with live web search, with every reading dated.
25. Re-run the same panel every month without changing a question; the 90-day roadmap sets the schedule, and a fix you cannot compare against a baseline is a guess.