Add outgoing links to dead-end pages
Pages with no outgoing internal links, potentially trapping users and crawlers
- Every page should link to at least 2–3 contextually relevant internal pages to aid navigation and crawling
- Pages with zero outgoing links trap crawlers and users, forming dead ends in your site's link graph
- Contextual inline links (within body content) pass more value than footer or navigation links alone
Rule Details
Every page on your site should connect to at least a few other pages. Google's crawler overview (opens in new tab) makes dead-end pages a crawl and UX problem, especially when they also weaken your broader internal linking strategy.
Code Examples
❌ Avoid — article with no body links
<article>
<h1>Understanding CSS Grid</h1>
<p>CSS Grid is a two-dimensional layout system for the web.
It lets you lay out items in rows and columns.</p>
<!-- No links to related topics anywhere in the content -->
</article>✅ Correct — contextual internal links in body
<article>
<h1>Understanding CSS Grid</h1>
<p>CSS Grid is a two-dimensional layout system for the web.
Unlike <a href="/blog/css-flexbox-guide">Flexbox</a>, which is
primarily one-dimensional, Grid lets you control both rows and columns.</p>
<p>For responsive designs, combine Grid with
<a href="/blog/responsive-design-breakpoints">strategic breakpoints</a>.</p>
<section>
<h2>Related Articles</h2>
<ul>
<li><a href="/blog/css-flexbox-guide">A Complete Guide to CSS Flexbox</a></li>
<li><a href="/blog/responsive-design-breakpoints">Choosing Responsive Breakpoints</a></li>
<li><a href="/blog/css-container-queries">CSS Container Queries in 2024</a></li>
</ul>
</section>
</article>✅ Related content section as a fallback
<!-- When inline links are not natural, a "See also" section works -->
<aside aria-label="Related content">
<h2>See Also</h2>
<ul>
<li><a href="/docs/grid-template-areas">Grid Template Areas</a></li>
<li><a href="/docs/auto-placement">CSS Grid Auto-Placement</a></li>
</ul>
</aside>Why It Matters
- Crawl coverage: Googlebot navigates by following
<a href>links. A dead-end page means the crawler cannot reach other pages from that starting point during that session, which is part of the broader crawl flow described in Google's crawler overview (opens in new tab). - User experience: Users who land on a dead-end page have no contextual next step, increasing bounce rate and reducing session depth.
- PageRank flow: Internal links distribute ranking signals. Pages that link to nothing do not pass authority forward to your other content, and they often sit next to the same weak architecture patterns flagged in weak internal links.
What to Check
Use a crawler (Screaming Frog, Sitebulb, or a custom script) to:
- Identify pages where the body content (
<main>,<article>) contains fewer than 2 internal<a href>links. - Exclude global navigation, header, and footer links that are identical across all pages — these are not contextual signals.
How to Fix Dead-End Pages
- Crawl your site and filter for pages with 0–1 internal links in body content.
- For each dead-end page, identify 2–5 topically related pages.
- Add inline links naturally within the body where the connection is contextually relevant.
- If the content does not allow natural inline linking, add a "Related", "See also", or "Next steps" section at the bottom.
- Re-crawl after deployment to verify link counts have improved.
Exceptions
- Staging, utility, login, account, or internal search pages may intentionally use different crawl or index signals if they are not meant to rank.
- Temporary migration states can produce noisy intermediate signals; flag the live production URL pattern, not one-off transition artifacts.
- When redirects, canonicals, robots directives, or indexability signals conflict, fix the strongest final signal first instead of reporting every downstream symptom as a separate blocker.
Standards
- Use these references as the standard for the final search-facing HTML, metadata, and crawl behavior.
- Check the implementation against Google Search Central: Links best practices before treating the rule as satisfied.
- Check the implementation against Google Search Central: Crawling and indexing before treating the rule as satisfied.
Support Notes
- Search-facing behavior can differ between rendered HTML, crawlers, and browser environments, so verify the final output on live routes and not only in source templates.
- Document any platform or browser-specific limitation only when it materially changes the crawl, metadata, or indexing signal.
Verification
Automated Checks
- Inspect rendered HTML and HTTP headers to confirm the expected metadata or crawlability signal is present.
- Test the affected URL with Google Search Console or equivalent tooling where relevant.
- Re-crawl a representative page set after deployment.
Manual Checks
- Confirm the change does not create conflicting canonical-url, robots, or structured-data signals.
Use with AI
Copy these prompts to use with your AI assistant, or install the MCP server to use directly from Claude, Cursor, or Windsurf.
Check
Verify implementation
For each page, count the number of `<a href>` links pointing to other pages on the same domain (exclude navigation/header/footer if they are templated identically across all pages). Flag any page with zero or fewer than two unique internal links in the main content body (`<main>` or `<article>` element).
Fix
Auto-fix issues
1. Identify all pages flagged as dead ends (no or minimal outgoing internal links in body content). 2. For each dead-end page, identify 2–5 topically related pages on the site. 3. Add contextual inline links within the body content — not just in headers or footers. 4. Example: A blog post about CSS Grid should link to related posts on Flexbox and responsive design. 5. Add a "Related articles" or "See also" section at the bottom if inline links are not practical. 6. Re-crawl after changes to verify the links appear in the rendered DOM.
Explain
Learn more
Internal links are the edges of your site's graph. Crawlers navigate by following links; a page with no outgoing links is a node with no edges leading forward. This prevents Googlebot from discovering linked pages during a crawl initiated from that dead end, and it signals to users that there is nothing more to explore.
Review
Code review
Parse the `<main>` or `<article>` element of each rendered page. Count `<a href>` tags pointing to same-domain URLs. Flag pages with fewer than 2 such links. Exclude navigation, header, and footer elements that are shared across all pages, as these do not count as contextual internal links.

