Why Internal Links Matter
Internal links distribute page authority, help Google discover content, and keep users engaged. For 80+ articles, manual linking is unsustainable.
Tag-Based Link Graph
Every article has tags in frontmatter. The algorithm finds related articles by tag overlap:
function buildLinkMap(articles) {
const linkMap = {};
for (const article of articles) {
const related = articles
.filter(a => a.slug !== article.slug)
.map(a => ({
slug: a.slug,
overlap: a.tags.filter(t => article.tags.includes(t)).length
}))
.filter(a => a.overlap > 0)
.sort((a, b) => b.overlap - a.overlap)
.slice(0, 6);
linkMap[article.slug] = related;
}
return linkMap;
}
Output Format
The script generates a TypeScript file with related articles that components import for rendering.
Dry Run Mode
Run with --dry-run to preview changes before committing.
Impact
After implementing automated internal linking:
- Average internal links per article: 1.2 to 5.4
- Pages with zero internal links: 23 to 0
- Google discovered 17 more pages within two weeks
Top comments (0)