A full local search audit for an HVAC contractor
An eight-page audit of an established Central Oregon HVAC contractor, run on public data. It found the business strong in AI answers that read websites and weak on Google Maps a few miles from its shop, and turned that into ten fixes ranked by impact.
About this sample
A real audit of a real business, run on public information on 27 September 2026 as a sample of WildRun’s paid-tier audit. The business was not a client and the findings are shown here with its name, location, competitors and identifying details removed. Figures shown are as they appear in the report.
The short version (from page 1)
AI assistants that read websites already rated the company highly: Claude and Perplexity named it in 20 of 28 answers and often listed it first. Where it was losing was Google. On Google Maps it made the top three only near its shop. A few miles north it dropped to 11th–21st, and from a nearby town it was not in the first 36. Google’s own AI answers, which lean on Maps listings and review text, named it once in four questions. The biggest fixes were in the Google Business Profile plus a handful of small website repairs. It did not need a new website.
- 6 of 27Maps checks across town in the top 3, all near the shop
- 1 of 4Google AI Mode answers that named the business
- 16 of 24Claude answers that named it (Perplexity 4 of 4, ChatGPT 4 of 5)
- 10 fixesranked by impact; six were settings or edits of an hour or less
How it was checked
- Google Maps: 33 searches. Three customer searches from a 3×3 grid of points about 3 km apart, plus six searches from the surrounding towns. Sponsored results excluded.
- Google search: 7 searches from a local location, recording organic position, the map box, ads and any AI Overview.
- AI answers: 37 answers. Claude: 8 questions × 3 fresh runs with web search. ChatGPT (5) and Perplexity (4) logged out in a clean browser. Google AI Mode (4). A signed-in ChatGPT answer was recorded but flagged as personalized and left out of the counts.
- Website: a full crawl of the site and both sitemaps, phone-size renders to confirm headlines and tap-to-call links, Lighthouse mobile lab tests in two rounds, and a check of how the firewall answered each search and AI crawler.
- Listings: 16 directories and data sources checked for name, address and phone, plus 10 “best of” lists. Sources that block automated reads are reported as unverified, not guessed.
- Competitors: review counts, Maps category, hours and public sitemap size for the companies that compete for the same searches.
Excerpt: the Maps grid
One of three grids in the report. Strong near the shop, invisible a few miles away: the pattern that pointed the fix list at the Business Profile instead of the website.
| West | Mid | East | |
|---|---|---|---|
| North | 11 | 19 | 19 |
| Mid | 7 | 5 | 5 |
| South | 6 | 3 | 3 |
Excerpt: the ten fixes, in order of likely impact
Numbers 1–6 were quick settings or edits. Each row in the report names the effort and who does it, so the owner can hand the web-team rows straight to whoever runs the site.
| # | Fix | What we found and why it matters | Effort | Who |
|---|---|---|---|---|
| 1 | Test a better-matched main category on the Google Business Profile | The profile’s main category did not match the company’s main line of work. In Whitespark’s 2026 local ranking factors survey the main category is the #1 factor for Maps, and the strongest competitors used categories that matched. Framed as a test with a re-run of the same grid 3–4 weeks later, not a sure thing. | 5 min | Owner |
| 2 | Show after-hours emergency service on Google | Google showed the business closed nights and weekends, while 6 of the 10 companies that reached the Maps top 3 anywhere in town showed open 24 hours. “Open at time of search” ranks #5 in the same survey. Its own emergency page promised a call-back within minutes. | 15 min | Owner |
| 3 | Fix the footer phone link | The footer call link on nearly every page dialed a wrong number. The visible number was correct, so nobody had noticed. | 5 min | Web team |
| 4 | Fix a price typo on a cost page | A cost page carried a price typo. AI answers quote prices directly, and this one read as a fraction of the real figure. | 2 min | Web team |
| 5 | Replace an old sitemap | /sitemap.xml was an old hand-made file whose entries were mostly dead or redirecting. The real sitemap lived at another address, and robots.txt referenced neither. | 15 min | Web team |
| 6 | Give service pages a main headline | Dozens of key pages had no H1, including the homepage and nearly all service and town pages. One template fix. | 1 hr | Web team |
| 7 | Stop the page jump on service pages | On phone tests the main content block moved down after the page loaded. Every service page tested showed layout shift several times Google’s “good” limit of 0.1 in at least one run, with mobile speed scores to match. | ½ day | Web team |
| 8 | Publish a local heat pump cost and incentives page | The only Google AI Overview triggered, for a local heat pump cost question, quoted a competitor. The company’s own rebate page described an old program. | 1 day | Owner + web team |
| 9 | Clean up the listings ChatGPT reads | ChatGPT built its answers from third-party directories. Its map showed a lower star rating than Google’s, one directory had the wrong ZIP, and ChatGPT repeated a wrong founding year from another. | 2 hrs | Owner |
| 10 | Make a real push for a nearby town | Not in the first 36 Maps results there, and the website’s coverage of that town was weak. Build one strong page on real local jobs, photos and reviews. | Ongoing | Owner + web team |
Excerpt: AI answers depend on where each engine looks
| Engine | Named the business | What it read |
|---|---|---|
| Claude | 16 of 24 | Yelp, Angi and the company’s website (its 3rd most-cited site) |
| Perplexity | 4 of 4 | The company’s website, cited in every answer |
| ChatGPT | 4 of 5, never first | Birdeye, Angi, HomeAdvisor, BBB and a manufacturer dealer page |
| Google AI Mode | 1 of 4 | Google Maps listings and the text of Google reviews |
Engines that read the website liked it. Engines that read listings and reviews did not, because on those pages competitors showed far bigger review counts. That is why fixes 1, 2 and 9 are about the profile and directories, not more blog posts.
What the report contains
An eight-page PDF, built from a script so every figure is pulled from saved evidence:
- Summary: the short version, four headline numbers and what is already working.
- The ten fixes, ranked, with effort and owner.
- Google Maps grids and town checks.
- Competitor comparison: reviews, main category, hours, AI mentions, sitemap and town-page counts.
- Reviews: the gap, the pace and what to ask customers for.
- AI answers question by question and engine by engine.
- Google results, website checks and listings.
- A 90-day plan, a baseline to beat at month 3, what account access would add, and how everything was checked, including the limits.
The month-3 re-measure re-runs the same 33 Maps searches and 37 AI questions against the baseline, so progress is measured, not asserted.
Limits stated in the report
Maps results shift with location, device and time of day; the checks ran on a Sunday evening, when businesses on regular hours show as closed. AI answers change from run to run, so single answers are samples, not verdicts. Lab speed tests simulate a phone on a slow connection. Directories that block automated reads were reported as unverified.
Want this done
for your business?
Every engagement starts with a short scoping conversation and a written quote.
Last reviewed: