Internal links are a retrieval graph.
Measure the paths to useful pages, not just the links pointing at them.
Sulayman Bowles · · Updated

A navigation item, editorial citation, product card, pagination control, and scripted route can all point at the same URL. Counting them as equivalent links hides how a reader or crawler could actually reach it. Each edge needs its source or rendered state, label, placement, and crawlability conditions.
With that context intact, a directed graph can answer practical questions: which canonical pages are reachable from intended entries, how deep their paths run, where redirects intervene, and which important routes depend on one fragile parent. Metrics narrow the review; product judgment decides which paths belong.
In this article
How do I find important pages that internal links fail to reach?
Start with the intended entry pages and an independent inventory of the pages that should exist. Build a directed graph of crawlable links, retaining each link’s label, placement, and source or rendered state. Then examine unreachable pages, excessive depth, and routes dependent on a single parent. A page absent from one crawl is not automatically an orphan: scope and capture failures must be checked before recommending new links. Repairs should improve a reader’s route as well as graph reachability.
Sources: Google crawlable-link guidance · Google sitemap guidance · RFC 3986 URL syntax
Read this alongside Build search systems you can verify.
Scope and assumptions
Graph metrics describe the captured internal architecture and help prioritize review. They do not measure proprietary ranking weights, guarantee crawling or indexing, or prove that adding a link will improve search performance.
- Graph
- DIRECTED
- Edge context
- RETAINED
- Orphan states
- 04
- Primary artifact
- LINK EDGE TABLE
Keep enough context to explain each link
Store source URL, observed href, resolved destination, anchor or accessible name, source or DOM location, link type, discovery state, and artifact reference. Identify anchor elements with hrefs, the pattern Google generally describes as crawlable. A div click handler may serve users while remaining a different discovery mechanism.
Use the frontier’s route-identity rules for both endpoints, while retaining the original href. That preserves relative paths, fragments, alternate hosts, parameters, and redirects for diagnosis. Classify resolved destinations as canonical, alias, external, asset, non-HTTP, malformed, or unknown.
Infer placement only where document structure supports header, navigation, breadcrumb, main, related, pagination, filter, or footer classes. Coordinates alone cannot establish importance. Preserve the distinction between repeated template links and unique editorial relationships.
| Field | Example | Review question |
|---|---|---|
| source_key | /guides/crawling | Which canonical page emits the edge? |
| observed_href | ../tools/crawler?ref=guide | What did the document actually contain? |
| destination_key | /tools/crawler | Which canonical identity receives it? |
| label | crawler architecture tool | Can a reader predict the destination? |
| placement | main/editorial | Is the edge contextual or repeated template chrome? |
| artifact_ref | run/url/source#node-184 | Can another reviewer reproduce the observation? |
Start from the intended entry points
Reachability means a directed path exists from an approved entry through crawlable internal edges. Define that entry set first. Home, categories, section and locale roots, authenticated shells, and feed or campaign landings can support different journeys.
After resolving redirects to canonical destinations, run breadth-first search. Report shortest depth, a sample path, and independent parent sources. A page reachable in two hops through one soon-to-retire article can be more fragile than one with several relevant parents. Path diversity measures resilience, not ranking weight.
Imagine /archive/a links to /archive/b and /archive/b links back to /archive/a, while no approved entry links to either. Both pages have an inlink; neither is reachable from the entry set. A self-link creates the same counting trap on one page. This is why reachability requires a traversal, not a rule that every node has positive in-degree.
Keep source and rendered graphs separate. A route reachable only after client execution depends on the tested render path; it is not absolutely orphaned. If neither graph reaches it but a sitemap nominates it, record sitemap-only status. Those states need different repairs.
Both pages have an inlink. Neither has an entry path.
Filled nodes are reachable from the approved entry.
A zero-inlink check misses this cycle. Traversal from the approved entry finds the gap.
| State | Observed evidence | Interpretation |
|---|---|---|
| source-reachable | Path through source anchor href edges | Server-delivered discovery path exists |
| render-only | No source path; path appears after tested execution | Discovery depends on client rendering scenario |
| sitemap-only | No internal path; canonical URL is nominated in sitemap | Declared but not architecturally integrated |
| external-only | Known inbound reference but no internal path | Third-party discovery exists; internal context absent |
| unobserved | No captured path or nomination | Coverage or publication gap; verify inventory first |
Verify the inventory before calling a page orphaned
Weakly connected groups may sit outside the main site; strongly connected groups may circulate without any path from an entry. Retired directories, alternate hosts, facet islands, staging remnants, and imported microsites can produce these structures. Inspect examples and relationship types before applying a common remedy.
An orphan diagnosis needs evidence that the page exists. Preserve the database export, analytics, logs, backlink, or sitemap that supplied it. No observed inlinks may otherwise mean the crawler never knew the URL.
Zero inlinks do not always require a new link. Redirect targets, campaigns, utilities, legal notices, feeds, and private states may have special entries or belong outside the indexable inventory. Choose deliberately among linking, consolidation and redirect, bounded reachability, noindex, or removal.
- Compare crawl nodes with sitemap, analytics, logs, CMS exports, and approved route registries.
- Separate zero observed inlinks from zero eligible crawlable inlinks.
- Inspect weak and strong components for shared template or host causes.
- Assign an intended entry path before proposing a link.
- Remove aliases and noncanonical URLs from the candidate set before counting orphans.
Use metrics to locate the review
In-degree shows destinations receiving edges; out-degree shows distributing sources. Depth reveals long paths, betweenness can locate bridges, strong components expose circulation, and edge concentration shows dependence on templates. Each is a structural prompt for review.
Count parent pages separately from rendered anchor instances. A responsive template can emit desktop and phone links, repeated cards or footer copies pointing to the same destination. Ten anchors on one parent do not supply ten independent routes. Retain those occurrences for interface review, then deduplicate by the declared source/destination relationship for architectural counts.
Internal PageRank and similar centrality scores model the captured graph, not disclosed search-engine values. Inventory, redirect resolution, repeated-edge treatment, and dangling-node handling can change the result. Keep those modeling choices with the output.
Labels and surrounding text test whether a relationship makes sense to a reader. Exact-match repetition is not automatically better, nor are generic anchors automatically wrong. Ask whether the wording predicts the destination, fits its sentence or component, and distinguishes nearby links.
| Metric | Useful question | Common misuse |
|---|---|---|
| shortest depth | How many eligible hops from the intended entry? | Treating every deep page as low quality |
| in-degree | Which destinations attract or lack internal references? | Equating count with proprietary authority |
| parent diversity | How many independent sources support the route? | Counting repeated template links as independent |
| betweenness | Which pages bridge otherwise separate sections? | Changing bridges without journey review |
| component membership | Which routes circulate outside the main architecture? | Calling every isolated component an error |
Specify the journey the repair should create
Use the SQL below as a zero-observed-inlink screen. It is not a full orphan detector: it counts self-links unless they were excluded during edge loading and cannot find the isolated cycle above. Follow it with entry-rooted traversal over the eligible graph, and report the capture scope that supports an absence claim.
Name the source, destination canonical, placement, reader question, label, owner, and expected graph change. That turns “add internal links” into a reviewable repair instead of another blanket template block. Existing explanatory pages often provide the most useful path to a next artifact or decision.
Crawl the same scope after implementation and rebuild source and rendered edge tables. Confirm a crawlable anchor reaches the canonical without avoidable redirects, appears in its intended component, and creates no broken or duplicate links. Only then recalculate depth and reachability.
Repeat these checks after template or registry changes. Collection rendering, navigation keys, and renamed canonicals can leave a page sitemap-only again. Versioned graphs and a few architecture invariants expose that regression more clearly than a permanent score.
This query assumes redirects and canonical aliases were resolved before edge loading.
SELECT u.canonical_url
FROM url_inventory AS u
LEFT JOIN link_edges AS e
ON e.destination_key = u.url_key
AND e.is_crawlable = 1
WHERE u.in_sitemap = 1
AND u.is_indexable = 1
GROUP BY u.url_key, u.canonical_url
HAVING COUNT(e.source_key) = 0
ORDER BY u.canonical_url;Validate the path after the repair
Give priority pages meaningful, crawlable paths from their intended entry points. Keep the graph versioned and test reachability and parent diversity after route or template changes; a one-time link score cannot protect those journeys.
Sources
- Google Search: crawlable and internal link best practices
Verified Jul 19, 2026
- Google Search: build and submit a sitemap
Verified Jul 19, 2026
- Google Search: URL structure best practices
Verified Jul 19, 2026
- RFC 3986: Uniform Resource Identifier generic syntax
Verified Jul 19, 2026
- The PageRank Citation Ranking: Bringing Order to the Web
Verified Jul 19, 2026