Internal Linking
Connect your pages with internal links to spread authority and context.
Internal links point from one page on your site to another. They help users navigate and help search engines discover pages and understand relationships.
Why internal links matter
- Discovery - crawlers follow links to find new pages.
- Authority flow - links pass ranking signals between pages.
- Context - descriptive anchor text tells engines what the target page is about.
Best practices
- Use descriptive anchor text, not "click here".
- Link from high-authority pages to important target pages.
- Support your topic clusters: subtopics link to the pillar page.
- Avoid orphan pages with no internal links pointing to them.
Example
<!-- Descriptive anchor text helps both users and crawlers -->
<p>New to brewing? Start with our
<a href="/coffee/pour-over-guide">pour over coffee guide</a>.</p>
<!-- Weak anchor -->
<p>Read more <a href="/coffee/pour-over-guide">here</a>.</p>When to use it
- A publisher links from 20 high-traffic blog posts to a new cornerstone guide, passing link equity so the guide ranks faster despite having no external backlinks.
- An e-commerce site adds 'Related Products' links between complementary items to increase pages per session and distribute PageRank through the catalogue.
- An SEO audit reveals 50 orphan pages with no internal links; adding them to relevant hub pages immediately improves their crawl frequency and impressions.
More examples
Keyword-anchored internal link
Descriptive anchor text tells both users and crawlers what the linked page is about, reinforcing topical relevance for the target URL.
<p>
Once you understand search intent, the next step is
<!-- Descriptive anchor text — not 'click here' -->
<a href="/blog/keyword-research-guide/">keyword research</a>.
Matching the right keywords to the right pages is covered in our
<a href="/blog/keyword-mapping/">keyword mapping guide</a>.
</p>Hub-and-spoke internal link structure
A hub-and-spoke structure concentrates link equity on the pillar page while the spokes cover subtopics, creating a clear topical authority signal.
<!-- Pillar / hub page: /seo-guide/ -->
<nav aria-label="SEO Guide Chapters">
<ul>
<li><a href="/seo-guide/keyword-research/">Keyword Research</a></li>
<li><a href="/seo-guide/on-page-seo/">On-Page SEO</a></li>
<li><a href="/seo-guide/technical-seo/">Technical SEO</a></li>
<li><a href="/seo-guide/link-building/">Link Building</a></li>
</ul>
</nav>
<!-- Each spoke links back to the hub -->
<p>Return to the <a href="/seo-guide/">complete SEO guide</a>.</p>Find orphan pages via log analysis
Diffing crawled URLs against linked URLs surfaces orphan pages that receive no internal link equity and are likely under-crawled and under-ranked.
# Compare crawled URLs to all internal hrefs to find orphans
python3 - << 'EOF'
crawled = {
"/", "/seo-guide/", "/seo-guide/keyword-research/",
"/seo-guide/technical-seo/", "/old-page/" # old-page is orphaned
}
linked = {
"/", "/seo-guide/", "/seo-guide/keyword-research/",
"/seo-guide/technical-seo/"
}
orphans = crawled - linked
print("Orphan pages (no internal links pointing to them):")
for p in sorted(orphans):
print(f" {p}")
EOF
Discussion