Hero
SEO & Organic Growth
Technical SEO & Site Health
Multi-Location Dental Group

Technical SEO Rescue for a Sprawling Dental Network Site


Let's Connect

Overview

What we built

A dental network's website had sprawled into thousands of duplicate and junk pages, and search engines were losing the real ones in the noise. We rebuilt the site's architecture so every office could be found and booked again.

In plain terms: the network has 58 offices, but its legacy site had grown to roughly 15,000 web addresses, most of them accidental duplicates and filter combinations generated by the publishing system. Search engines only give a site so much attention, and they were spending it on junk pages while the genuine office and service pages dropped out of search results altogether. Patients searching for a nearby office increasingly could not find it, and organic bookings declined.

We audited the site with hard evidence, combining crawl data with 90 days of server logs, then rebuilt the architecture: 6,400 duplicate and parameter URLs consolidated into 58 authoritative office pages, structured data repaired, sitemaps cleaned and the crawl traps sealed. Within 6 months, the share of indexed pages earning organic clicks rose from 9% to 34%, wasted crawler requests fell by roughly 70%, and non-brand organic sessions to booking pages grew 41% year on year.

The Problem

Crawl traps choking organic growth

The sprawl was nobody's decision; it accumulated. The legacy CMS spawned parameterised duplicates of every location page, so a single office could exist at many addresses at once, and faceted service filters generated endless crawlable combinations of the same content. By the time we arrived, a network of 58 offices was presenting search engines with roughly 15,000 URLs.

Search engines responded the way they always do to that pattern: they spread their limited crawl budget across the junk. Crawlers spent their visits on parameter variants and filter traps, genuine office and service pages were fetched less and less, and pages that mattered fell out of the index entirely. Broken LocalBusiness schema across most offices removed one more signal that could have distinguished the real pages.

For the business, this surfaced as a slow leak rather than an outage. Organic bookings declined quarter after quarter, offices became harder to find for the local searches that fill appointment books, and no amount of content or marketing effort could work while the site's own architecture buried it.

Runaway URL sprawl

A network of 58 offices had ballooned to roughly 15,000 URLs, most of them machine-generated duplicates no patient was ever meant to see.

Parameterised duplicates

The CMS spawned parameter variants of every location page, so each office competed against copies of itself for a place in the index.

Endless crawl traps

Faceted service filters generated unlimited crawlable combinations, and search engines wandered those corridors instead of fetching the pages that earn bookings.

Broken local schema

LocalBusiness markup was invalid across most offices, silencing the structured signals that tell search engines a page represents a real dental practice.

What it was costing them

Crawl budget is finite, and nearly all of it was being spent on pages with no value. Real office pages slipped from the index, non-brand visibility eroded, and the bookings that organic search should have delivered went to competitors with cleaner sites. Every marketing effort layered on top inherited the same handicap: a site search engines could not read properly.

The Solution

Site architecture rebuilt for crawlers

We refused to guess. The audit combined a full crawl of the site with 90 days of server logs, so we could see not just what existed but where crawlers actually spent their requests. That evidence ranked the cleanup: the worst traps and the heaviest duplicate clusters first, measured rather than assumed.

Then we rebuilt the architecture. 6,400 duplicate and parameter URLs were consolidated behind canonicals and a redirect map, each of the network's 58 offices got one authoritative page carrying valid LocalBusiness and Dentist schema, and the XML sitemaps were cleaned until they listed only the pages worth indexing. The redirect map meant nothing of value was simply thrown away; accumulated equity moved to the surviving pages.

Finally we sealed the site against regression. Robots rules closed the faceted crawl traps so the filters could no longer manufacture new junk, and a monthly site-health dashboard now tracks index coverage and crawl behaviour, turning what had been an invisible decay into something the team reviews and acts on routinely.

Key decisions

01

Logs before opinions

Pairing crawl data with 90 days of server logs meant the cleanup was ranked by where crawlers really wasted their requests, not by hunches.

02

One page per office

Every office in the network got a single authoritative page, replacing the scatter of parameter variants that had diluted each location's presence.

03

Consolidate rather than delete

Duplicates were folded behind canonicals and a redirect map, so accumulated links and history flowed to the surviving pages instead of vanishing.

04

Seal traps at source

Robots rules closed the faceted filters that manufactured junk URLs, stopping the sprawl from quietly regrowing behind the cleanup as it had before.

05

Make health visible monthly

A site-health dashboard tracks index coverage and crawl behaviour every month, so the next architectural drift gets caught early instead of years later.

Measurable Impact

What changed after launch

The index responded quickly once the noise was gone. Within 6 months of the cleanup, the share of indexed pages earning organic clicks rose from 9% to 34%, and follow-up log analysis showed crawler requests wasted on parameter and trap URLs down by roughly 70%. Search engines were finally spending their attention on the pages that matter.

The structural change matters just as much: 6,400 duplicate and near-duplicate location URLs now resolve to 58 canonical office pages, each carrying valid schema, and non-brand organic sessions to booking pages grew 41% year on year after the rebuild. The monthly dashboard keeps the architecture honest, so the recovery holds rather than eroding again.

Site footprint

Roughly 15,000 URLs, mostly duplicates and traps

6,400 junk URLs consolidated into 58 office pages

Crawl budget

Wasted on parameter variants and filter traps

Wasted crawler requests down by roughly 70%

Index quality

Only 9% of indexed pages earned clicks

34% of indexed pages earning organic clicks

Organic bookings

Booking-page organic sessions in steady decline

Non-brand sessions to booking pages up 41%

Headline results

Share of indexed pages earning organic clicks rose from 9% to 34% within 6 months of the cleanup

Crawler requests wasted on parameter and trap URLs fell by roughly 70% in follow-up log analysis

6,400 duplicate and near-duplicate location URLs consolidated into 58 canonical office pages

Non-brand organic sessions to booking pages grew 41% year on year after the rebuild

Tech & Tools Used

What powered the build

Every tool below earned its place in this engagement. Here is the part each one played.

Screaming Frog

Crawled the sprawling site end to end, mapping the duplicate clusters, parameter variants and trap patterns that shaped the consolidation and redirect plan.

Google Search Console API logo

Google Search Console API

Pulled index coverage and click data programmatically across the whole URL estate, far beyond what the interface exposes, and feeds the monthly dashboard.

Ahrefs

Showed which URLs held backlinks and rankings before consolidation, so the redirect map preserved every page with equity worth keeping.

Python (log-file analysis) logo

Python (log-file analysis)

Parsed the server logs to reveal where crawlers actually spent their requests, both to rank the cleanup and to verify the waste had fallen afterwards.

BigQuery logo

BigQuery

Joined crawl exports, log data and Search Console pulls in one warehouse, making analysis workable at the scale the URL sprawl demanded.

Looker Studio logo

Looker Studio

Presents the monthly site-health dashboard, tracking index coverage and crawl behaviour so architectural drift is spotted while it is still small.

Next.js logo

Next.js

Serves the rebuilt office and service pages with clean canonical URLs rendered server-side, giving crawlers one fast, unambiguous version of every page.

Schema.org JSON-LD

Valid LocalBusiness and Dentist markup on every office page restores the structured signals that tell search engines each location is a real practice.

Cloudflare logo

Cloudflare

Applies the redirect map at the edge, so legacy duplicate and parameter URLs resolve to their canonical pages before they ever reach the origin.

Ready to Build your Multi-Location Dental Group Business with Technical SEO & Site Health

Ask Byte

Ask Byte

Typically replies instantly

just Now

Hi! I'm OrganByte's assistant. How can I help you today?

AI-generated content may be incorrect


OrganByte

Building innovative software solutions that transform businesses and drive digital success.

© 2026 YourCompany. All rights reserved.