Skip to main content

Work we can prove.

Each study below states its dates, its method and its limits. Where a before-and-after measurement exists, the same test was used both times; where none exists, the study reports counts and says so. We don't publish traffic, ranking or revenue figures we can't tie to a specific, dated test.

NorthGuard Window Film: 19 routes, one byte-identical HTML shell

A site-wide rendering bug meant every URL returned byte-identical HTML. Previously reported technical SEO audit scores were 35/100 on July 9, 2026 and 98/100 on August 10, 2026. The audit files and tool version are not archived for republication. This was not a single-variable result: the site was also rebuilt on Next.js and its blog reinstated. Read the full study

Baseline · Jul 9, 2026
35/100
Technical SEO audit score
Re-audit · Aug 10, 2026
98/100
Technical SEO audit score
Scope
19
Routes restored to distinct HTML

The finding

Our 2026-07-09 audit hashed the raw HTML returned for every route on the site. All 19 URLs produced an identical MD5. The site was shipping a client-rendered shell with no server-side rendering and no prerendering, so the HTML a crawler received never varied by route — same title, same canonical, same body, on every page.

Every route initially returned the same app-shell HTML, forcing crawlers that rely on initial HTML — and Google before its rendering phase completes — to depend on JavaScript execution just to discover each route's unique content. Static prerendering moved the page-specific title, canonical, and body content into the initial response, removing that dependency entirely.

The fix

We moved the site onto Next.js prerendering so that each route emits its own fully-formed HTML document at build time. Every URL now ships a distinct <title>, a self-referencing <link rel="canonical">, and its own body content in the initial response — before any JavaScript runs.

The verification

We re-ran the identical audit on 2026-08-10 against the live production site. The previously reported technical SEO score was 35/100 on 2026-07-09 and 98/100 on 2026-08-10. The duplicate-HTML check that failed on the 19 audited URLs now passes on the same 19 URLs, confirmed by fetching each URL and diffing the raw response — not by trusting a dashboard.

Why this is the Gap Analysis pattern

The score measures the crawlability and indexability of the HTML a crawler receives. Between the two runs the site was also rebuilt on Next.js and its blog was reinstated, so we don't present this as a single-variable experiment: the check that failed was the duplicate-HTML check, and that is the check that now passes. That's the whole thesis: find what's structurally broken before you pay to drive traffic into it.

GlassGuard Window Film: rebuilding around what actually ships in production

Production was serving a static build while the site's own server-rendering code never ran in that environment. We rebuilt the per-route head — title, canonical, meta, structured data — on a prerendering pipeline so every URL is individually addressable to search engines, and remapped every legacy URL so old links and old search-engine records land in the right place. Read the full study

Sitemap
54
Indexable URLs
Legacy URLs remapped
6
Old GoDaddy service-area pages redirected to their new locations

The finding

Production traffic was served as a static deployment — a file server reading pre-built HTML — while the site's own server-rendering code assumed a live server that never actually ran in production. Any logic that depended on that server — including server-side redirects — was silently doing nothing in production.

The fix

We rebuilt the site on a Vite + prerender pipeline so every route ships its own distinct <title>, canonical link, meta description, and structured data in the initial HTML response — fixing the identical-shell problem that made every URL indistinguishable to a crawler reading only the initial response. The page body still renders client-side after JavaScript runs; that part of the site was not part of this fix. Six legacy URLs from the old GoDaddy site were mapped to their new locations with static redirect stubs so old links and search-engine records land correctly instead of 404ing.

The verification

Per-route head metadata (title, canonical, description, structured data) confirmed live and correctly varying by URL, Sep 10 2026.

Clients named with their approval

Each entry is a client who agreed to be named, with a live link and a one-line scope. Results appear only in a study above, or not at all. No logos, no quotes.

NorthGuard Window Film

Website rebuild and technical SEO · Live site built by Schkovl

Read the case study

GlassGuard Window Film

Website rebuild, per-page metadata and legacy-URL redirects · Live site built by Schkovl

Read the case study

Triple MMM Plumbing

Website build · Live site built by Schkovl

Serene Sunrooms

Google Business Profile management and content calendar · Ongoing service

Innovative Car Clinic

Fleet Services page and Google Business Profile posting · Ongoing service

Want to know what's actually broken on your site?

Our intake takes about ten minutes. We review it, then schedule a 30-minute kickoff call within 72 hours. No invoices before kickoff.

Start an Intake