Files
igny8/v2/Igny8 V2 New Final Plans/SAG-Doc3-Interlinking-Specification-PLAN.md
IGNY8 VPS (Salman) 128b186865 temproary docs uplaoded
2026-03-23 09:02:49 +00:00

28 KiB
Raw Blame History

Document 3 — SAG Interlinking Specification (Linker Module)

Detailed Section Plan

Version: 1.0 | March 2026 Status: Plan — Ready for section-by-section build Dependency: SAG-IGNY8-Implementation.md (Section 14 pipeline, Section 16 data models, blueprint JSON) Target Format: Markdown (.md) for IGNY8 repo use with Claude Code Estimated Length: ~800-1,000 lines


Current State Summary (inputs to this document)

What Exists in IGNY8 Today

  • Linker module: Backend at business/linking/, API at modules/linker/, frontend at pages/Linker/ and api/linker.api.ts — all INACTIVE behind linker_enabled feature flag
  • Existing Linker capability (pre-SAG): Finds link candidates based on content similarity, injects links with varied anchor text, configurable link density limits
  • Blueprint JSON already has internal_linking_map field (currently {"rules_reference": "SAG-Interlinking-Specification.md"} — pointing to THIS document), linked_attribute_terms per cluster, cross_cluster_links per cluster, and link_coverage_score on SAGCluster model
  • Content model has sag_cluster_id field (planned) — links content back to its cluster for linking rules
  • Pipeline Stage 7 (SAG-enhanced): "Pre-computed internal links ready" at review queue — means links are generated BEFORE publish, not after

What SAG-IGNY8-Implementation.md Already Defines

  • Page types: Blog Post, Cluster Hub Page, Product Page, Service Page, Category Page, Attribute Term Page, Brand Page, Comparison Page
  • Cluster types: Product/Service Category, Condition/Problem, Feature, Brand, Informational, Comparison — each has different hub page style
  • Blueprint stores linked_attribute_terms (which taxonomy terms a cluster connects to) and cross_cluster_links (which other clusters share attribute values)
  • Execution priority: Phase 1 = category pages + top hubs, Phase 2 = remaining hubs + first blogs, Phase 3 = attribute term pages, Phase 4 = additional blogs + brand comparisons
  • Health monitoring already tracks "internal link coverage" as one of the weekly health check items

What the Niche Definition Process (Doc 2) Defines

  • Each cluster has 1 hub page + 3-8 supporting content pieces
  • Clusters form at 2+ attribute value intersections — two clusters sharing an attribute value are cross-link candidates
  • Max 50 clusters per sector, backlink campaigns target top 25-30 — the other 20-25 rank purely through internal authority flow

What Content Types Plan Defines

  • Taxonomy landing pages include "key subtopics + internal links" and "internal links to related clusters" as default sections
  • Cluster hub pages aggregate related terms + posts + products

What the Taxonomy Term Content Plan Defines

  • Term pages need "internal links to related clusters" as a standard section
  • Cluster Hub Manager handles "cluster landing pages and cross-links"

Section Plan

Section 1: Purpose & Scope

Content:

  • Why SAG interlinking is fundamentally different from generic internal linking tools
  • Generic linkers scan content for keyword matches and insert links randomly — SAG linking follows deterministic rules derived from the dimensional structure
  • Every link has a structural purpose: it flows authority from backlinked pages down through the hierarchy and connects dimensionally-related content
  • This document is the rules engine specification — it tells the IGNY8 Linker module exactly what links to create, where, with what anchor text, and in what priority order
  • Scope: WordPress implementation first, platform-agnostic rules that translate to any CMS
  • Dependency: Requires an active SAG Blueprint with populated clusters, published content, and WordPress taxonomies created

Inputs from existing docs: SAG-IGNY8-Implementation.md Section 14.1 (Post-Publish → "Linker creates SAG-compliant internal links")


Content: Define every page type that participates in the link graph, its role, and its WordPress implementation. Each type has different linking behavior.

Page Type SAG Role WordPress Implementation Link Behavior
Homepage T1 — authority entry point Front page Links to sector landing pages and top cluster hubs
Sector Landing Page Sector overview Page (or custom page template) Links to all cluster hubs within sector
Cluster Hub Page T2/T3 — authority distribution node Page with hub template Links DOWN to supporting content, ACROSS to related cluster hubs, UP to sector landing
Supporting Blog Post T4 — content depth Post Links UP to its cluster hub (mandatory), ACROSS to sibling blogs in same cluster, ACROSS to related cluster hubs
Attribute Term Page Taxonomy node connecting clusters Custom taxonomy term archive with rich content Links to ALL cluster hubs that use this attribute value
Product Page Commercial page WooCommerce product Links to its cluster hub, to relevant attribute term pages
Service Page Commercial page Page with service template Links to its cluster hub, to relevant attribute term pages
Category Page Top-level grouping Category archive with rich content Links to cluster hubs within this category
Brand Page Brand overview Post or page Links to cluster hubs featuring this brand
Comparison Page Decision-stage content Post Links to both compared cluster hubs

Key rule: Every page except homepage must link to at least ONE cluster hub. No orphan pages in a SAG site.

Inputs from existing docs: SAG-IGNY8-Implementation.md Section 11.2 (content type table), Section 12.2 (platform mapping table), Content_Types_Writing_Plan.md Section 2


Content: Define the 7 directional link types the system generates. Each has specific rules.

Type 1: Vertical Upward (Supporting → Hub)

  • Every supporting blog post MUST link to its cluster hub page
  • This is mandatory, not optional — enforced at content generation time
  • Anchor text uses cluster's primary keyword or hub page title variant
  • Placement: First mention of cluster topic in content body, ideally within first 2 paragraphs
  • Count: Exactly 1 link to own hub per supporting article

Type 2: Vertical Downward (Hub → Supporting)

  • Every cluster hub page links to ALL its published supporting content
  • Placement: Hub pages have a structured "Related Articles" or "In This Guide" section
  • Plus contextual in-body links where naturally relevant
  • Anchor text: Article title or primary keyword of the supporting piece

Type 3: Horizontal Sibling (Supporting ↔ Supporting within same cluster)

  • Supporting articles within the same cluster link to each other where topically relevant
  • Not mandatory for every pair — only where semantic overlap creates a natural link opportunity
  • Maximum 2 sibling links per article to avoid link dilution
  • Anchor text: Natural descriptive phrases, varied per link

Type 4: Cross-Cluster (Hub ↔ Hub sharing attribute value)

  • Two cluster hubs that share an attribute value are cross-link candidates
  • Example: "Foot × Neuropathy" and "Foot × EMS" both have Target Area = Foot → cross-link
  • Maximum 2 cross-cluster links per hub page to avoid diluting the hub's primary focus
  • Selection: Highest-value cross-links chosen by shared keyword volume overlap
  • Anchor text: The linked hub's primary keyword or a natural variant

Type 5: Taxonomy Contextual (Term Page → Cluster Hubs)

  • Each attribute term page links to EVERY cluster hub that uses that attribute value
  • Example: "Neuropathy" term page links to "Foot × Neuropathy", "EMS × Neuropathy", "Heated × Neuropathy"
  • This is the dimensional connecting layer — term pages are the linking nodes of the grid
  • Anchor text: Hub page title or cluster primary keyword

Type 6: Breadcrumb Structural

  • Every page has a breadcrumb path: Home → Sector → [Attribute Term or Category] → Hub → Current Page
  • These are navigational links, always present in page template
  • Not counted toward content link density limits

Type 7: Related Content (Cross-Cluster, Semantic)

  • For supporting blogs, a "Related Reading" or "You May Also Like" section with 2-3 links to content in OTHER clusters
  • Selected by: shared attribute values (not same cluster), complementary topics, user journey logic
  • This is the weakest link type — lowest priority, most likely to be omitted if link density cap is reached

Inputs from existing docs: Blueprint JSON linked_attribute_terms field (Type 5), cross_cluster_links field (Type 4), Taxonomy_Term_Content_Plan.md Section 7 item 5 ("internal links to related clusters")


Section 4: Authority Flow Model

Content: How external backlink authority distributes through the SAG structure via internal links. This is the mechanism behind the "compounding authority effect."

Flow path:

  1. External backlinks hit homepage (T1) and top 25-30 cluster hub pages (T2/T3)
  2. Hub pages distribute authority DOWN to 3-8 supporting articles each
  3. Supporting articles link BACK UP to hub (reinforcing) and ACROSS to siblings (spreading)
  4. Attribute term pages act as horizontal connectors — they link to ALL hubs sharing that attribute value, creating cross-cluster authority flow
  5. Clusters WITHOUT direct backlinks receive authority through: cross-cluster links from backlinked hubs, term page connections from shared attribute values, and sibling blog cross-references

Why this compounds:

  • Every new piece of content in a cluster strengthens the hub (more upward links)
  • Every new cluster that shares an attribute value strengthens the term page (more hub links feeding into it)
  • The term page then distributes that combined authority to ALL connected hubs
  • Result: A site at DR 29 can dominate country-level rankings for thousands of queries because the internal structure amplifies whatever external authority exists

Maximum hop distance: Any page should be reachable from a backlinked page within 3 link hops. If a page requires 4+ hops, it needs a direct cross-link from a higher-authority page.

Visualization: Include a flow diagram showing Homepage → Sector → Hubs (backlinked) → Supporting Content → Term Pages → Other Hubs (not backlinked) with authority flow arrows

Inputs from existing docs: Transcript discussion of T1-T5 tier system, SAG-IGNY8-Implementation.md Section 14.3 (health monitoring tracks link coverage), SAG compounding authority evidence from MassagerSmart (DR 29 dominating country rankings)


Content: When the Linker has multiple potential links to create (especially for cross-cluster and related content links), it needs a scoring system to select the highest-value links.

Scoring factors:

Factor Weight Logic
Shared attribute values 40% More shared values = stronger topical relevance
Target page authority 25% Pages with backlinks or higher link_coverage_score get priority
Keyword overlap 20% Cluster keyword lists compared — higher overlap = more relevant link
Content recency 10% Newer content gets slight priority to accelerate indexing
Current link count gap 5% Pages below minimum inbound links get priority

Priority ordering for link creation:

  1. Mandatory links first (Type 1: supporting → hub — always created)
  2. Hub → supporting links (Type 2 — always created for published content)
  3. Term page → hub links (Type 5 — always created)
  4. Cross-cluster hub links (Type 4 — top 2 by score)
  5. Sibling links (Type 3 — top 2 by score)
  6. Related content links (Type 7 — fill remaining capacity)

Inputs from existing docs: SAGCluster model has link_coverage_score field, blueprint health monitoring tracks internal link coverage


Section 6: Anchor Text Generation Rules

Content: Anchor text strategy per link type to avoid over-optimization while maximizing keyword relevance.

Link Type Anchor Text Strategy Examples
Supporting → Hub Primary keyword of hub (60%), hub title variant (30%), natural phrase (10%) "foot massagers for neuropathy", "our neuropathy foot massager guide", "learn more about neuropathy relief"
Hub → Supporting Article title (70%), primary keyword (20%), descriptive (10%) "Doctor-Recommended Foot Massagers for Neuropathy", "doctor-recommended neuropathy massagers"
Sibling → Sibling Natural contextual phrase (60%), article keyword (30%), generic (10%) "comparing EMS and TENS therapy", "EMS vs TENS for neuropathy"
Cross-Cluster Hub → Hub Target hub primary keyword (50%), descriptive (40%), generic (10%) "EMS foot massagers", "explore our EMS foot massager guide"
Term Page → Hub Hub primary keyword (50%), hub title (40%), descriptive (10%) "best foot massagers for neuropathy", "Foot Massagers for Neuropathy Guide"
Breadcrumb Page title (100%) Always the page title — no variation
Related Content Natural phrase (80%), generic (20%) "you might also find this helpful", "related: heated massagers for circulation"

Hard rules:

  • No exact-match anchor text used more than 3 times across the entire site for the same target URL
  • Anchor text must be grammatically natural in context — never force a keyword phrase that breaks sentence flow
  • Never use "click here", "read more", or "this article" as anchor text
  • Maximum anchor text length: 8 words
  • Minimum anchor text length: 2 words

Content: Maximum and minimum outbound/inbound link counts per page type to prevent over-linking or under-linking.

Page Type Min Outbound Max Outbound Min Inbound Notes
Homepage 5 15 N/A (external) Links to top hubs + sector pages
Cluster Hub 5 20 3 Must link to all supporting + 2 cross-cluster
Supporting Blog (<1000 words) 2 5 1 Must include hub link
Supporting Blog (1000-2000 words) 3 8 1 Must include hub link
Supporting Blog (2000+ words) 4 12 1 Must include hub link
Attribute Term Page 3 unlimited 0 Links to ALL connected hubs (no cap)
Product Page 2 5 1 Hub + relevant term pages
Service Page 2 5 1 Hub + relevant term pages

Override logic:

  • If a hub has 10+ supporting articles, max outbound for hub increases to 25 (listing them all adds value)
  • If content is a mega-guide (3000+ words), max outbound increases to 15
  • User can manually override density limits per page in IGNY8 UI

Density ratio: Outbound links per 300 words of content, with a target of 1-2 links per 300 words for body content. Navigational sections (related articles, breadcrumbs) don't count toward this ratio.


Section 8: Cross-Cluster & Cross-Sector Linking Logic

Content: Detailed rules for when and how to create links between clusters.

Cross-cluster within same sector:

  • Two clusters are cross-link candidates when they share at least 1 attribute value
  • Example: "Foot × Neuropathy" and "Foot × Plantar Fasciitis" share Target Area = Foot
  • The Linker checks attribute_intersection JSON of both clusters for shared values
  • Maximum 2 cross-cluster outbound links per hub page
  • Selection: Score all candidates by the scoring algorithm (Section 5), pick top 2

Cross-sector (multi-sector sites):

  • Same logic but across sectors — two clusters from different sectors sharing an attribute value
  • These are rarer and higher-value because they connect separate topical areas
  • Example: "Agile PM Tools" (PM sector) and "Sprint Planning CRM" (CRM sector) both have Use Case = Agile
  • Cross-sector links get a 1.5x score multiplier because they're harder for competitors to replicate
  • Maximum 1 cross-sector link per hub page (don't dilute primary sector authority)

Shared attribute value check (pseudocode):

for each cluster_a.hub_page:
    candidates = []
    for each cluster_b in blueprint.clusters:
        if cluster_b == cluster_a: skip
        shared = intersection(cluster_a.attribute_values, cluster_b.attribute_values)
        if len(shared) >= 1:
            score = calculate_link_score(cluster_a, cluster_b, shared)
            candidates.append((cluster_b, score))
    sort candidates by score desc
    create_links(top 2 candidates)

Inputs from existing docs: Blueprint JSON cross_cluster_links field already stores these relationships per cluster


Content: Where exactly in the content links get placed.

During content generation (New Content Mode):

  • AI content generation prompts include link injection instructions
  • Links are placed BEFORE content enters the review queue (pipeline Stage 7 reference)
  • Writer module receives link targets from the Linker as part of the task context

Link placement zones per page type:

Blog Posts / Supporting Content:

  • Zone 1: In-body contextual (primary) — links woven into paragraph text where topically natural
    • Hub link: Within first 2 paragraphs, at first natural mention of cluster topic
    • Sibling links: In relevant body sections, natural context
    • Cross-cluster links: In sections discussing related topics
  • Zone 2: "Related Reading" section at end of article (2-3 links)
  • Zone 3: Breadcrumb at top (structural, always present)

Cluster Hub Pages:

  • Zone 1: In-body contextual — links to supporting content within guide sections
  • Zone 2: "Articles in This Guide" / "Complete Guide Contents" section — all supporting articles listed
  • Zone 3: "Related Topics" section — cross-cluster hub links (max 2)
  • Zone 4: Breadcrumb at top

Attribute Term Pages:

  • Zone 1: Intro paragraph — link to the primary cluster hub for this term
  • Zone 2: "Explore by Topic" section — all connected cluster hubs listed with brief descriptions
  • Zone 3: "Top [Term] Products/Services" — links to relevant products/services
  • Zone 4: "Related Guides" — links to supporting blogs across clusters

Product/Service Pages:

  • Zone 1: In description — link to cluster hub this product belongs to
  • Zone 2: "Specifications" or "Details" section — links to attribute term pages for the product's attribute values
  • Zone 3: "Related Products" — sibling products in same cluster

Section 10: Existing Content Audit Mode

Content: How the Linker scans already-published content and identifies missing SAG links.

Trigger: User clicks "Audit Links" in Linker module, or automatic weekly scan via blueprint health monitoring

Audit process:

  1. Load active blueprint — get all clusters, page types, expected link relationships
  2. Crawl all published content (from IGNY8 content records, not live site)
  3. For each page, extract all outbound links (parse HTML content)
  4. Compare actual links vs expected links per the rules in Sections 3-8
  5. Generate gap report

Gap report output per page:

  • Missing mandatory links (e.g., blog post has no link to its hub)
  • Missing cross-cluster links (hub has 0 of 2 recommended)
  • Missing attribute term links
  • Over-linked pages (exceeding density limits)
  • Orphan pages (no inbound links from any SAG page)

Recommendation generation:

  • For each missing link: target URL, suggested anchor text (3 variants), suggested placement zone
  • For over-linked pages: which links to remove (lowest-scoring by algorithm)
  • Priority ordering: mandatory gaps first, then high-authority gaps, then nice-to-haves

User workflow: Linker presents recommendations → user approves/rejects per link → approved links auto-injected into content → content republished to WordPress


Section 11: New Content Mode

Content: How links are automatically inserted during content generation, before the content enters the review queue.

Integration point: Pipeline Stage 4 (Content Generation) → Linker adds link context to Writer task

Flow:

  1. Writer task created with sag_cluster_id and blueprint_context
  2. Before content generation, Linker calculates required links for this content piece:
    • What cluster is this? → Mandatory link to cluster hub
    • What page type is this? → Apply density rules
    • What sibling content exists in this cluster? → Sibling link candidates
    • What cross-cluster opportunities exist? → Cross-cluster candidates
  3. Link targets + anchor text suggestions passed to AI content generation prompt
  4. AI generates content WITH links embedded
  5. Post-generation link validation: verify all mandatory links present, density within limits
  6. Content enters review queue with links pre-inserted

Prompt enhancement (added to Thinker prompts):

Link requirements for this content:
- MANDATORY: Link to [hub_url] with anchor text "[primary_keyword]" within first 2 paragraphs
- RECOMMENDED: Link to [sibling_url_1] with anchor "[suggested_anchor]" where contextually relevant
- RECOMMENDED: Link to [cross_cluster_url] with anchor "[suggested_anchor]" if topic comes up naturally
- Total outbound links: [min]-[max] based on content length
- Do NOT use "click here" or "read more" as anchor text

Content: Ongoing monitoring that feeds into the SAG Health Score.

Checks (run weekly or on-demand):

  • Broken links: Published URLs that return 404 or redirect chains
  • Orphan pages: Pages with 0 inbound SAG links (every page should have at least 1)
  • Authority flow gaps: Clusters where hub has backlinks but supporting content has <2 inbound links
  • Over-linked pages: Pages exceeding density maximums
  • Missing mandatory links: Any supporting blog without a hub link
  • Stale cross-links: Cross-cluster links pointing to hubs whose clusters have been restructured
  • Anchor text over-optimization: Same exact anchor pointing to same URL more than 3 times site-wide

Health score contribution: The link coverage score (0-100) on SAGCluster model is calculated as:

  • Hub page published and has all mandatory links? (25 points)
  • All supporting content links back to hub? (25 points)
  • At least 1 cross-cluster link on hub? (15 points)
  • All attribute term pages link to this hub? (15 points)
  • No broken links within cluster? (10 points)
  • Density within limits for all cluster pages? (10 points)

Alert thresholds:

  • Cluster link score < 50: Flag as "needs attention" in dashboard
  • Orphan page detected: Immediate alert
  • Broken link detected: Add to fix queue
  • 3+ same exact anchor text: Over-optimization warning

Section 13: Reporting & Visualization

Content: What the Linker module shows in the IGNY8 UI.

Cluster-Level Link Coverage Report:

  • Table showing all clusters with: cluster name, hub status (published/draft/missing), supporting content count, link coverage score, missing links count
  • Color coding: green (score 80+), yellow (50-79), red (<50)
  • Click into cluster → see all pages, all links, all gaps

Site-Wide Link Map:

  • Visual showing clusters as nodes, with lines connecting cross-linked hubs
  • Attribute term pages as connecting nodes between clusters
  • Thickness of lines = number of links between nodes
  • Helps users see which parts of the grid are well-connected vs isolated

Link Audit Dashboard:

  • Total links site-wide
  • Missing mandatory links count
  • Orphan pages count
  • Over-linked pages count
  • Top 10 most-linked pages (should be hubs)
  • Top 10 least-linked pages (should be investigated)
  • Average links per page by type

Gap Analysis Export:

  • Downloadable report of all missing links with recommendations
  • Format matching existing IGNY8 export patterns

Section 14: Data Models

Content: New models and fields needed for the Linker module.

SAGLink (new model)

- id (UUID)
- blueprint_id (FK → SAGBlueprint)
- source_content_id (FK → Content)
- target_content_id (FK → Content, nullable — for external/term page targets)
- target_url (String — for term pages or external)
- link_type (Enum: hub_upward, hub_downward, sibling, cross_cluster, taxonomy_contextual, breadcrumb, related_content)
- anchor_text (String)
- placement_zone (Enum: in_body, related_section, breadcrumb, specification, guide_contents)
- status (Enum: planned, injected, published, broken, removed)
- score (Float — from scoring algorithm)
- created_at, injected_at

SAGLinkAudit (new model)

- id (UUID)
- blueprint_id (FK → SAGBlueprint)
- audit_date (DateTime)
- total_links (Integer)
- missing_mandatory (Integer)
- orphan_pages (Integer)
- broken_links (Integer)
- over_linked_pages (Integer)
- cluster_scores (JSON — {cluster_id: score} map)
- recommendations (JSON — array of link recommendations)

Modified existing models:

  • SAGCluster: link_coverage_score already defined — this doc defines how it's calculated (Section 12)
  • Content: Add outbound_link_count (Integer), inbound_link_count (Integer) — cached counters

Section 15: Integration with IGNY8 Pipeline

Content: How the Linker module fits into the existing IGNY8 workflow and automation.

Manual mode:

  • User publishes content → clicks "Generate Links" in Linker → reviews recommendations → approves → links injected
  • User runs "Audit Links" → sees gap report → approves fixes → links updated

Automation mode (pipeline extension):

  • After Stage 7 (images generated), new Stage 8: Link Generation
    • Load blueprint, get cluster context for this content
    • Generate required links per rules
    • Inject into content HTML
    • Content enters review queue with links already present
  • After publish → async link audit checks all pages in cluster for completeness

WordPress plugin integration:

  • When content publishes to WordPress, links are already in the HTML
  • Plugin does NOT need to do link processing — IGNY8 app handles all link logic
  • Plugin reports back published URL → IGNY8 updates SAGLink records with final published URLs

Section 16: MassagerSmart Reference Example

Content: Walk through the complete interlinking architecture for MassagerSmart.com as the reference implementation.

Example cluster: "Foot Massagers for Neuropathy"

  • Hub page: "Best Foot Massagers for Neuropathy & Nerve Pain Relief"
    • Links DOWN to: "Doctor-Recommended Foot Massagers for Neuropathy", "EMS vs TENS for Neuropathy", "Does a Foot Massager Actually Help Neuropathy?"
    • Links ACROSS to: "EMS Foot Massagers" hub (shared value: Foot), "Heated Foot Massagers" hub (shared value: Foot)
    • Links UP to: Sector landing page
  • Supporting blog: "Doctor-Recommended Foot Massagers for Neuropathy"
    • Links UP to: Hub page (mandatory)
    • Links to SIBLING: "EMS vs TENS for Neuropathy" (shared cluster)
    • Links to RELATED: "Shiatsu Foot Massagers" hub (different cluster, related topic)
  • Attribute Term Page: "Neuropathy"
    • Links to: "Foot Massagers for Neuropathy" hub, "EMS Massagers for Neuropathy" hub, "Heated Massagers for Neuropathy" hub — all hubs where Relief Focus = Neuropathy

Show the complete link map for 3-4 clusters demonstrating all 7 link types in practice.


Section 17: Cross-References

Content:

  • SAG Master Document — Pure methodology reference
  • SAG Implementation for IGNY8 — Three-layer architecture, blueprint JSON, data models, pipeline integration (primary dependency)
  • SAG Niche Definition Process — Cluster formation rules that determine link structure (Document 2)
  • SAG Backlink Campaign Specification — External links that feed the internal authority flow (Document 4)

Build Plan

This document will be built as Markdown (.md) for the IGNY8 repo, matching the format of SAG-IGNY8-Implementation.md. Estimated 800-1,000 lines across 17 sections. Can be built section by section in one session, or split into 2 sessions if needed.

Sections 1-4 establish the conceptual framework (page types, link types, authority flow). Sections 5-8 define the rules engine (scoring, anchors, density, cross-cluster). Sections 9-11 define the two operating modes (audit existing, generate for new). Sections 12-13 define monitoring and reporting. Sections 14-15 define data models and pipeline integration. Section 16 is the worked example. Section 17 is cross-references.