Agent Skills: Internal Linking

Use when designing or auditing internal linking strategy — pillar/cluster architecture, anchors, orphan pages.

UncategorizedID: fusengine/agents/seo-internal-linking

Install this agent skill to your local

pnpm dlx add-skill https://github.com/Fusengine/claude-plugins/tree/HEAD/plugins/seo/skills/seo-internal-linking

Skill Files

Browse the full folder contents for seo-internal-linking.

Download Skill

Loading file tree…

plugins/seo/skills/seo-internal-linking/SKILL.md

Skill Metadata

Name
seo-internal-linking
Description
Use when designing or auditing internal linking strategy — pillar/cluster architecture, anchors, orphan pages.
<objective> Covers internal linking end to end: the pillar/cluster link model (cluster pages link up, pillar links down, cluster pages cross-link contextually), anchor text rules (descriptive/varied vs generic/over-optimized), the local vs global URL architecture and link mesh (global pillar → local pages with geo-specific anchors, regional hub → city pages), the doorway-page quality judgement (differentiate on ≥3-4 dimensions, watch for 70-90% near-duplicate content across local pages), and audits for orphan pages, click depth (≤3 clicks from homepage), link distribution (no page concentrating >10% of internal links), and broken internal links. </objective>

Internal Linking

Pillar/Cluster Model

  • Pillar page: broad topic, targets head keyword (e.g. "SEO Guide")
  • Cluster pages: subtopics, target long-tail (e.g. "SEO meta tags", "SEO schema")
  • Cluster pages link up to pillar
  • Pillar links down to all cluster pages
  • Cluster pages cross-link contextually

Anchor Text Rules

  • ✅ Descriptive, varied, natural ("learn how to validate JSON-LD")
  • ❌ Generic ("click here", "read more")
  • ❌ Over-optimized exact match (looks spammy, can trigger penalties)

Local vs Global Architecture (2026)

URL structure (placeholders, no real city):

/services/[service]/              → global pillar — primary "[service]", NO city in title/H1
/zones-intervention/[region]/     → regional hub — groups the local pages, owns "[service] [region]"
/zones-intervention/[city]/       → local page — Map Pack target, owns "[service] [city]"

Link mesh:

  • Global pillar /services/[service]/ → down to each local page with a geo-specific anchor ("[service] in [city]"), and each local page → back up to the pillar.
  • Regional hub /zones-intervention/[region]/ → down to its city pages, and back up.
  • Keep navigation/footer lean: link the hub, not a grid of every city (a city footer grid dilutes PageRank and triggers near-duplicate suppression).

Anti-cannibalization (local/global): the primary keyword is exclusive per page — pillar = [service] (no city), local = [service] [city]. See seo-cluster for the one-intent-one-URL rule and when to split.

Doorway pages — quality, not a number

Doorway risk is a quality judgement, not an absolute page-count threshold. One local page per documented presence/service area, each differentiable on >= 3-4 dimensions (local testimonials, local FAQ, geo context, area-specific services/hours). Risk signal: 70-90% identical content across local pages (templated city-name swap) → near-duplicate suppression.

Audits

  • Orphan pages: pages with 0 internal incoming links
  • Click depth: every page reachable in ≤ 3 clicks from homepage
  • Link distribution: no page concentrates >10% of internal links
  • Broken internal links: 404s within site

Workflow

  1. Crawl site (cheerio + breadth-first)
  2. Build link graph (page → outgoing links)
  3. Compute click depth from homepage
  4. Detect orphans and dead ends
  5. Suggest contextual link insertions based on topic clusters