← ClaudeAtlas

internal-linking-architecturelisted

Design and fix a site's internal link structure so authority flows to the pages that matter and every page is reachable. Use whenever the user asks about internal links, internal linking, site architecture, site structure, URL hierarchy, orphan pages, crawl depth, link equity, PageRank distribution, anchor text, breadcrumbs, pillar pages, topic clusters, hub and spoke, or navigation and menu structure. Also use when pages are indexed but not ranking, or when a site has grown past a few hundred pages without a plan.
keupera/seo-skills · ★ 0 · AI & Automation · score 72
Install: claude install-skill keupera/seo-skills
# Internal Linking Architecture Internal links are the only ranking lever you fully control. No outreach, no permission, no budget. They decide what a crawler finds, how important it concludes each page is, and what each page is about. Most sites get this wrong in the same way: hundreds of links pointing at the homepage and the blog index, and three links pointing at the page that makes money. ## The three jobs internal links do 1. **Discovery.** A page nothing links to is a page that may never be crawled, whatever the sitemap says. 2. **Authority distribution.** Link equity flows along internal links. Where you point it is a decision, whether or not you make it deliberately. 3. **Topical definition.** The anchor text pointing at a page, and the pages that link to it, tell a search engine what the page is about. This is often stronger than the page's own copy. ## Step 1: Map what exists You cannot fix a structure you haven't seen. Build the actual link graph. ```bash # Crawl the site and extract internal links per page # (any crawler works; the point is the graph, not the tool) curl -s https://example.com/sitemap.xml | grep -oP '(?<=<loc>)[^<]+' > urls.txt while read -r u; do curl -s "$u" \ | grep -oP '(?<=href=")(/[^"#?]*|https://example\.com/[^"#?]*)' \ | sed "s|^|$u |" done < urls.txt > links.tsv # Inbound internal links per page, ascending: the bottom of this list is the problem awk '{print $2}' links.tsv | sort | uniq -c | sort -n | head -40 ``` Three