SEO Research

How to Audit Internal Links Across Your Website

Learn how to audit internal links using crawl data to find orphan pages, broken links, redirects, weak anchors, and defensible next actions.

See what your site should rank for next

Enter your website to find SEO opportunities based on your existing content and competitors.

Free analysis · No setup required

Published
Reading time
18 min read
On this page

An internal-link audit should help you decide what to fix, what to investigate, and what to leave alone. It should not produce the largest possible export of URLs and anchor text without a way to interpret the findings.

For a lean team, the practical approach is to define a bounded audit scope, reconcile crawl data with the pages you actually manage, test link paths and destinations, and record each finding with evidence, uncertainty, effort, and an owner. The result should be a small set of defensible actions—not a site-wide backlog that nobody can review.

This guide explains how to audit internal links across a large or growing website. You will learn how to identify orphan and underlinked pages, review broken links and redirects, evaluate anchor text and contextual usefulness, and prioritize fixes while keeping technical and editorial judgment in the process.

Start with the decision, scope, and audit inventory

Before collecting crawl data, decide what the audit needs to help you answer. A useful question might be:

Which internal-link issues in this section are sufficiently supported by evidence to fix or investigate during the next maintenance cycle?

That question is narrower than “What is wrong with our internal links?” It gives the audit a purpose, a stopping point, and a standard for deciding when a finding is actionable.

Choose a bounded audit scope

A website-wide crawl may be appropriate for a small site, but it can become difficult to interpret as a site grows. Define the first batch using one or more boundaries:

  • A site section, such as the blog, documentation, resource library, or product area

  • A template or page type

  • A language or regional version

  • A status or lifecycle group, such as published pages only

  • A recently changed section

  • A set of pages related to one searcher job or product area

  • A defined set of important source pages and their reachable destinations

Record the crawl date and the data source used. Internal-link structures change as pages are published, redirected, removed, or redesigned, so an audit is a snapshot rather than a permanent description of the site.

You also need a stopping condition. For example, stop when the selected section has been crawled, each finding has an evidence record, and every candidate has one of four outcomes: improve, investigate, consolidate, or postpone. A stopping condition prevents the team from continuing to collect data after the audit has stopped improving the decision.

Do not introduce universal thresholds without evidence from your own site and context. A page with one inbound link is not automatically defective, and a page several clicks from a starting URL is not automatically a problem. The audit identifies signals for review; it does not turn them into rules by itself.

Define the inventory before interpreting the crawl

Create a working inventory of URLs and the fields you need to make decisions. The exact fields depend on the data available, but a useful starting structure includes:

FieldWhy it mattersEvidence status
URLIdentifies the page or destination under reviewObservation
Page type or sectionProvides context for comparisonObservation or Unknown
Crawl statusShows the response outcome observed by the crawlObservation
Indexability or exclusion stateHelps separate managed pages from excluded destinationsObservation or Unknown
Canonical relationshipShows whether the page points to another preferred URL, when availableObservation or Unknown
Inbound-link countIndicates how many discovered internal links point to the URLObservation
Outbound-link countIndicates whether the page links to other internal destinationsObservation
Depth or path informationHelps identify reachability from the crawl’s starting pointsObservation or Unknown
IssueDescribes the specific condition requiring reviewInterpretation
UncertaintyRecords what the crawl cannot establishUnknown
Possible actionSuggests improve, investigate, consolidate, or postponePossible action
Owner and review statusMakes implementation and approval visibleOperational record

The labels matter. An Observation is something the crawl or inventory directly shows. An Assumption is an interpretation that may be reasonable but still needs confirmation. An Unknown is information the current data does not establish. Evidence identifies the supporting record. A Possible action is not yet an approved recommendation.

This vocabulary prevents a common failure mode: turning “zero discovered inbound links” into “orphan page,” then turning “orphan page” into “create more content.” Each step requires a separate check.

Keep the audit question separate from the page decision

An internal-link finding does not automatically tell you what to do with the page. A page with weak coverage might need a relevant link from an existing article, a clearer relationship to a hub, consolidation with another URL, technical investigation, or no change at all.

Before recommending a change, ask:

  • What is this page for?

  • What searcher job does it support?

  • Is the page still accurate and useful?

  • Is another URL serving the same intent or audience?

  • Does a plausible source page exist where a link would help the reader?

  • Is the destination appropriate for the source page’s context?

  • Can the team implement and review the change safely?

A site-first review is useful here because it keeps the audit connected to the URLs that already exist. Review existing website content before generating new SEO ideas for a related approach to checking coverage, overlap, and possible page actions. Luumera considers product context and existing website content when identifying opportunities, but the audit’s technical interpretation and final page decisions still require human review.

Reconcile crawl data with the site’s page inventory

A crawler can show what it discovered from its starting points and configuration. It may not represent every page the team considers active, important, or managed. Reconciliation is the step that distinguishes a crawl report from an audit of the site’s actual page inventory.

Compare source and destination sets

Start with at least two views:

  1. Source URLs: pages that contain discovered internal links.

  2. Destination URLs: URLs that those links point toward.

Compare both sets with the known site inventory. The inventory might come from the CMS, a publishing register, a manually maintained list, or another internal source. The point is not to assume that one source is complete. The point is to identify disagreement for investigation.

Useful mismatch categories include:

  • A managed page that does not appear in the crawl

  • A crawled URL that is missing from the managed inventory

  • A destination that differs only by normalization, such as URL formatting

  • A page that appears under multiple URL forms

  • A URL that redirects to another destination

  • An excluded or non-indexable page that is still linked internally

  • A page whose status in the inventory is outdated

Treat these as reconciliation findings, not immediate link defects. A missing page from the crawl may reflect crawl configuration, access restrictions, an unlinked state, or an incomplete inventory. A URL missing from the CMS inventory may be an old, generated, redirected, or externally managed address.

Track zero values and missing values separately

A zero-link count means the available crawl found no inbound links. A missing link count means the data does not provide a usable value. These are different conditions and should not be merged in a spreadsheet or report.

The same distinction applies to outbound links, depth, canonical relationships, and status information. A page with no discovered outbound links may be a genuine endpoint, a page template without relevant navigation, or a page the crawl did not fully process. If the field is missing, record Unknown rather than filling it with zero.

This discipline becomes more important when combining exports. One source may contain page inventory data, another may contain crawl outcomes, and another may contain editorial context. Reconcile identifiers before calculating counts. Otherwise, URL variations can create false orphan candidates or inflate the number of distinct destinations.

Use a repeatable audit record

For each finding, retain enough information for another person to reproduce the decision. A compact record might look like this:

Source URLDestinationIssueEvidenceUncertaintyPossible actionEffortReviewer
/guides/topic-a/products/topic-bRedirecting destinationInternal link resolves through a redirect in the crawlFinal destination and relationship need confirmationImproveLow or UnknownContent owner
/resources/topic-c/guides/topic-dNo discovered inbound linksDestination appears in managed inventory but has no discovered internal inbound linksCrawl coverage and excluded sources are not yet confirmedInvestigateMediumSEO reviewer
/blog/topic-e/guides/topic-fGeneric anchorAnchor text does not describe the destination clearlyEditorial usefulness depends on surrounding copyImproveLowEditor

These rows are hypothetical examples, not measured findings. Their purpose is to show how evidence and uncertainty should travel with the proposed action.

For a large site, segment the record by section, template, or page group. A repeatable format is more valuable than an oversized report if it allows the team to review one batch, implement approved changes, and re-run the same checks later.

Where a supporting workflow can help

Once the inventory is defined, a supporting workflow can help connect existing URLs with searcher jobs and possible actions. Luumera researches a site, finds SEO opportunities worth pursuing, and turns organic growth into a clear workflow. In this audit, that positioning is most useful for organizing the review around existing coverage—not for replacing the crawl, technical checks, or human approval.

Find orphan pages, underlinked pages, and structural gaps

Orphan and underlinked pages are related but not identical findings. A suspected orphan has no discovered internal inbound links in the available crawl. An underlinked page has some internal coverage but may be difficult to find, weakly connected to related content, or absent from a useful navigation path.

Neither condition proves that the page needs a change.

Identify orphan candidates carefully

A practical orphan candidate is a page in the known inventory with no discovered internal inbound links. Record the condition precisely:

  • Observation: The crawl found zero internal inbound links to the URL.

  • Assumption: The page may be difficult for users or crawlers to discover through internal paths.

  • Unknown: Whether excluded sources, un-crawled areas, navigation systems, or data mismatches contain additional links.

  • Possible action: Investigate the page’s purpose and coverage before adding a link, consolidating it, or postponing the change.

Check the following before treating the candidate as a defect:

  • Was the page included in the intended crawl scope?

  • Were relevant navigation, footer, sitemap, or template links represented in the crawl data?

  • Is the page intentionally excluded, private, temporary, or part of a special workflow?

  • Is the page still accurate and intended to remain published?

  • Does another URL cover the same searcher job?

  • Is there a relevant source page where a link would help the reader?

If the page is obsolete or substantially overlaps another URL, adding more links may preserve a problem rather than solve it. If it is valuable and distinct, the next step may be a contextual link from an existing page, a hub relationship, or an appropriate navigation change.

Review underlinked and deep pages as signals

Inbound-link counts can help identify pages that deserve a closer look, especially when grouped by comparable page type. Compare like with like rather than applying one threshold to every URL. A support page, a campaign page, a cornerstone guide, and a legal page may have very different legitimate linking patterns.

Depth or path information can provide another signal. A page that is reachable only through a long or fragile path may deserve review, but the number alone does not establish poor usability or a technical defect. Confirm how the crawl defines depth and which starting URLs it used before drawing a conclusion.

For each candidate, ask whether the page has a meaningful role in a user journey:

  • Does it answer a question raised by the source page?

  • Does it explain a next step, concept, feature, or process?

  • Does it connect two related pages without forcing an unrelated recommendation?

  • Does it belong in a broader hub or collection?

  • Would adding a link make the source page clearer, or merely increase link count?

The goal is not to maximize the number of internal links. It is to make important relationships easier to understand and reach.

Use an action matrix instead of a defect list

An action matrix forces the team to consider evidence and effort together:

FindingEvidence neededUncertainty to resolvePossible actionEffortReviewer
No discovered inbound linksCrawl record and inventory matchScope, exclusions, page purposeInvestigate, improve, consolidate, or postponeVariesSEO and content owner
Few inbound links compared with similar pagesComparable page group and source reviewWhether low coverage is intentionalImprove or postponeLow to MediumContent owner
Difficult path from crawl starting pointsDepth and path dataCrawl configuration and user journeyInvestigateMediumSEO or technical owner
Related pages do not link to one anotherTopic and searcher-job reviewWhether the relationship is genuinely usefulImprove or consolidateMediumEditor

The table is a decision aid, not a scoring system. Do not convert every row into a required fix. A page can have low coverage and still be correctly isolated. A page can have several links and still lack a useful relationship with its sources.

Link status is one of the more direct parts of an internal-link audit, but even here the recommended action depends on context. Group links by the outcome observed in the crawl and retain the complete path from source to destination.

A useful set of categories may include:

  • Links that resolve to a valid final destination

  • Links that return an error outcome

  • Links that point to a redirecting URL

  • Links that pass through more than one redirect where the crawl establishes that path

  • Links whose final destination differs from the intended page

  • Links that cannot be evaluated because the crawl data is incomplete

Use the terminology supported by your data. Do not infer a redirect chain, canonical relationship, or final destination when the crawl only records the first URL. Technical interpretations should be tied to the actual response and path information available.

A redirecting internal link is not automatically harmful. The destination may be intentional, temporary, or part of a recent migration. However, repeated links to obsolete destinations can create unnecessary maintenance and make future changes harder. The first question is not “How many redirects are on the site?” It is “Which source links can be safely updated to the appropriate final destination?”

For each problem, record:

  • Source URL

  • Source page type or section

  • Anchor text

  • Linked destination as written in the source

  • Observed response or outcome

  • Final destination, if established

  • Redirect or error path, if established

  • Proposed replacement or removal

  • Reason for the proposed change

  • Reviewer and approval status

This record separates a technical observation from an editorial decision. A source link may be technically valid but still point to a page that no longer matches the surrounding text. Conversely, a redirect may be intentional and require no change.

Prioritize repeated and obsolete paths carefully

Links repeated across a template can affect many pages, so they may deserve earlier review than a one-off link. But “repeated” is evidence of reach, not proof of priority. Confirm the template’s purpose, the destination’s accuracy, and the likely effect of changing the relationship.

A sensible review order often considers:

  1. Whether the destination is unavailable or clearly obsolete

  2. Whether the same issue is repeated across a managed template

  3. Whether a safe, relevant replacement is known

  4. Whether the change affects an important user path

  5. Whether the implementation can be tested and reversed if needed

These are decision criteria, not universal rankings. The right order depends on the audit scope, the confidence in the data, and the team’s ability to validate changes.

Do not automatically replace every redirect or remove every link with an error outcome. A human reviewer should confirm:

  • The proposed destination is accurate

  • The destination serves the source page’s likely audience and intent

  • Product or technical claims on the destination remain correct

  • The source wording still makes sense after the change

  • The implementation owner can make and test the update

  • The relationship is not being changed merely to improve a metric

This review is particularly important when a link connects product pages, documentation, regulated information, regional content, or pages with different audiences.

Evaluate anchor text and contextual usefulness

Anchor text can help readers understand where a link leads, but an audit should not turn every phrase into an optimization target. The useful question is whether the link is clear and relevant in context.

Group anchor text by source and destination

Review anchor text together with the surrounding sentence and destination page. Grouping only by phrase can hide important differences: the same words may be appropriate in one source and vague in another.

Flag candidates for review when the anchor is:

  • Empty or unavailable in the crawl record

  • Generic enough that the destination is unclear

  • Duplicated across unrelated destinations

  • Misleading relative to the destination page

  • Grammatically awkward after a page or template change

  • Disconnected from the source page’s topic or likely searcher job

A generic phrase is not automatically a defect. “Read the documentation” may be clear when the surrounding sentence identifies the product and topic. A descriptive phrase is not automatically useful if it promises something the destination does not provide.

Separate observable facts from editorial judgments

Use the same evidence labels for anchor review:

  • Observation: The source uses “learn more” as the anchor text.

  • Observation: The destination title concerns a specific implementation topic.

  • Assumption: The anchor may not give readers enough information before they click.

  • Unknown: Whether the surrounding page section provides the missing context.

  • Possible action: Review the sentence and revise the anchor only if clearer wording improves the reader’s understanding.

This approach avoids treating exact-match wording, keyword variation, or a preferred phrase as an automatic requirement. Anchor text should serve the relationship between source and destination, not become a separate count to maximize.

Check the searcher job and page relationship

Ask what the reader is trying to do at the point of the link. A useful internal link may:

  • Explain an unfamiliar concept

  • Provide supporting evidence

  • Move the reader from evaluation to implementation

  • Connect a broad guide to a more specific procedure

  • Offer a relevant next step after the current question is answered

  • Clarify how two related pages differ

The destination should make sense as a response to that job. If the source is about diagnosing a problem and the destination is a general company page, the relationship may be weak even if both pages use similar language. If the source introduces a concept and the destination explains how to apply it, the link may be useful even when the anchor does not contain a target phrase.

Use hypothetical records, not invented findings

The following example is illustrative:

Source contextAnchorDestinationObservationPossible action
A guide explaining an audit method“click here”A detailed implementation guideThe anchor does not describe the destinationReview the sentence and use a clearer label if the destination is relevant
A product comparison paragraph“internal-link workflow”A guide about finding internal-link opportunitiesThe phrase describes the destination’s topicKeep, subject to editorial review
A navigation module“resources”A mixed resource indexThe label may be clear within the module but not in isolationReview the module context before changing

These are hypothetical records, not measurements from a real site. They demonstrate why anchor text must be judged with source context, destination purpose, and reader intent together.

For a more focused follow-up after the audit, see this guide on finding internal-linking opportunities on your website. It extends the audit into contextual validation, effort-aware prioritization, and approval checks rather than treating link counts as the final answer.

Prioritize fixes and close the audit with a bounded next action

At the end of the audit, every finding does not need to become a ticket. The team needs a reviewable set of actions with enough evidence to justify the next step.

Use clear action labels

Use separate labels for different kinds of decisions:

  • Improve: The page and relationship are valid, and a specific link, destination, or anchor change is sufficiently supported.

  • Investigate: The signal is meaningful, but crawl coverage, page purpose, destination accuracy, or another fact remains unresolved.

  • Consolidate: Two or more URLs may overlap or represent an outdated relationship, and the team should evaluate which page should remain primary.

  • Postpone: The issue is understood but not important enough, feasible enough, or certain enough for the current batch.

You may also record “no change” when review confirms that a low-link page, redirect, or anchor is intentional. Do not force a change simply because the audit found something unusual.

Compare candidates using evidence, impact, effort, and confidence

A practical prioritization record can include:

CriterionQuestion
Reach or recurrenceDoes the issue affect one source, a group of pages, or a repeated template relationship?
Page importanceDoes the page have a clear role for the audience or product context?
Evidence qualityIs the finding directly observed, or does it depend on incomplete data?
Relationship qualityIs there a clear reason the source should point to the destination?
Implementation effortCan the team safely make and test the change within the current cycle?
RiskCould changing the link remove useful context or send readers to the wrong page?
ConfidenceHow certain is the team that the proposed action addresses the actual problem?

Do not use these criteria to create false precision. A numerical score can make uncertain evidence look more authoritative than it is. A short written rationale is often more useful: “Repeated template link to an obsolete destination; final replacement confirmed; low implementation effort; approve after owner review.”

Keep approval checks close to implementation

Before publishing or editing links, confirm:

  • The destination URL is correct and available

  • The source and destination serve compatible audiences or searcher jobs

  • The page content is accurate and current

  • The change does not create overlap that should instead be consolidated

  • The anchor remains natural in the sentence or component

  • The change can be reviewed after implementation

  • The owner understands whether the action is technical, editorial, or both

Luumera is designed for lean teams that need to keep SEO moving without making it another job. In this context, use the workflow to organize a shortlist of improve, investigate, consolidate, or postpone actions. The point of a supporting workflow is to reduce coordination overhead, not to remove editorial, strategic, or subject-matter judgment.

Define the smallest defensible next batch

A useful closing decision might be:

  • Fix a small group of confirmed obsolete destinations

  • Investigate a defined set of orphan candidates whose crawl coverage is uncertain

  • Review one template with repeated redirecting links

  • Validate a short list of contextual links between clearly related existing pages

  • Consolidate a small group of overlapping URLs before adding more links

  • Postpone low-confidence anchor changes until the source content is revised

Choose the batch that has clear evidence, a named owner, and a way to confirm completion. If the team cannot explain why a link should change, the item belongs in investigate or postpone, not in an automatic implementation queue.

After the batch is complete, record what changed and what the crawl still cannot establish. Re-audit after a meaningful site change, such as a migration, template revision, major content release, or URL restructuring. A maintenance trigger is usually more useful than an arbitrary promise to review every page at a fixed interval.

An internal-link audit is successful when it turns crawl observations into a small number of well-supported decisions. It does not need to prove that every page has an ideal number of links, that every anchor uses preferred wording, or that every unusual path is harmful.

Use this sequence:

  1. Define the section, page group, crawl date, and stopping condition.

  2. Build the managed URL inventory before interpreting the crawl.

  3. Reconcile source URLs, destinations, status outcomes, exclusions, and missing data.

  4. Treat orphan, underlinked, depth, redirect, broken-link, and anchor signals as observations to validate.

  5. Check page purpose, searcher job, overlap, product fit, and destination accuracy before recommending a change.

  6. Classify actions as improve, investigate, consolidate, or postpone.

  7. Approve and implement the smallest defensible batch.

  8. Record the result and define the trigger for the next re-audit.

The next step is not necessarily a complete site-wide cleanup. Start with one bounded section or one repeated template relationship, preserve the uncertainty in the record, and fix only what the evidence and human review can support.