Sample report northwindhome.example Local home services · San Diego · audited Jun 2026

Illustrative sample. No live site was crawled. Figures here are examples. In a real audit, anything not measurable from the front end — Core Web Vitals, schema, keyword volumes — is labeled unverifiable, never invented.

01 — Executive overview

You're losing the high-intent traffic to three local rivals.

61 / 100
Organic visibility score

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.

8 / 12 Competitor metrics you trail on
5 Indexable pages (rivals: 40–50)
4 Critical issues capping traffic
6 Quick wins inside 30 days
What's costing you the most — in order
  1. 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.
  2. High No service-by-area pages. Rivals run 40+ "[service] in [neighborhood]" pages and own the map pack. That's where the calls are.
  3. High GTM, reCAPTCHA and a chat widget all fire at boot — render-blocking the one thing that converts: your phone number above the fold.
  4. Medium 4 of 5 audited pages ship no meta description. Google writes its own — usually worse than the click you'd earn.
  5. Medium Zero blog or advice content. You can't rank for "how much does X cost" questions that pull buyers in early.
02 — On-page SEO

Five pages audited. The fundamentals are half-built.

/ (home)
Title tag "Northwind Home Services | Home" 28 chars — wastes the most valuable line on screen. No service, no city.
Meta description — missing — Empty. Google auto-generates the snippet, and it shows.
H1 "Northwind Home Services" Brand-only H1. Targets a query nobody types.
H2 / H3 4 H2 · 0 H3 Headings name the services but never the city or "emergency".
Image alt 11 / 20 Just over half. Hero and team photos have no alt text.
Indexable words ~210 Thin. There's not enough text for Google to know what you do.
URL northwindhome.example/ Clean and HTTPS. No complaints here.
/services/plumbing
Title tag "Plumbing Services - Northwind" 31 chars. Service is there; the city that drives local rank isn't.
Meta description — missing — No description on your second-highest-intent page.
H1 "Plumbing" One word. "Emergency Plumbing in San Diego" would actually rank.
Indexable words ~340 Below the depth rivals publish on the same query.
Internal links 2 Barely linked. No path to related services or proof.
/services/hvac
Title tag "HVAC Repair & Install - Northwind" 38 chars. Decent — add the city and it's strong.
Meta description 142 chars The one page that has a written description. It reads well.
H1 "HVAC Services" Generic. No intent modifier, no location.
Duplication ~60% shared Body copy is mostly cloned from the Plumbing page. Risks cannibalization.
/services/electrical
Title tag "Untitled Page" Default CMS title shipped to production. A free, embarrassing loss.
Meta description — missing — No title, no description. Effectively invisible.
Indexable words ~120 A stub. Looks unfinished to both visitors and Google.
/services/roofing
Title tag "Roofing Repair San Diego - Northwind" 42 chars, service + city. This is the template the others should copy.
H1 "Roof Repair & Replacement in San Diego" Exactly right. Intent + location in the H1.
Image alt 3 / 10 Best page, worst alt coverage. Job-photo galleries are unlabeled.
03 — Technical SEO

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.
04 — Front-end performance

An architecture read — not a PageSpeed score.

No Core Web Vitals here. LCP, INP and CLS need real field data and aren't invented. This is a qualitative read of what the front end loads and how it's built — the part you can fix without a lab.

48 / 100
Third-party scripts 14 scripts · 9 domains, loaded at boot
Tags at first paint GTM + reCAPTCHA + chat widget all fire before render
JS frameworks jQuery + Bootstrap JS + a slider lib — overlapping jobs
Render-blocking in head 5 blocking CSS/JS files before content
HTML weight ~480 KB home document — heavy for the content shown
Image formats Hero is a 1.8 MB JPG — no WebP/AVIF anywhere
Fonts Self-hosted, cached, preloaded. Done right.
Non-critical LCP load Chat SDK + map embed load above the hero image
05 — Content

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.
06 — Competitor benchmark

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 pages5475238
Home indexable words210640720580
Service page depth (avg words)290810950700
Pages with meta description1 / 545 / 4750 / 5236 / 38
H1 with service + city1 / 540 / 4748 / 5230 / 38
Blog / advice articles0622841
FAQ on service pagesNoYesYesPartial
Service-area pages0223114
Image alt coverage48%82%76%69%
Internal links / page3141811
Third-party scripts14211912
Canonical correctnessGoodGoodPartialGood

Illustrative figures. A live audit pulls verified values per page; anything a tool can't confirm is left out, not guessed.

07 — Keyword opportunities

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 diegoPlumbingHighMediumYour highest-value query and you don't have a page for it.
water heater repair costPlumbingResearchLowCost question = buyer comparing. One article captures it.
ac not cooling san diegoHVACHighMediumSeasonal panic search. A troubleshooting + CTA page converts.
furnace replacement costHVACResearchLowNo local rival ranks well for this. Open lane.
ev charger installation san diegoElectricalHighMediumGrowing, high-ticket, and barely covered locally.
electrical panel upgrade costElectricalResearchLowClear buyer research. One page, evergreen traffic.
roof leak repair near meRoofingHighMediumYour roofing page already ranks — extend it to "near me".
tile vs shingle roofRoofingResearchLowComparison intent. Pulls buyers months before they call.
tankless water heater installPlumbingHighMediumHigh-ticket job, specific intent, weak local pages.
hvac maintenance plan san diegoHVACHighLowRecurring-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.

Want this report for your own site?

Send me your site and sector. You get back an interactive audit like this one, plus a targeted lead list if you want it.

Request your audit