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.
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.
Link taxonomy
| Type | Purpose | Notes |
|---|---|---|
| Contextual link | Route to a related concept or next step | Inside paragraphs with descriptive anchors |
| Hub link | Connect hub to spokes | List format under a “Read next” or “Related” block |
| Breadcrumb | Show location and allow quick jump | Use semantic markup and JSON-LD |
| TOC link | Jump to a section on page | Anchor links with an accessible label |
| Footer link | Give access to core resources | Limit 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
| Context | Good | Weak |
|---|---|---|
| Explaining UTMs | use our UTM naming rules | click here for more |
| Moving to BOFU | see pricing and security notes | learn 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
| Dimension | Accept | Revise | Reject |
|---|---|---|---|
| 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.
