The audit also found four article destinations returning HTTP 404 and a useful example of how template links change the picture. One page offered 19 distinct article destinations across its full server HTML, yet none inside its article body. The links existed, but they did not explain which reading choice followed from the argument.

This is a dated case study and a practical method for a small WordPress publication. The snapshot was collected on 17 October 2026, before this article was updated. It measures links between published post bodies, checks selected full pages and reviews suspect destinations. It does not establish why a page ranks poorly or how many extra visits a repair will produce.

What the 432-article audit found

We retrieved all 432 published posts exposed by the site’s public WordPress posts endpoint, across five pages of results. The first response reported both the total number of records and the number of result pages. The combined export contained 432 distinct post IDs, so the graph was built from the complete public post collection returned at that time.

After excluding links back to the same article, the export contained 964 direct links to current post URLs. Checking an older URL revealed one additional relationship through a redirect, bringing the resolved total to 965 distinct directed article pairs. A link from article A to article B and one from B to A are two relationships. Repeated links from the same source to the same destination would count once in this measure.

The median article received a link from one other post body. More revealing than that average-looking middle value was the split between incoming and outgoing relationships. 119 posts linked out to other articles but received no body link in return; 58 received body links but offered no onward article route; 44 had neither; and 211 had both.

Of 432 posts, 211 have incoming and outgoing article-body links, 58 have incoming only, 119 outgoing only and 44 neither. 163 have no incoming body link.
Each cell counts articles, not links. The two lower cells form the 163-post group with no incoming body link. Our 17 October 2026 snapshot excludes menus, archives and other page types.

The 163 posts without incoming body links represent 37.7% of the collection. That is a list to investigate, not a target to clear mechanically. A recently published guide, an old opinion column and a useful reference page can have the same count while requiring very different treatment.

The downloadable audit snapshot and CSV files preserve the post inventory, source and destination rows, anchors, redirect evidence and counting method. The sample predates the links added by this update. It contains public page data, with no account credentials or private analytics.

Keep the inventory separate from the navigation crawl

For this audit, the WordPress export supplied the inventory. A crawler beginning at the homepage would answer a different question: which URLs can be reached by following the site’s links? Keeping those jobs separate matters when investigating pages that might be missing from the navigation graph.

WordPress lists posts through its posts REST endpoint. A public collection is useful for an independent list of published posts when the site exposes it. If your endpoint is restricted, use an authorised CMS export instead. Include any public content types relevant to your audit; a posts-only export will miss static pages, products and custom post types.

The API returns a limited page of results by default. Request up to 100 records at a time, follow the page parameter and reconcile the final count against X-WP-Total and X-WP-TotalPages. These are the pagination controls documented in the WordPress REST handbook. Stop and resolve a missing or failed result page before calculating percentages.

Next, run a separate navigation crawl from the public homepage or the root of the section you are reviewing. Record its starting URL, host rules and rendering mode. Compare the URLs it reaches with the independent inventory. A page absent from that crawl is an orphan candidate only after you have checked whether the crawl’s scope or configuration excluded a legitimate route.

We did not perform that complete navigation crawl here. Categories, menus, static pages and dynamically inserted links are outside our post-body graph. We therefore describe the 163 pages as having no incoming link from another post body, rather than calling them 163 proven orphan pages. The distinction determines whether the next job is discovery repair, contextual linking or further investigation.

We checked the server HTML of four pages against their exported article bodies. The older version of this internal-linking article had 22 distinct destinations to other posts across the full page, but only two within its body. The Artoria and Richard analysis had 19 across the full page and zero in its body. The Bleach Hell arc guide had 19 and one; the new Fate viewing guide had 17 and two.

The Fate guide also appeared in template-generated article lists on the Artoria page. That is a real path to the guide, even though the guide had zero incoming links in the post-body graph. It demonstrates why the body export cannot establish whole-site orphan status. Template links can provide discovery while leaving an editor with a separate question about useful reading context.

Look at the surrounding paragraph before adding a contextual link. Our Fate watch-order guide already points to the Artoria and Richard analysis for later character reading. A return link could help someone arriving at that analysis who needs the franchise’s entry sequence. Its wording should identify that job and its placement should avoid sending a beginner straight into spoilers.

A link in the opposite direction is not automatically required. Some articles complete a narrow task, and a reciprocal link can be irrelevant. Review what the reader needs next, whether the destination fulfils that need and whether the source offers a natural place to introduce it. Do not manufacture a circle merely to improve a count.

A crawler can help separate content, navigation and footer links. Screaming Frog’s link-position documentation explains its Content filter and export options. It also shows how a mobile menu can be misclassified as content when the page’s markup is ambiguous. Inspect representative link paths and adjust the classification before treating a filtered export as editorial body links. We used our saved HTML samples for this comparison; we did not run a Screaming Frog crawl.

Our first pass left nine distinct non-media internal URLs unmatched to the current post inventory. They were not nine broken pages. One was the About page, three were sitemap files and one was an older Elfen Lied address that redirected to a current article. The remaining four article addresses returned HTTP 404 in our checks.

The failed destinations appeared behind plausible anchors: “Extended Windows 10 support” in a Windows recovery article, “our AMD Q2 analysis” in a TSMC piece, “Marvell analysis” in an NVIDIA valuation article and a Pinterest traffic link in a GA4 article. An anchor can describe a sensible next step while its destination no longer supplies it. Checking only the language would miss that failure.

For a failed destination, inspect the source paragraph and search the current inventory for the intended answer. Replace the link only when a live page really fulfils the same job. If no suitable equivalent exists, remove or rewrite the reference. Redirecting every missing analysis to a broad stock-market category would preserve a clickable path while disappointing the reader who expected that specific analysis.

For the Elfen Lied redirect, the useful action is different: confirm the final article is the intended destination, then update the source to its current URL. An intentional redirect is not a 404. We included that resolved relationship in the 965-pair total and retained its original address in the data so the adjustment is inspectable.

Turn the graph into a small editorial queue

Start with pages that have a clear purpose and a useful place to receive readers. Review their current content before promoting them. A disconnected article that repeats another page may need a merge or a rewrite; an obsolete page may deserve retirement. Adding several new links would prolong those problems. For an unclear topic, revisit the search intent behind the article before choosing its role.

For an incoming-link gap, identify a relevant source page and the precise passage where the destination answers the next question. For an outgoing-route gap, read the article’s ending and the points where it introduces concepts explained elsewhere. A post in the “neither” group needs both decisions, but they need not be made in equal numbers or in a single edit.

The Bleach pair illustrates an additional kind of repair. Its two guides already linked to each other. However, the Hell arc guide still described the Part 4 destination as an “analysis of the TYBW ending and its adaptation” after that destination had become a current episode-date and viewing guide. The relationship existed; the old anchor no longer accurately introduced what readers would find. That is an anchor-review task, not a missing-link task.

Write each proposed edit as a source URL, a destination URL, an exact placement, proposed anchor wording and a reason. Keep its status explicit. The Fate return link, Bleach anchor change and four destination repairs discussed here are audit recommendations; this update does not claim they have already been applied to those other articles.

Choose a small first batch that can be read and checked properly. A clear next task, a destination with a strong answer and a sensible source passage make a better starting point than choosing every page with the lowest number. Search Console can add evidence of existing search exposure, but impressions are not the size of the search market and a low click count does not prove that internal linking caused the problem.

Google’s link guidance supports crawlable anchor links, relevant descriptive text and contextual references to useful resources on your own site. It gives no ideal link quota for a page. Our audit likewise does not turn one, three or five links into a universal requirement. The proposed destination has to earn its place in the source paragraph.

Use dynamic modules for an identified reading job

A latest-news list and an editorial next-step link serve different needs. The list can introduce recent work across the publication. A contextual link can connect a particular explanation to the question it raises. Our HTML samples show that a page can offer many template destinations while providing very little of the second kind.

Before changing a dynamic module, inspect its actual results on several articles. A shared category alone may produce a broad mix; a tight subject tag can still mix a beginner guide with a spoiler-heavy interpretation. Define the reading relationship first, then choose the selection rules. For an entry guide, that might mean clearly marked later reading. For an analysis, it might mean a route back to the background needed to understand it.

Test the selected cards as a reader would. Check their titles, destinations and ordering, and confirm that any exclusions work. Keep a useful fallback when a topic has too few suitable pages. A module that fills every slot with weak matches creates more choices without improving the journey. There is no need to change the whole site’s navigation to repair a few specific editorial gaps.

Verify the edits and keep the snapshot comparable

After an edit, check the saved source and the actual page HTML for the intended source-to-destination relationship. Follow the link, confirm the destination and read the surrounding sentence again. Check the page on desktop and mobile, especially if a menu or related-content module changes with screen width. If a count changes because the extraction rules changed, record that separately from a real editorial improvement.

Repeat the same export and counting method after the repair batch, preserving the earlier snapshot. You should be able to name the relationships that were added, removed, corrected or redirected. A smaller zero-inlink group is useful evidence of a changed graph. It is not evidence, by itself, of higher rankings or better engagement.

For later evaluation, record the edit date and compare stable search periods and relevant queries. Where link-click tracking exists, examine whether people use the new routes. Account for content rewrites, new releases and other changes during the same period. Our snapshot is a baseline for that work, with no before-and-after traffic result attached. The immediate deliverable is a defensible set of links to repair and a way to check whether each repair happened.