Internal Linking & Topic Cluster Standard: Hubs, Anchors, Breadcrumbs, and Routing

Guide Readers and Grow Topical Authority

Internal Linking & Topic Cluster Standard

Turn your site into a set of helpful paths. Plan hubs and clusters, write anchors that clarify the next step, add breadcrumbs, and keep links crawlable. This standard aligns with Google Search Central on crawlable links, site structure guidance in the SEO Starter Guide, and NN/g research on link text clarity.

Updated ~30 to 40 min read

Objective and scope

Help readers move from problem to product while building topical authority. Internal links should be descriptive, visible, and useful. Structure them so Google can crawl and understand your site. See the Starter Guide on site hierarchy.

Good links live in context. Put them near relevant sentences with clear anchors that tell people what they get on click.

Link taxonomy

TypePurposeNotes
Contextual linkRoute to a related concept or next stepInside paragraphs with descriptive anchors
Hub linkConnect hub to spokesList format under a “Read next” or “Related” block
BreadcrumbShow location and allow quick jumpUse semantic markup and JSON-LD
TOC linkJump to a section on pageAnchor links with an accessible label
Footer linkGive access to core resourcesLimit to stable destinations like pricing, docs, security

Make links crawlable with real <a href> elements. Google explains why in the note on crawlable links.

Hubs and clusters

Choose a hub

  • Pick a broad topic with steady demand
  • Make the hub a true guide with definitions and paths
  • Link to all spokes and back from every spoke

Define spokes

  • Each spoke covers one subtopic or task
  • Use consistent naming and URL patterns
  • Include a “read next” slice back to the hub

Routing pattern

  • TOFU spoke links to MOFU template or comparison
  • MOFU links to BOFU solution and case studies
  • BOFU links back to proof and implementation

Cluster outline example

Cluster: Content Analytics
Hub: /resources/content-analytics-attribution-standard/
Spokes:
- /resources/ga4-guide-for-content-marketers/ (mofu)
- /resources/utm-governance/ (mofu)
- /resources/content-dashboards-examples/ (mofu)
- /resources/compare-attribution-models/ (bofu)

Anchor text rules

Anchor text should describe the destination. Avoid “click here” or raw URLs. This improves clarity and helps search engines understand relationships. NN/g shows why descriptive link text improves comprehension in their link text guidance.

  • Use task language like “compare attribution models”
  • Place links early for scannability when relevant
  • Do not stuff exact match terms in every link

Good vs weak anchors

ContextGoodWeak
Explaining UTMsuse our UTM naming rulesclick here for more
Moving to BOFUsee pricing and security noteslearn more

Placement and density

Above the fold

  • Add one relevant internal link in the first screenful
  • Use a “read next” chip or a short sentence link

In body

  • 1 to 3 contextual links per 500 to 700 words
  • Group related links at the end of a section

End of page

  • Show 2 to 4 “read next” links by stage or role
  • Include one primary CTA that fits intent

Density is a guideline. Keep links useful and avoid repetition.

Crawlability and rel attributes

Links must be real anchors with href attributes. Avoid JS-only onclick handlers that create navigation without an href. See Search Central on crawlable links and MDN for the <a> element.

  • Use <a href=”/path/”> not <span onclick>
  • rel=”nofollow” for untrusted external links or paid placements
  • Avoid nofollow on internal links that should be crawled

Bad vs good pattern

<!-- Bad: JS navigation without href -->
<span class="link" onclick="location='/resources/utm-governance/'">UTM rules</span>

<!-- Good -->
<a href="/resources/utm-governance/">UTM naming rules</a>

Series and pagination

For multi part guides, give each page a clear title and list the parts at the top. Prefer a single page when load and UX allow. If you must paginate, use crawlable links and a visible index.

<nav aria-label="Series">
  <ol>
    <li><a href="/resources/content-architecture/">Part 1: Architecture</a></li>
    <li><a href="/resources/internal-linking-topic-cluster-standard/" aria-current="page">Part 2: Internal links</a></li>
    <li><a href="/resources/structured-data-standard/">Part 3: Structured data</a></li>
  </ol>
</nav>

Orphan pages and audits

Orphans are pages with no internal links. They are hard to discover and often underperform. Use Search Console and a crawler to spot them.

  • Search Console Links report lists internal links to each page
  • Compare your XML sitemap against crawled pages
  • Add at least one contextual link and one hub link

See the Search Console Performance and Links reports to monitor discovery.

Measurement and GA4 events

Track how internal links influence behavior and content paths. Use GA4 events for read-next clicks and table of contents interactions. Validate changes in Search Console with CTR and query growth by folder.

Key events

  • select_content for read-next and hub blocks
  • view_item with cluster and content_stage
  • Custom event toc_click for anchor jumps

Copy paste snippet

// Read-next links
document.querySelectorAll('a[data-read-next]').forEach(a => {
  a.addEventListener('click', () => {
    gtag('event','select_content',{
      content_type:'read_next',
      anchor_text:a.textContent.trim(),
      cluster:a.dataset.cluster || 'unknown',
      content_stage:a.dataset.stage || 'unknown'
    });
  });
});

// TOC links
document.querySelectorAll('a[data-toc]').forEach(a => {
  a.addEventListener('click', () => {
    gtag('event','toc_click',{ anchor_text:a.textContent.trim() });
  });
});

Scorecard

  • Read-next CTR by template
  • Sessions that include a hub and a spoke
  • Lead actions after a hub path

Templates and checklists

Read next block

<section aria-label="Read next" class="grid-3">
  <a class="card" href="/resources/utm-governance/" data-read-next data-stage="mofu" data-cluster="analytics">
    <h3>UTM governance</h3><p class="small">Keep naming clean across campaigns.</p>
  </a>
  <a class="card" href="/resources/ga4-guide-for-content-marketers/" data-read-next data-stage="mofu" data-cluster="analytics">
    <h3>GA4 guide for content</h3><p class="small">Events, conversions, and reports.</p>
  </a>
  <a class="card" href="/resources/content-dashboards-examples/" data-read-next data-stage="mofu" data-cluster="analytics">
    <h3>Content dashboards</h3><p class="small">Scorecards that show business impact.</p>
  </a>
</section>

Internal link QA checklist

  • Every page links to a hub or glossary where relevant
  • At least one contextual link appears in the first screenful
  • Anchors are descriptive and not generic
  • Links are real anchors with href attributes
  • Breadcrumbs visible and marked up if hierarchical
  • No dead or redirected internal links

Acceptance rubric

DimensionAcceptReviseReject
Anchor clarity Descriptive anchors near relevant sentences Some generic anchors Mostly “click here” or raw URLs
Crawlability All links are <a href> and indexable Minor JS navigation patterns JS-only links or blocked routes
Routing Hub to spoke and spoke to hub in place Partial routing Orphan or dead-end pages

FAQ

How many internal links per article

Use enough links to guide the reader without clutter. A good baseline is 3 to 8 links on long guides, placed where they help a task.

Should I add nofollow to internal links

No for normal routing. Use nofollow internally only for pages you do not want crawled and linked, but prefer robots controls for that case.

Do breadcrumbs help SEO

They help users and clarify structure. Mark them up with BreadcrumbList JSON-LD that matches the visible trail. See Google’s breadcrumb guide.

What about mega menus

Keep menus focused on stable destinations. Do not hide critical links behind hover states that are not keyboard friendly. Follow WAI ARIA navigation patterns.