Get-found swarm · Internal-Link-Orchestration Agent · Internal-link-recommendation-engine skill · Build pillar · Published July 11, 2026
How to build a per-location internal-link recommendation engine
This guide explains how to architect the internal-link-recommendation-engine skill on the internal-link-orchestration agent end-to-end at multi-location franchise scale: per-portfolio per-location per-page per-canonical-per-page-embedding-index-spec + per-per-location-topical-cluster-graph-spec + per-per-page-anchor-text-diversity-spec + per-per-link-relevance-scoring-spec + per-per-link-equity-distribution-spec + per-per-link-cannibalization-detection-spec + per-per-link-multi-LLM-pre-publish-check + per-per-link-cross-skill-handoff + per-per-link-FBC-feedback-loop + per-per-link-audit-trail + per-portfolio audit-trail.
What you will build
- Per-portfolio per-canonical-per-page-embedding-index-spec across per-OpenAI-text-embedding-3-large + per-Cohere-embed-multilingual + per-Voyage-AI + per-Anthropic-claude-embed + per-Google-Gecko-embed + per-sentence-transformers-MiniLM + per-Pinecone + per-Weaviate + per-Qdrant + per-Milvus + per-Chroma + per-pgvector + per-content-extraction + per-multi-LLM-embedding-generation + per-embedding-drift-monitoring + per-embedding-versioning + per-content-canonicalization + per-content-deduplication + per-near-duplicate-detection.
- Per-canonical-per-location-topical-cluster-graph-spec + per-page-anchor-text-diversity-spec — per-pillar-cluster + per-cluster + per-sub-cluster + per-page-node + per-multi-LLM-classification + per-confidence + per-cross-location-de-overlap + per-cannibalization-detection + per-graph-traversal + per-graph-visualization + per-exact-match-anchor + per-partial-match-anchor + per-branded-anchor + per-generic-anchor + per-naked-URL-anchor + per-image-alt-anchor + per-anchor-text-distribution-ratio + per-over-optimization-detection + per-multi-LLM-naturalization + per-brand-voice-management-handoff.
- Per-canonical-per-link-relevance-scoring-spec + per-link-equity-distribution-spec — per-cosine-similarity + per-Euclidean-distance + per-dot-product + per-Maximum-Marginal-Relevance-MMR + per-multi-LLM-relevance-classification + per-confidence + per-explainability + per-PageRank + per-personalized-PageRank + per-HITS-hubs-authorities + per-betweenness-centrality + per-eigenvector-centrality + per-CheiRank + per-Markov-equity-flow + per-internal-link-equity-distribution-analysis-handoff + per-link-sculpting-at-scale-handoff.
- Per-canonical-per-link-cannibalization-detection-spec + per-multi-LLM-pre-publish-check — per-cross-page-keyword-overlap + per-cross-page-intent-overlap + per-cross-page-anchor-overlap + per-cross-location-page-cannibalization + per-cross-location-cannibalization-detection-handoff + per-per-location-page-content-cannibalization-handoff + per-canonical-tag-management-handoff + per-multi-LLM-ensemble (GPT-4o + Claude Sonnet + Gemini Pro) + per-LLM-relevance-check + per-LLM-anchor-text-quality-check + per-LLM-natural-vs-forced-classification + per-LLM-readability-check + per-LLM-EEAT-signal-check + per-LLM-confidence-scoring + per-LLM-self-consistency + per-LLM-chain-of-thought.
- Per-canonical-per-link-FBC-feedback + per-cross-skill-handoff + per-audit-trail — per-CTR-feedback + per-bounce-rate-feedback + per-time-on-page-feedback + per-pages-per-session-feedback + per-rank-change-feedback + per-cannibalization-resolution-feedback + per-pattern-learning + per-false-positive-pattern-learning + per-anchor-text-recalibration + per-relevance-recalibration + per-equity-distribution-recalibration + per-handoff-to-9-sibling-skills + per-per-link-canonical-audit-record + per-FDD-Item-12-attestation + per-state-AG-export + per-EU-AI-Act-Article-13-transparency + per-EU-AI-Act-Article-14-human-oversight + per-NIST-AI-RMF-attestation + per-immutable-WORM-storage.
Why per-vendor-Sitebulb-account-level-crawl-audit breaks at multi-location-multi-thousand-page franchise scale
Per-vendor-Sitebulb-canonical-account-level-crawl-audit ships per-account per-crawl per-page-issue primitive. Per-vendor-Screaming-Frog + Botify + OnCrawl + Lumar-DeepCrawl + JetOctopus + Ahrefs-Site-Audit + Semrush-Site-Audit + Link-Whisper + InLinks + LinkStorm + Sitechecker + ContentKing-canonical-account-level-crawl-audit ship per-vendor per-native account-level crawl primitives.
At 1-account-1-site-1-crawl scale per-account per-crawl per-page-issue primitive is enough. At multi-location-multi-thousand-page franchise scale per-per-page-embedding-index-spec + per-per-location-topical-cluster-graph-spec + per-per-page-anchor-text-diversity-spec + per-per-link-relevance-scoring-spec + per-per-link-equity-distribution-spec + per-per-link-cannibalization-detection-spec + per-per-link-multi-LLM-pre-publish-check + per-per-link-cross-skill-handoff + per-per-link-FBC-feedback-loop + per-per-link-audit-trail.
Per-account-crawl-page-issue + per-per-page-embedding-index-blind + per-per-location-topical-cluster-graph-blind + per-per-page-anchor-text-diversity-blind + per-per-link-relevance-scoring-blind + per-per-link-equity-distribution-blind + per-per-link-cannibalization-detection-blind + per-per-link-multi-LLM-pre-publish-blind + per-per-link-cross-skill-handoff-blind + per-per-link-FBC-feedback-loop-blind + per-multi-format-audit-trail-blind + per-EU-AI-Act-Article-13-Article-14-blind + per-NIST-AI-RMF-blind.
The operator-side architecture above per-vendor-crawl-audit primitive is canonical-per-page-embedding-index-spec + per-per-location-topical-cluster-graph-spec + per-per-page-anchor-text-diversity-spec + per-per-link-relevance-scoring-spec + per-per-link-equity-distribution-spec + per-per-link-cannibalization-detection-spec + per-per-link-multi-LLM-pre-publish-check + per-per-link-cross-skill-handoff + per-per-link-FBC-feedback-loop + per-per-link-audit-trail + per-portfolio-audit-trail.
What is in market today
Per-platform per-crawl-audit-vendor
Sitebulb, Screaming Frog, Botify, OnCrawl, Lumar (DeepCrawl), JetOctopus, Ahrefs Site Audit, Semrush Site Audit, Link Whisper, InLinks, LinkStorm, Sitechecker, ContentKing, OnPage.ai, Surfer SEO. Per-account per-crawl per-page-issue primitive. Per-canonical-per-page-embedding-index-canonical-per-location-topical-cluster-graph-canonical-per-page-anchor-text-diversity-canonical-per-link-relevance-scoring-canonical-per-link-equity-distribution-canonical-per-link-cannibalization-detection-canonical-per-link-multi-LLM-pre-publish-canonical-per-link-cross-skill-handoff-canonical-per-link-FBC-feedback-canonical-per-link-audit-trail is not the primitive.
Per-platform per-embedding-model-vendor
OpenAI text-embedding-3-large, Cohere embed-multilingual, Voyage AI, Anthropic claude-embed, Google Gecko, sentence-transformers MiniLM, Hugging Face Hub, Microsoft E5, Jina Embeddings. Per-account per-embedding-model per-call primitive. Per-canonical-per-page-multi-LLM-embedding-generation-canonical-per-page-vector-store-canonical-per-page-embedding-drift-monitoring-canonical-per-page-embedding-versioning is not the primitive.
Per-platform per-graph-database-vendor
Neo4j, ArangoDB, JanusGraph, TigerGraph, Amazon Neptune, Azure Cosmos DB Gremlin, Google Spanner Graph, RedisGraph, NetworkX (Python), igraph. Per-account per-graph per-node primitive. Per-canonical-per-location-topical-cluster-hierarchy-canonical-per-location-topical-cluster-graph-traversal-canonical-per-link-PageRank-canonical-per-link-personalized-PageRank-canonical-per-link-HITS-canonical-per-link-betweenness-centrality-canonical-per-link-eigenvector-centrality-canonical-per-link-CheiRank-canonical-per-link-Markov-equity-flow is not the primitive.
Per-platform per-internal-link-recommendation-plugin-vendor
Link Whisper, InLinks, LinkStorm, NinjaSEO, Yoast SEO Internal Linking, Rank Math Pro Link Recommendations, AIOSEO Smart Link Builder, Semrush Internal Linking, Frase Internal Linking. Per-account per-page per-recommendation primitive. Per-canonical-per-link-source-target-cosine-similarity-canonical-per-link-Maximum-Marginal-Relevance-canonical-per-link-multi-LLM-relevance-classification-canonical-per-link-LLM-anchor-text-quality-canonical-per-link-LLM-natural-vs-forced-classification-canonical-per-link-LLM-readability-canonical-per-link-LLM-EEAT-signal is not the primitive.
How the architecture is built
- Per-portfolio per-canonical-per-page-embedding-index-substrate. Per-6-embedding-models + per-6-vector-stores + per-content-extraction + per-multi-LLM-embedding-generation + per-drift-monitoring + per-versioning + per-content-canonicalization + per-deduplication + per-near-duplicate-detection canonical-embedding.
- Per-portfolio per-canonical-per-location-topical-cluster-graph-spec. Per-4-level-hierarchy + per-multi-LLM-classification + per-confidence + per-cross-location-de-overlap + per-cannibalization-detection + per-graph-traversal + per-graph-visualization canonical-graph.
- Per-portfolio per-canonical-per-page-anchor-text-diversity-spec. Per-6-anchor-types + per-distribution-ratio + per-over-optimization-detection + per-multi-LLM-naturalization + per-brand-voice-management-handoff canonical-anchor.
- Per-portfolio per-canonical-per-link-relevance-scoring-spec. Per-cosine + per-Euclidean + per-dot-product + per-MMR + per-multi-LLM-relevance-classification + per-confidence + per-explainability canonical-relevance.
- Per-portfolio per-canonical-per-link-equity-distribution-spec. Per-PageRank + per-personalized-PageRank + per-HITS-hubs-authorities + per-betweenness-centrality + per-eigenvector-centrality + per-CheiRank + per-Markov-equity-flow + per-2-handoffs canonical-equity.
- Per-portfolio per-canonical-per-link-cannibalization-detection-spec. Per-cross-page-keyword-overlap + per-cross-page-intent-overlap + per-cross-page-anchor-overlap + per-cross-location-page-cannibalization + per-3-handoffs canonical-cannibalization.
- Per-portfolio per-canonical-per-link-multi-LLM-pre-publish-check. Per-multi-LLM-ensemble + per-relevance-check + per-anchor-text-quality-check + per-natural-vs-forced-classification + per-readability-check + per-EEAT-signal-check + per-confidence + per-self-consistency + per-chain-of-thought canonical-LLM.
- Per-portfolio per-canonical-per-link-FBC-feedback-loop. Per-CTR + per-bounce-rate + per-time-on-page + per-pages-per-session + per-rank-change + per-cannibalization-resolution + per-pattern-learning + per-false-positive-pattern-learning + per-anchor-text-recalibration + per-relevance-recalibration + per-equity-distribution-recalibration canonical-FBC.
- Per-portfolio per-canonical-per-link-cross-skill-handoff. Per-handoff-to-9-sibling-skills canonical-handoff.
- Per-portfolio per-canonical-per-link-audit-trail + per-portfolio-audit-trail. Per-link-canonical-audit-record + per-FDD-Item-12 + per-state-AG + per-EU-AI-Act-Article-13 + per-EU-AI-Act-Article-14 + per-NIST-AI-RMF + per-immutable-WORM canonical-audit.
- Per-portfolio per-internal-link-orchestration-agent-canonical-bundle. Per-multi-location-internal-linking + per-multi-location-orphan-page-detection + per-link-sculpting-at-scale + per-redirect-chain-audit + per-canonical-tag-management + per-per-location-page-content-cannibalization + per-internal-link-equity-distribution-analysis + per-cross-location-cannibalization-detection canonical-bundle.
- Per-portfolio per-canonical-end-to-end-SLA. Per-embed-to-cluster-to-anchor-diversify-to-relevance-score-to-equity-distribute-to-cannibalization-detect-to-pre-publish-to-handoff-SLA canonical-end-to-end-SLA.
- Per-portfolio per-canonical-end-to-end-replay. Per-replay-spec + per-replay-trace + per-replay-decision canonical-replay.
Frequently asked questions
What is a per-location internal-link recommendation engine for multi-location operators?
A per-location internal-link recommendation engine runs per-portfolio per-location per-page per-canonical-per-page-embedding-index-spec (per-OpenAI-text-embedding-3-large + per-Cohere-embed-multilingual + per-Voyage-AI + per-Anthropic-claude-embed + per-Google-Gecko-embed + per-sentence-transformers-MiniLM + per-Pinecone + per-Weaviate + per-Qdrant + per-Milvus + per-Chroma + per-pgvector per-canonical-vector-store) + per-canonical-per-location-topical-cluster-graph-spec + per-canonical-per-page-anchor-text-diversity-spec + per-canonical-per-link-relevance-scoring-spec + per-canonical-per-link-equity-distribution-spec + per-canonical-per-link-cannibalization-detection-spec + per-canonical-per-link-multi-LLM-pre-publish-check + per-canonical-per-link-cross-skill-handoff + per-canonical-per-link-FBC-feedback-loop + per-canonical-per-link-audit-trail + per-portfolio audit-trail.
Why does per-vendor-Sitebulb-canonical-account-level-crawl-audit break at multi-location-multi-thousand-page franchise scale?
Per-vendor-Sitebulb-canonical-account-level-crawl-audit ships per-account per-crawl per-page-issue primitive. Per-vendor-Screaming-Frog-canonical + per-Botify-canonical + per-OnCrawl-canonical + per-Lumar-DeepCrawl-canonical + per-JetOctopus-canonical + per-Ahrefs-Site-Audit-canonical + per-Semrush-Site-Audit-canonical + per-Link-Whisper-canonical + per-InLinks-canonical + per-LinkStorm-canonical + per-Sitechecker-canonical + per-ContentKing-canonical-account-level-crawl-audit ship per-vendor per-native account-level crawl primitives. At 1-account-1-site-1-crawl scale per-account per-crawl per-page-issue primitive is enough. At multi-location-multi-thousand-page franchise scale per-canonical-per-page-embedding-index-spec + per-canonical-per-location-topical-cluster-graph-spec + per-canonical-per-page-anchor-text-diversity-spec + per-canonical-per-link-relevance-scoring-spec + per-canonical-per-link-equity-distribution-spec + per-canonical-per-link-cannibalization-detection-spec + per-canonical-per-link-multi-LLM-pre-publish-check + per-canonical-per-link-cross-skill-handoff + per-canonical-per-link-FBC-feedback-loop + per-canonical-per-link-audit-trail.
How does per-portfolio per-canonical-per-page-embedding-index + per-location-topical-cluster-graph work?
Per-portfolio per-canonical-per-page-embedding-index-spec runs per-portfolio per-canonical-per-page-content-extraction-spec + per-canonical-per-page-multi-LLM-embedding-generation (per-OpenAI-text-embedding-3-large + per-Cohere-embed-multilingual + per-Voyage-AI + per-Google-Gecko-embed + per-sentence-transformers-MiniLM per-canonical-embedding-model) + per-canonical-per-page-vector-store-spec (per-Pinecone + per-Weaviate + per-Qdrant + per-Milvus + per-Chroma + per-pgvector per-canonical-vector-store) + per-canonical-per-page-embedding-drift-monitoring-spec + per-canonical-per-page-embedding-versioning-spec + per-canonical-per-page-content-canonicalization-spec + per-canonical-per-page-content-deduplication-spec + per-canonical-per-page-content-near-duplicate-detection-spec. Per-canonical-per-location-topical-cluster-graph-spec runs per-portfolio per-canonical-per-location-topical-cluster-extraction-spec + per-canonical-per-location-topical-cluster-hierarchy-spec (per-pillar-cluster + per-cluster + per-sub-cluster + per-page-node per-canonical-hierarchy) + per-canonical-per-location-topical-cluster-multi-LLM-classification + per-canonical-per-location-topical-cluster-confidence-spec + per-canonical-per-location-topical-cluster-cross-location-de-overlap-spec + per-canonical-per-location-topical-cluster-cannibalization-detection-spec + per-canonical-per-location-topical-cluster-graph-traversal-spec + per-canonical-per-location-topical-cluster-graph-visualization-spec.
What does per-portfolio per-canonical-per-page-anchor-text-diversity + per-link-relevance-scoring + per-link-equity-distribution do?
Per-portfolio per-canonical-per-page-anchor-text-diversity-spec runs per-portfolio per-canonical-per-page-exact-match-anchor-spec + per-canonical-per-page-partial-match-anchor-spec + per-canonical-per-page-branded-anchor-spec + per-canonical-per-page-generic-anchor-spec + per-canonical-per-page-naked-URL-anchor-spec + per-canonical-per-page-image-alt-anchor-spec + per-canonical-per-page-anchor-text-distribution-ratio-spec + per-canonical-per-page-over-optimization-detection-spec + per-canonical-per-page-anchor-text-multi-LLM-naturalization-spec + per-canonical-per-page-anchor-text-brand-voice-handoff (sibling at /brand-voice-management). Per-canonical-per-link-relevance-scoring-spec runs per-portfolio per-canonical-per-link-source-target-cosine-similarity-spec + per-canonical-per-link-source-target-Euclidean-distance-spec + per-canonical-per-link-source-target-dot-product-spec + per-canonical-per-link-source-target-Maximum-Marginal-Relevance-MMR-spec + per-canonical-per-link-multi-LLM-relevance-classification + per-canonical-per-link-confidence-spec + per-canonical-per-link-explainability-spec. Per-canonical-per-link-equity-distribution-spec runs per-portfolio per-canonical-per-link-PageRank-spec + per-canonical-per-link-personalized-PageRank-spec + per-canonical-per-link-HITS-hubs-authorities-spec + per-canonical-per-link-betweenness-centrality-spec + per-canonical-per-link-eigenvector-centrality-spec + per-canonical-per-link-CheiRank-spec + per-canonical-per-link-equity-flow-Markov-spec + per-canonical-per-link-equity-distribution-handoff-to-internal-link-equity-distribution-analysis (sibling build-pillar at /how-to-build-internal-link-equity-distribution-analysis) + per-canonical-per-link-equity-distribution-handoff-to-link-sculpting-at-scale (sibling at /link-sculpting-at-scale).
What does per-portfolio per-canonical-per-link-cannibalization-detection + per-multi-LLM-pre-publish-check + per-FBC-feedback do?
Per-portfolio per-canonical-per-link-cannibalization-detection-spec runs per-portfolio per-canonical-per-link-cross-page-keyword-overlap-detection + per-canonical-per-link-cross-page-intent-overlap-detection + per-canonical-per-link-cross-page-anchor-overlap-detection + per-canonical-per-link-cross-location-page-cannibalization-detection + per-canonical-per-link-handoff-to-cross-location-cannibalization-detection (sibling build-pillar at /how-to-build-cross-location-cannibalization-detection) + per-canonical-per-link-handoff-to-per-location-page-content-cannibalization (sibling at /per-location-page-content-cannibalization) + per-canonical-per-link-handoff-to-canonical-tag-management (sibling at /canonical-tag-management). Per-canonical-per-link-multi-LLM-pre-publish-check runs per-portfolio per-canonical-multi-LLM-ensemble (per-GPT-4o + per-Claude-Sonnet + per-Gemini-Pro per-canonical-LLM) + per-canonical-per-link-LLM-relevance-check + per-canonical-per-link-LLM-anchor-text-quality-check + per-canonical-per-link-LLM-natural-vs-forced-classification + per-canonical-per-link-LLM-readability-check + per-canonical-per-link-LLM-EEAT-signal-check + per-canonical-per-link-LLM-confidence-scoring + per-canonical-per-link-LLM-self-consistency-cross-check + per-canonical-per-link-LLM-chain-of-thought-extraction. Per-canonical-per-link-FBC-feedback-loop runs per-portfolio per-canonical-FBC-per-link-CTR-feedback + per-canonical-FBC-per-link-bounce-rate-feedback + per-canonical-FBC-per-link-time-on-page-feedback + per-canonical-FBC-per-link-pages-per-session-feedback + per-canonical-FBC-per-link-rank-change-feedback + per-canonical-FBC-per-link-cannibalization-resolution-feedback + per-canonical-FBC-per-link-pattern-learning + per-canonical-FBC-per-link-false-positive-pattern-learning + per-canonical-FBC-per-link-anchor-text-recalibration + per-canonical-FBC-per-link-relevance-recalibration + per-canonical-FBC-per-link-equity-distribution-recalibration.
What does per-portfolio per-canonical-per-link-cross-skill-handoff + per-audit-trail + per-internal-link-orchestration-agent-canonical-bundle do?
Per-portfolio per-canonical-per-link-cross-skill-handoff runs per-portfolio per-canonical-per-link-handoff-to-multi-location-internal-linking (parent commercial pillar) + per-canonical-per-link-handoff-to-multi-location-orphan-page-detection (sibling at /multi-location-orphan-page-detection) + per-canonical-per-link-handoff-to-link-sculpting-at-scale (sibling at /link-sculpting-at-scale) + per-canonical-per-link-handoff-to-internal-link-equity-distribution-analysis (sibling build-pillar) + per-canonical-per-link-handoff-to-cross-location-cannibalization-detection (sibling build-pillar) + per-canonical-per-link-handoff-to-per-neighborhood-content-architecture (sibling build-pillar at /how-to-architect-per-neighborhood-content-for-multi-location-brands) + per-canonical-per-link-handoff-to-per-location-landing-pages-at-scale (sibling build-pillar at /how-to-build-per-location-landing-pages-at-scale) + per-canonical-per-link-handoff-to-multi-location-jsonld-generation (sibling at /multi-location-jsonld-generation) + per-canonical-per-link-handoff-to-redirect-chain-audit (sibling at /redirect-chain-audit). Per-canonical-per-link-audit-trail runs per-portfolio per-canonical-per-link-canonical-audit-record (per-link-ID + per-source-page-pointer + per-target-page-pointer + per-anchor-text-record + per-location-pointer + per-embedding-index-pointer + per-topical-cluster-graph-pointer + per-anchor-text-diversity-record + per-relevance-score + per-equity-distribution-record + per-cannibalization-detection-record + per-multi-LLM-pre-publish-record + per-FBC-feedback per-canonical-audit-record) + per-canonical-FDD-Item-12-attestation-export + per-canonical-state-AG-export + per-canonical-EU-AI-Act-Article-13-transparency + per-canonical-EU-AI-Act-Article-14-human-oversight + per-canonical-NIST-AI-RMF-attestation + per-canonical-immutable-WORM-storage. Per-internal-link-orchestration-agent-canonical-bundle integrates the internal-link-recommendation-engine skill with sibling skills on the same agent: per-canonical-multi-location-internal-linking (parent commercial pillar) + per-canonical-multi-location-orphan-page-detection (sibling) + per-canonical-link-sculpting-at-scale (sibling) + per-canonical-redirect-chain-audit (sibling) + per-canonical-canonical-tag-management (sibling) + per-canonical-per-location-page-content-cannibalization (sibling) + per-canonical-internal-link-equity-distribution-analysis (sibling build-pillar) + per-canonical-cross-location-cannibalization-detection (sibling build-pillar).
Engage the internal-link-orchestration agent
Per-portfolio per-location per-page per-canonical-per-page-embedding-index-spec + per-per-location-topical-cluster-graph-spec + per-per-page-anchor-text-diversity-spec + per-per-link-relevance-scoring-spec + per-per-link-equity-distribution-spec + per-per-link-cannibalization-detection-spec + per-per-link-multi-LLM-pre-publish-check + per-per-link-cross-skill-handoff + per-per-link-FBC-feedback-loop + per-per-link-audit-trail + per-portfolio audit-trail shipped as the orchestration layer above your existing per-crawl-audit-vendor + per-embedding-model-vendor + per-graph-database-vendor + per-internal-link-recommendation-plugin-vendor primitive.
Related reading
- Multi-location internal linking (parent commercial pillar — buyer-outcome framing)
- Internal-link equity distribution analysis (sibling build-pillar on the internal-link-orchestration agent — downstream PageRank flow consumer)
- Cross-location cannibalization detection (sibling build-pillar — cannibalization-detection handoff for cross-location page conflicts)