Technical
SEO Internal Linking Patterns That Actually Move Rankings
Search engines read internal links as your own vote on what matters. Most sites waste this. A footer menu of 'related posts' picked randomly is not a vote, it is noise. Strategic internal linking is one of the cheapest SEO wins.
Three Patterns That Work
Hub and spoke: one long pillar article (the hub) links to ten focused articles (the spokes), and every spoke links back to the hub. Search engines treat the hub as authoritative on the topic. I use this for my AI-assisted development content.
Thematic clusters: pages on the same theme cross-link to each other, not just to hubs. A cluster of five articles on WordPress development each link to two or three others. Signal to search: this site covers WordPress deeply.
Anchor text variety: the same destination gets different anchor text on different source pages. 'FastAPI tutorial' here, 'building APIs with FastAPI' there. Search engines learn the semantic range of the target, not just the exact phrase.
The Audit Tool
# quick internal link audit
from collections import Counter
import re
def audit_internal_links(posts):
links = Counter()
for p in posts:
for match in re.findall(r'\[.*?\]\(/blog/([a-z0-9-]+)\)', p.body):
links[match] += 1
return links.most_common(20)I run this monthly. Articles with zero incoming links are orphans. Articles with 20+ incoming links are my actual hubs, whether I planned them that way or not. The data shapes my next content.
The Move That Surprised Me
I went back through 40 old articles and added two contextual internal links each. Not at the bottom. Inside the prose, where it made sense. Rankings for the target pages improved over the next four weeks. Zero new content, measurable lift.
See the Google search internal links guidance. Internal linking is work you already can do. Do it deliberately.
RELATED READING
The Consulting Shift I Am Making In Year Two
After a year of writing and building, my consulting practice is changing shape. Shorter engagements. Sharper outcomes.
ReadThe Frontend Shift: Shipping Less JavaScript In Year Two
A year ago I reached for Next.js for everything. This year I often reach for nothing.
ReadThe Serverless Lesson I Would Write On A Sticky Note
After a year of shipping serverless projects, one rule explains most of the wins and all of the losses.
Read