Site architecture, URLs and internal linking
Flat versus deep structures, hub and spoke layouts, stable URL patterns, breadcrumbs, and finding the orphan pages that never get crawled.
Flat, deep and hub and spoke
Crawlers follow links and pass authority along them. Depth is the number of clicks from the homepage to a page; a page four clicks deep is crawled less often and receives less of the site's internal strength than one two clicks away. The usual target is that any page worth ranking is reachable within three clicks.
| Structure | Shape | Strength | Weakness |
|---|---|---|---|
| Flat | Everything linked from the top level | Every page is close to the homepage | Unusable once you have hundreds of pages |
| Deep | Topic to subtopic to article | Scales and reads naturally | Pages drift far from the homepage |
| Hub and spoke | One pillar page linking to related detail pages | Combines depth with short paths | Needs deliberate linking, not just navigation |
Home
/guides <- hub
/guides/dns <- pillar
/guides/dns/ttl <- spoke, links back to the pillar
/guides/dns/record-types <- spoke
/guides/tls
/pricing
/docs
/docs/api- Every spoke links up to its pillar with descriptive anchor text; the pillar links down to each spoke. That two-way link is what makes the cluster readable and keeps the spoke close to the hub.
- Navigation menus are not internal linking. A link in every page's menu is a template link and carries far less contextual signal than a link inside the body copy.
- Every page should have at least one inbound internal link from a relevant page. A page reachable only from the sitemap is an orphan in practice.
URLs that survive a redesign
https://example.com/guides/dns/ttl
Rules that pay off later:
lowercase, hyphenated words not /Guides/DNS_TTL
no dates unless truly time-bound not /2026/09/18/dns-ttl
no tracking or session parameters not /dns?utm_source=newsletter
no file extensions where avoidable not /dns-ttl.html
stable once published: changes need a 301A URL is a permanent identifier that gets shared, bookmarked and indexed. Changing it later costs a redirect and a period of reduced performance, so the only question that matters at authoring time is whether the path will still make sense in three years.
<!-- breadcrumbs: visible to users, and mirrored in structured data -->
<nav aria-label="Breadcrumb">
<ol>
<li><a href="/guides">Guides</a></li>
<li><a href="/guides/dns">DNS</a></li>
<li aria-current="page">TTL and caching</li>
</ol>
</nav>Finding orphans and dead weight
- Export every URL that received impressions in the last 90 days from Search Console.
- Crawl the site and export every internal link target.
- Diff the two lists. URLs that have traffic but no internal inbound links are the ones to fix first - they are already earning and badly connected.
- Check the reverse: heavily linked pages with no impressions are usually category pages that should not be indexed at all.
- Fix by adding contextual links from the closest relevant sibling pages, not by dumping them into the footer.
| Problem | Symptom in the crawl | Fix |
|---|---|---|
| Orphan page | In the sitemap, no internal links | Add links from the parent topic |
| Click depth over four | Deep paths only reachable via pagination | Link from the hub, or flatten the path |
| Circular canonical | Two pages pointing at each other | Pick one, redirect or consolidate |
| Link farm in the footer | Hundreds of identical footer links | Move the important ones into body copy |
| Broken internal link | 404 discovered by the crawler | Fix the link and add a 301 for the old URL |
FAQ
Should category pages be indexed?
Do I need a sitemap if the site is well linked?
Related
Content strategy: topic clusters and briefs On-page essentials
Last refreshed 2026-09-18.