DEV Community

Cover image for Internal Linking Audit for Small Sites: Depth, Anchors, Routing
Stepan Nikonov
Stepan Nikonov

Posted on Originally published at floxolab.com

Internal Linking Audit for Small Sites: Depth, Anchors, Routing

Direct answer: Crawl the site from its real entry points, export every internal link, and evaluate each route by page job, position, anchor, destination status, and crawl depth. Then separate true orphans from underlinked pages, deep pages, dead ends, and pages that receive many repeated navigation links but little contextual support. Fix the smallest high-impact batch first and recrawl it.

An internal linking audit is not a contest to maximize the number of links. It asks whether people and crawlers can reach important pages through useful, understandable paths.

This workflow owns the sitewide distribution problem across pages that already exist. A focused orphan-page workflow is the better tool when a URL is missing from the crawl entirely and must be compared with sitemaps, analytics, Search Console, logs, or a CMS inventory.

1. Define page jobs before counting links

Start with the pages the business actually needs. Assign each important URL one primary job and the next useful action it should support.

Page job Typical role Useful next route
Hub or category Organizes a subject or product set Detailed guide, product, or service page
Guide Solves a defined informational task Supporting guide, proof, or relevant service
Service or product Explains fit and commercial terms Evidence, comparison, contact, or purchase
Proof page Reduces risk with cases, methods, or credentials Related offer or contact path
Utility page Helps a person complete a task Return to the relevant section or next action

Do not invent a commercial destination for every article. Some pages should route to a deeper explanation or another diagnostic step. The next link should match the reader's likely decision, not the site's desire to move everyone to a form.

Record the pages that matter most before the crawl. Otherwise a large export can make every URL look equally important.

2. Crawl the real graph

Start the crawler from the same durable entry points available to visitors: the homepage, global navigation, section hubs, and ordinary HTML links. Keep the first crawl close to a search-engine view.

Export at least these fields:

  • source URL and target URL;
  • link position or surrounding element;
  • anchor text;
  • source and target status;
  • source and target indexability;
  • canonical target;
  • crawl depth;
  • unique internal inlinks and outlinks.

Google's crawlable links guidance recommends ordinary <a> elements with an href and descriptive anchor text. A clickable card driven only by a script may work visually while failing to create a durable crawl route.

Do not treat an XML sitemap as a substitute for the graph. Google's sitemap documentation explicitly notes that a sitemap is a hint and does not guarantee crawling or indexing. On a small, comprehensively linked site, normal link discovery should do most of the work.

Run a second rendering-enabled crawl only if the first pass suggests that important links depend on JavaScript. Label the conditions separately so you know which routes existed in the initial HTML and which appeared only after rendering.

3. Build one audit worksheet

One row should represent one observed source-to-target link. Keep observations separate from decisions.

Audit date:
Crawl tool, version, mode, and start URLs:
Included hosts, subdomains, and URL patterns:
Excluded parameters and file types:

Source URL:
Target URL:
Source role:
Target role:
Link position:
Anchor text:
Target status:
Target indexability:
Target canonical:
Source crawl depth:
Target crawl depth:
Unique target inlinks:
Observed issue:
Decision:
Owner:
Validation date:
Enter fullscreen mode Exit fullscreen mode

The original FloxoLab guide includes buttons to copy this worksheet or download it as a CSV template.

4. Separate five different problems

Do not label every weak page an orphan.

Pattern What the crawl shows Likely investigation
Orphan candidate Important known URL is absent from the link crawl Compare crawl, sitemap, Search Console, analytics, CMS, and logs
Underlinked page Present, but supported by few useful contextual routes Add links from pages whose readers need this destination
Deep page Reachable only through a long or fragile route Check whether its business importance justifies a shorter path
Dead end Useful page offers no meaningful next route Add a relevant continuation, parent, or commercial step
Overlinked page Receives many repeated or low-value links Separate template-wide navigation from contextual endorsements

A raw inlink count can mislead. A link repeated in the footer of every page can produce a large number without proving that the destination is well integrated into relevant content.

Crawl depth also depends on the crawler's start URL, scope, settings, and link handling. There is no universal rule that every page must be three clicks from the homepage. A deep legal archive and a deep primary service page do not have the same problem.

5. Audit direction, not just existence

A strong graph supports deliberate reader movement:

  1. A hub routes to its important child pages.
  2. A specific guide can route back to the hub and sideways to a needed supporting task.
  3. Relevant informational pages can route toward proof or a commercial page when the reader is ready.
  4. Product or service pages can route to explanations that reduce uncertainty.
  5. Retired or consolidated pages do not remain as internal destinations.

The topic-cluster planning guide defines these page jobs before publication. An audit checks whether the intended paths exist on the live site.

Google's sitelinks guidance recommends a logical site structure, links to important pages from relevant pages, and concise, relevant anchor text. That is useful direction, but it is not a promise that a particular route will receive sitelinks or rankings.

6. Review anchors in context

Read the sentence around each important link. The anchor and surrounding text should help a person predict the destination.

Weak patterns include:

  • repeated click here or learn more anchors with no clear local context;
  • exact-match phrases inserted where they sound unnatural;
  • several nearby links whose labels are hard to distinguish;
  • an anchor that promises a calculator, checklist, or price but lands on a general service page;
  • a linked heading or card whose purpose is unclear to keyboard or screen-reader users.

W3C's link-purpose guidance explains that link purpose can come from the link text itself or from programmatically determined context. This is a better acceptance test than trying to force every anchor into one SEO formula.

Vary anchors when the surrounding sentences require different wording, not to manufacture diversity. Precision and usability matter more than a target percentage of exact-match text.

7. Remove technical conflicts

Before adding new links, repair routes that lead to avoidable friction:

  • broken destinations;
  • internal links to URLs that redirect;
  • links to non-canonical duplicates;
  • links to pages blocked from indexing when the route implies a search landing page;
  • inconsistent protocol, host, trailing slash, case, or parameter variants;
  • links to retired pages that should point directly to the final replacement.

Do not automatically replace every redirect with a new destination without checking intent. A redirect may expose a content consolidation decision that still needs review.

If two live pages blur the same job, adding more internal links to both does not resolve the conflict. Use a keyword cannibalization workflow to decide whether the pages should stay separate, merge, redirect, or be repositioned.

8. Prioritize a small repair batch

Create a queue based on expected business value, severity, confidence, and effort. A useful first batch often contains:

  • an important page with no reliable route;
  • a high-value page several levels deeper than its role warrants;
  • contextual links that still point through redirects;
  • dead-end guides that should lead to a related task;
  • ambiguous anchors on high-traffic or high-conversion paths.

Do not change hundreds of links at once. A small batch is easier to review, recrawl, and reverse. Record the source, target, old state, new state, reason, and expected user path for every change.

9. Validate the graph after editing

Recrawl the changed section under the same settings and verify:

  1. The source and target return the intended status.
  2. The final link is present in the HTML or rendered state you intended.
  3. The anchor and nearby sentence match the destination.
  4. The destination is canonical and indexable when appropriate.
  5. Navigation still works on desktop, mobile, and keyboard.
  6. The revised page has a useful next route and has not become a dead end.
  7. The change did not introduce a redirect chain, duplicate variant, or unrelated commercial link.

Search Console's Links report can corroborate patterns over time, but Google describes the report as sampled and grouped by canonical URL. It is not a complete substitute for a controlled crawl.

Keep the baseline and post-change export. Rankings or traffic may later provide outcome evidence, but they do not prove that an internal link alone caused the change.

What not to do

  • Do not assign a universal internal-link score and optimize only for the score.
  • Do not force every page within three clicks without considering its role.
  • Do not count navigation, footer, and contextual links as equivalent evidence.
  • Do not add exact-match anchors until the copy sounds mechanical.
  • Do not use nofollow internally as a PageRank-sculpting tactic.
  • Do not link every article to every service.
  • Do not assume a sitemap or Search Console report describes the complete live graph.
  • Do not promise rankings from an internal-link cleanup.

The deliverable is a smaller, explainable set of routes that helps people discover the right page, understand where a link leads, and continue toward the next honest step.

For the interactive worksheet and CSV download, use the complete internal linking audit guide on FloxoLab.

Top comments (0)