You're losing the high-intent traffic to three local rivals.
Underperforming — and it's costing quote requests
The site is technically alive but commercially quiet. Your home page ranks for your brand name and almost nothing else, you publish five pages where competitors publish fifty, and the front end loads three third-party scripts before a visitor sees your phone number. None of these are hard fixes. All of them are costing you the searches that turn into calls.
- High Your home page H1 is your company name. Nobody searches it. You're absent for "emergency plumber San Diego" — your single highest-intent query.
- High No service-by-area pages. Rivals run 40+ "[service] in [neighborhood]" pages and own the map pack. That's where the calls are.
- High GTM, reCAPTCHA and a chat widget all fire at boot — render-blocking the one thing that converts: your phone number above the fold.
- Medium 4 of 5 audited pages ship no meta description. Google writes its own — usually worse than the click you'd earn.
- Medium Zero blog or advice content. You can't rank for "how much does X cost" questions that pull buyers in early.
Five pages audited. The fundamentals are half-built.
Foundations mostly hold. Two cracks let traffic leak.
- Warning robots.txt blocks nothing — and declares no sitemap It's reachable and permissive, which is fine, but it never points crawlers to a sitemap. Free signal, unused.
- Fail sitemap.xml returns 404 No sitemap at the usual paths. New and updated pages rely on Google stumbling onto them. Generate and submit one.
- Pass Canonical tags present and self-referencing Every audited page canonicals to itself. No conflicting signals here.
- Unverifiable Structured data (schema) — not measured from the front end No LocalBusiness/Service markup found in the raw HTML, but JS-injected schema can't be confirmed without a render test. Flagged, not invented — a real audit verifies this in the Rich Results test.
- Fail Service pages are near-duplicates HVAC and Plumbing share ~60% of their body copy. Two thin, similar pages compete with each other instead of ranking.
- Warning 3 broken internal links (404) Footer links to a retired "/financing" page on every page. Sitewide dead end.
- Warning Security headers incomplete HTTPS is enforced, but HSTS and a content-security-policy are absent. Minor for ranking, real for trust.
An architecture read — not a PageSpeed score.
There's no content engine. That's the whole growth ceiling.
- Fail No blog or advice section Zero informational content. Every "how much does a new furnace cost" search goes to a competitor who then gets the quote.
- Fail Thin service pages, no internal silo Service pages don't link to supporting articles because none exist. No topical depth for Google to reward.
- Warning No reviews or proof on landing pages Testimonials live only on an /about page. Move proof next to the quote button on every service page.
Your three closest rivals, side by side.
Picked for catalog overlap and local presence. You lead on two rows and trail on eight. The gap is content depth and page coverage — both buildable.
| Metric | Northwind (you) | Allied Home Pros | CityWide Mechanical | BluePeak Home |
|---|---|---|---|---|
| Indexable pages | 5 | 47 | 52 | 38 |
| Home indexable words | 210 | 640 | 720 | 580 |
| Service page depth (avg words) | 290 | 810 | 950 | 700 |
| Pages with meta description | 1 / 5 | 45 / 47 | 50 / 52 | 36 / 38 |
| H1 with service + city | 1 / 5 | 40 / 47 | 48 / 52 | 30 / 38 |
| Blog / advice articles | 0 | 62 | 28 | 41 |
| FAQ on service pages | No | Yes | Yes | Partial |
| Service-area pages | 0 | 22 | 31 | 14 |
| Image alt coverage | 48% | 82% | 76% | 69% |
| Internal links / page | 3 | 14 | 18 | 11 |
| Third-party scripts | 14 | 21 | 19 | 12 |
| Canonical correctness | Good | Good | Partial | Good |
Illustrative figures. A live audit pulls verified values per page; anything a tool can't confirm is left out, not guessed.
Ten long-tail searches you could own — and don't.
High-intent, low-competition, spread across all four service lines. Each is a page you don't have yet.
| Keyword | Service | Intent | Difficulty | Why you can win it |
|---|---|---|---|---|
| emergency plumber san diego | Plumbing | High | Medium | Your highest-value query and you don't have a page for it. |
| water heater repair cost | Plumbing | Research | Low | Cost question = buyer comparing. One article captures it. |
| ac not cooling san diego | HVAC | High | Medium | Seasonal panic search. A troubleshooting + CTA page converts. |
| furnace replacement cost | HVAC | Research | Low | No local rival ranks well for this. Open lane. |
| ev charger installation san diego | Electrical | High | Medium | Growing, high-ticket, and barely covered locally. |
| electrical panel upgrade cost | Electrical | Research | Low | Clear buyer research. One page, evergreen traffic. |
| roof leak repair near me | Roofing | High | Medium | Your roofing page already ranks — extend it to "near me". |
| tile vs shingle roof | Roofing | Research | Low | Comparison intent. Pulls buyers months before they call. |
| tankless water heater install | Plumbing | High | Medium | High-ticket job, specific intent, weak local pages. |
| hvac maintenance plan san diego | HVAC | High | Low | Recurring-revenue search. Nobody local targets it. |
Sample report on illustrative data — no live site was crawled. A real audit runs against your actual site, sector and competitors, and clearly marks anything that can't be verified rather than guessing.