A 14-location dental group came to us with a site that had 340 published pages and ranked for almost nothing competitive. Their technical SEO was clean. Their content was decent. The problem was visible the second we pulled a crawl: Google had no idea the site was about dentistry. It looked, structurally, like a random collection of URLs.
Internal linking did that. Or, more precisely, the absence of intentional internal linking did that. Blog posts linked to other blog posts at random. Service pages linked to nothing. The homepage linked to 47 things with equal weight. No hub. No hierarchy. No signal.
Google doesn't rank pages in isolation. It ranks pages within the context of a site's topical graph. If that graph isn't deliberate, Google fills in the gaps with its own interpretation. Usually the wrong one.
How Google reads your link graph
Googlebot doesn't experience your site the way a visitor does. It follows links. Every internal link is an instruction: go here next, and while you're at it, understand that this page matters enough to point to. The crawl graph Googlebot builds is literally a map of which pages connect to which, with what anchor text, from what context.
That map does two jobs simultaneously. First, it tells Google which pages to crawl and how often. Pages with more internal links pointing at them get crawled more frequently and indexed more reliably. Second, it communicates topical relationships. When five pages about commercial HVAC maintenance all link to a single pillar page with the anchor text 'commercial HVAC service,' Google learns something real: this site has concentrated authority on this topic.
Think of it like a citation network in academic publishing. One paper with 40 citations from related papers in the same field carries more weight than 40 standalone papers nobody cites. Your internal links are the citations. Your pillar pages are the papers that need citing.
Most sites are structured the opposite way. The homepage gets all the links. The money pages get almost none. Blog content links to other blog content with vague anchors like 'read more' or 'click here.' The topical signal is noise.
The three failures we see every time
After auditing the link graphs of service businesses ranging from $3M regional law firms to $40M multi-location healthcare groups, the structural failures cluster around three patterns. They're boring to describe and expensive to ignore.
Orphaned pages
An orphaned page has no internal links pointing to it. It exists in Google's index only because the sitemap submitted it or because a random backlink found it. Orphans get crawled infrequently and ranked weakly, regardless of content quality. In a Screaming Frog crawl of a 200-page service site, finding 30 to 50 orphaned pages is common. Those pages typically include some of the site's most commercially valuable content, service area pages, case studies, landing pages built for campaigns, never connected to the main architecture.
Crawl depth beyond three clicks
Pages buried four or five clicks from the homepage receive significantly less crawl attention. Google hasn't published the exact decay curve, but the practical effect is consistent: pages at depth four or deeper rank harder and slower even when the content is strong. Most service sites bury their blog archive at depth three, then publish supporting content that lands at depth four or five. That content almost never ranks.
Navigation-trapped link equity
Site navigation distributes link equity to every page it touches, equally, on every page load. A 60-link footer passes less individual equity per link than a single contextual paragraph link on a high-authority page. Sites that rely entirely on navigation for internal linking are essentially running a PageRank diffusion machine instead of a topical authority signal. The equity goes everywhere, which means it goes nowhere useful.
The audit: three tools, three jobs
There is no single tool that surfaces everything. Use all three of these, in this order, and you'll have a complete picture inside a week.
- Screaming Frog for crawl depth and orphan detection. Set it to crawl the full site, then filter by 'Inlinks' column. Pages with zero inlinks are orphans. Pages with one or two inlinks are near-orphans. Export both lists. That's your triage queue.
- Ahrefs Site Audit for internal PageRank flow. The 'Internal Link Opportunities' report surfaces pages that could be receiving more equity from existing content. The 'Best by Links' internal filter shows you where link equity is currently concentrated. Cross-reference against your money pages.
- Google Search Console for crawl coverage gaps. The Coverage report shows which pages are indexed, excluded, or discovered but not indexed. Pages that are 'Crawled but not indexed' often have internal linking problems: either too few links pointing to them, or the anchor context is so weak Google doesn't trust what the page is about.
Semrush adds one more layer worth running: the Topical Authority gap report inside Site Audit shows which keyword clusters your site covers with content but doesn't rank for. Cross that against your internal link graph and you'll usually find the same pattern. Covered in content. Not connected in structure.
“Covered in content. Not connected in structure. That's the internal linking problem at 90% of service sites.”
Hub-and-spoke: the architecture that works
The architecture that consistently produces topical authority gains for service businesses is hub-and-spoke. One pillar page sits at the center of a topic cluster. Eight to fifteen supporting pages, blog posts, FAQs, case studies, service variants, all link back to that pillar with descriptive anchor text. The pillar links out to each spoke. The spokes link to each other where logical.
This isn't new thinking. But the execution detail is where most teams get it wrong. The links on the spoke pages need to be contextual links inside body copy, not sidebar widgets or footer callouts. Google weights body-copy links more heavily because they carry editorial intent. A link placed inside a paragraph that's topically relevant to the destination page signals that a human decided this connection was meaningful. That signal matters.
The anchor text on those contextual links should be descriptive and varied, not exact-match keyword stuffed. 'Commercial HVAC maintenance contracts,' 'preventive HVAC service for office buildings,' and 'keeping your commercial HVAC on schedule' are all better anchors than repeating 'commercial HVAC' seven times. Google's systems are sophisticated enough to recognize semantic variation. Over-optimized anchors look manipulative.
A well-built hub-and-spoke cluster looks like Netflix's content categories. Every show belongs to a genre (the hub). Clicking into a show surfaces related shows in the same genre (spokes pointing at each other). The category page aggregates it all with editorial signal. Netflix didn't build that structure by accident. It built it because the algorithm rewards it. Google's content graph works the same way.
The 90-day rebuild sequence
Don't try to fix everything at once. The highest-ROI sequence runs like this, and the timing matters because Google takes 4 to 6 weeks to re-crawl and re-evaluate after structural changes.
- 01Weeks 1 to 2: Run Screaming Frog and export orphans and pages at depth 4+. Fix the worst orphans first by adding contextual links from 2 to 3 topically related pages that already have authority. Target no more than 20 pages in this sprint.
- 02Weeks 3 to 4: Designate or create pillar pages for your top 3 to 5 topic clusters. These pages don't need to be new. Most service businesses already have a page that should be the hub. It just isn't receiving internal links.
- 03Weeks 5 to 8: Systematically audit every published blog post and supporting page in each cluster. Add one to three contextual links per page pointing to the cluster pillar. Use Ahrefs to prioritize the pages with the most existing equity to pass.
- 04Weeks 9 to 12: Monitor GSC Coverage and Performance reports. Pages that were 'discovered but not indexed' should start moving. Impressions on pillar pages should increase even before rankings shift. If they don't, the crawl depth problem wasn't fully solved.
For the dental group mentioned above, this sequence produced measurable GSC impression gains on cluster pillar pages by week 6. Ranking movement on competitive terms followed between weeks 10 and 14. The content didn't change. The structure did.
One number worth knowing: a pillar page receiving internal links from fewer than 5 supporting pages is unlikely to signal enough topical authority to outrank a competitor whose pillar receives 15. More links from more topically relevant pages is the variable. Content quality is the cost of entry. Link architecture is the differentiator.
Why this matters beyond Google
There's a downstream benefit to hub-and-spoke architecture that most teams don't plan for: AI engines cite from it more reliably. When Perplexity or ChatGPT's search mode crawls a site to answer a question, they follow the same link signals Google does. A well-structured topical cluster makes it easier for an AI engine to identify your most authoritative page on a topic and pull from it. A flat, random link structure makes every page look equally important, which means none of them get prioritized.
This connects directly to why topical authority in AI search has become a real competitive advantage for service businesses. The sites that get cited aren't always the ones with the most content. They're the ones where the content is organized so both humans and machines can follow the logic.
Internal linking is also the cheapest leverage point in SEO. Backlinks cost time, relationships, and often money. Internal links cost an editor 20 minutes and a deliberate plan. Most $5M to $20M service businesses are sitting on 100 to 300 pages of published content that is structurally disconnected. That content is already paid for. The traffic it should be generating is the money left on the table.
If you want to see how your current architecture stacks up, our free SEO audit surfaces crawl depth problems, orphaned pages, and link equity distribution in a format built for operators, not for SEO technicians. It's the same starting point we use with every new client before touching a single piece of content.
The SEO & Content capability at Level Up runs this exact audit as part of onboarding. The structural fixes happen in parallel with content production, not after it. Because rebuilding the graph while publishing into a broken architecture is like renovating a building while the foundation is still settling.
