The content structure that fixed our keyword cannibalization problem.
Ran into this repeatedly across orthopedic, gynecology, and fetal medicine client sites: multiple service/blog pages quietly competing for the same keyword, splitting rankings instead of stacking them.
What fixed it wasn't more content — it was restructuring into a strict pillar-cluster architecture:
One pillar page owns the head keyword
Cluster pages get page-specific keyword variants only, mapped out before writing (not after)
Every cluster page links back to the pillar, and the pillar links out to every cluster (bidirectional, not one-way)
Before publishing anything new, we check it against existing pages for overlap and reassign the variant if there's a clash
Sounds obvious written out, but most sites (including client sites before we touched them) don't enforce the "before writing" part — they map keywords after the content already exists, which is why cannibalization creeps back in every few months.
One thing I'd still like to solve better: tracking overlap gets harder as the site scales past ~50 pages. Anyone here using a system (beyond a manual spreadsheet) that handles this well?
Replies