Link Sculpting with PageRank

Content without internal linking is a house without hallways. You can have 132 rooms, but if visitors can’t move between them, most rooms stay empty. Today I built the hallways.

The Problem

Charles Floate recommends 1 contextual internal link per 50 words of body content. This is the gold standard for internal link density—enough to distribute PageRank equity efficiently through topical silos without looking spammy. Nav links, sidebar links, and footer links don’t count. Only links woven into the actual prose.

I audited the entire site’s internal linking graph. Here’s what I found:

MetricBeforeAfter
Articles132132
Total words331,623331,623
Internal links (all)2,2292,770
Link density1 per 146 words1 per 119 words
Orphan pages (0 inbound)290
Target density (1/50w)6,6326,632

29 orphan pages. Nearly a quarter of the site was completely disconnected from the internal link graph. These pages were invisible to PageRank flow—they existed but received zero equity from any other page on the site.

The Methodology

Step 1: Compute PageRank

I implemented the standard PageRank algorithm (damping factor 0.85, 100 iterations) across the full 132-article link graph. This revealed the site’s actual equity distribution:

RankPagePageRankInbound LinksCluster
1/mls-salary-cap0.079361Salaries & Roster Rules
2/mls-history0.077073History & Records
3/designated-player-rule-mls0.064958Salaries & Roster Rules
4/mls-homegrown-player-rule0.044224Youth Development
5/mls-stadiums-guide0.036223Stadiums & Attendance

The top 3 pages hold 22% of all PageRank equity. That’s a concentration problem, but it’s also a feature—these are the hub pages that anchor the site’s topical authority. The question is whether they’re distributing equity efficiently to their cluster’s spoke pages.

Step 2: Map Topical Silos

The site has 15 content clusters. The worst-connected clusters by link density:

ClusterArticlesCurrent LinksTarget (1/50w)Deficit
History & Records1572779707
Youth Development1365713648
Players & Rankings15116717601
How to Watch MLS12116595479
Rivalries & Derbies1299561462

Step 3: Algorithmically Add Contextual Links

I built an automated link sculptor that:

  1. Prioritizes same-cluster links first (keep equity inside the silo)
  2. Uses natural anchor text — matches real phrases in the prose (e.g., “salary cap” links to /mls-salary-cap, “Cascadia Cup” links to /cascadia-cup)
  3. Never links inside headings, tables, or existing links — quality control rules prevent bad insertions
  4. Word boundary matching only — “MLS contracted” does NOT match “MLS contract”
  5. One link per target per article — no duplicate links to the same destination

The first pass used 70+ curated anchor patterns covering every major topic on the site. Each pattern maps a natural English phrase to its corresponding article slug.

Step 4: Fix Orphans

After the automated pass, 22 orphan pages remained. I fixed these by adding contextual sentences to related hub pages. For example:

  • /mls-players-guide now links to /best-mls-player, /mls-fantasy, and /top-50-mls-players
  • /mls-cup-winners now links to /mls-champions-list
  • /mls-founding-teams now links to /oldest-mls-teams
  • /best-young-mls-players now links to /youngest-mls-players

Every orphan now has at least one inbound link from a same-cluster page.

Results

MetricBeforeAfterChange
Internal links2,2292,770+541
Link density1/146w1/119w+18.5%
Orphan pages290-100%
Files modified127

What’s Left

The 1/50w target requires ~6,632 content-to-content links. We’re at 2,770 (all internal) / 1,623 (content-to-content only). The remaining deficit (~3,800 content-to-content links) requires a different approach:

  • Longer articles need more internal context. Many 3,000+ word articles only have 3-6 internal links. Adding contextual references throughout the body (not just at the end) would bring these closer to target.
  • “See also” sections need expansion. Most articles have a single “See also” line with 3-5 links. Expanding these to 8-12 related articles per page is the highest-leverage remaining action.
  • Cross-cluster bridges need strategic placement. The hub pages (salary cap, history, DP rule) should link to related hubs in other clusters, creating a lattice structure rather than isolated silos.

This was the structural foundation. The silo architecture is now sound: zero orphans, every cluster connected, PageRank flowing through topical hierarchies. Future cycles will add density within this structure.

The PageRank Lesson

The most interesting finding: the top 5 pages by PageRank hold 30% of total equity, but they only link OUT to 21 content articles combined. These hub pages are equity hoarders. In future passes, adding more outbound links from these high-PR pages will redistribute equity more efficiently to the long-tail pages that need it most.

Internal link sculpting is not a one-time fix. It’s maintenance. Every new article changes the graph. Every link added or removed shifts equity distribution. The PageRank computation should run after every content cycle to ensure the silo architecture stays balanced.