OrdoLink

Internal Link Auditing 101: How to Map Your Site's Link Architecture

Knowing what good internal linking looks like and knowing where your own site currently falls short are two different things. An internal link audit is how you close that gap: a structured pass through your site that turns abstract advice into a concrete list of pages to fix. It doesn't need to be complicated, but it does help to have a checklist rather than clicking around hoping to spot problems.

What an audit is actually measuring

At its core, an internal link audit builds a map of what links to what across your site, then looks for patterns in that map that suggest a problem: pages with no incoming links, pages with a disproportionate number of them, links that no longer resolve, and anchor text that's repeated more than it should be.

The audit steps

1

Get an inventory of your pages

Start with a full list of your published posts and pages, whether that's exported from WordPress directly or pulled from your XML sitemap. This is your baseline: everything that should, in principle, be reachable and worth linking to.

2

Crawl your site to map the link graph

A crawler like Screaming Frog or a hosted tool like Ahrefs' Site Audit will follow every internal link it finds and produce a report of what links to what, including incoming link counts per page. For smaller sites this is doable in minutes; for larger ones it's effectively the only practical way to see the whole picture at once.

3

Flag pages with zero incoming links

These are your orphan pages. Cross-reference your crawl report against your sitemap: any published page missing from the incoming-links side of the report is a candidate for a fresh internal link from somewhere relevant.

4

Flag pages that look overlinked

Look at the opposite extreme: individual posts with an unusually high number of outgoing links relative to their word count, or a single target page receiving links from nearly every other post regardless of relevance. Both are worth a closer look against the guidance in our articles on overlinking and link density.

5

Check for broken links and redirect chains

Most crawlers will report these directly. Anything returning a 404, or resolving only after two or more redirect hops, goes on the fix list. See our article on broken links and redirect chains for why this matters more than it might seem.

6

Spot-check anchor text patterns

Most crawl reports let you filter by destination URL to see every anchor text pointing at a given page. If the same exact phrase shows up link after link, that's worth varying. Our guide to anchor text covers what to aim for instead.

7

Check whether your important pages are getting attention

Identify the handful of pages that matter most to you, whether that's a pricing page, a cornerstone guide, or whatever drives the outcome you actually care about, and check their incoming link counts against everything else. You don't need a rigid structure to do this well; it's simply worth confirming that the pages you most want readers and search engines to find are also the ones getting the most internal attention, rather than that happening by accident.

How often to do this

There's no fixed schedule that fits every site. An actively publishing blog benefits from a pass every few months, since new posts create new linking opportunities and old ones can quietly become orphaned as newer content takes over. A slower-moving site can get away with checking twice a year. What matters more than frequency is doing it at all, since these issues accumulate quietly and rarely announce themselves.

Turning findings into an action list

Once you have a report, triage rather than trying to fix everything at once. Broken links tend to be the highest-value, lowest-effort fix, since it's usually a matter of re-pointing a URL. Orphan pages come next: a single relevant link from an established post can be enough. Overlinked pages and anchor text patterns are lower urgency and can be cleaned up gradually as you revisit older posts.

The hardest part of an audit usually isn't finding the gaps, it's the friction of opening dozens of past posts in WordPress to insert links one by one. This is where a plugin like OrdoLink helps beyond the audit itself: its Gutenberg sidebar surfaces relevant links directly inside the editor of whichever post you're already working on, so acting on the list doesn't mean a separate pass through your entire archive.

Some of the audit itself can also be pulled straight from your tools without a full crawl. OrdoLink's dashboard, for example, already shows which of your posts attract the most internal links, and its link health check can be run on demand to surface broken targets and redirects. A full crawler is still the more thorough option for a complete audit, but it's worth checking what your existing tools already give you before reaching for another one.