WordPress internal linking audit: the 6-step process we run on every site
Quick answer
A WordPress internal linking audit finds orphan pages, weak hub-spoke clusters, and missed equity flow to your most important commercial URLs. The 6-step process: (1) crawl the full site, (2) export every internal link with anchor text, (3) classify pages by intent (money / hub / supporting), (4) score each money page on inbound internal links and anchor diversity, (5) plug orphans into the nearest topical hub, (6) add 3 to 5 contextual links from supporting content to each money page using varied descriptive anchors. Most sites see ranking lifts on linked URLs within 30 to 60 days.
Why internal linking is the highest-ROI SEO work in 2026
Backlinks are slow and expensive. Internal links are free, instant, and fully under your control. Every WordPress site we audit has 10 to 50 percent of its money pages under-linked.
AI Overviews and ChatGPT-style search lean heavily on topical coverage. Internal linking is how Google understands which pages belong to which cluster and which page is the authority within it.
Most WordPress sites accumulate orphan pages: blog posts no one links to from the navigation, service pages reachable only via the menu, case studies sitting in a dead-end archive. Each orphan is a wasted asset.
Step 1: Crawl the full site
Use Screaming Frog (free up to 500 URLs, paid above) or Sitebulb. Set the crawler to render JavaScript so it sees blocks built with Gutenberg, Elementor, or custom React.
Export three reports: All Inlinks, All Outlinks, and Orphan URLs (Screaming Frog can cross-reference your sitemap and Google Analytics to surface pages with zero internal links).
If the site has more than 10,000 URLs, run the crawl in segments by directory (/blog/, /services/, /locations/) to keep the export manageable.
Step 2: Export every internal link with anchor text
From the All Inlinks export, you want columns: Source, Destination, Anchor, Type (text / image), Follow / Nofollow, Status Code.
Filter to Type = text and Status = 200. Image links and broken links get handled separately (image links need alt-text audit; broken links need fixing or removing first).
Pivot the export by Destination URL to see, for each page, how many inbound internal links it has and what anchor text variations Google sees.
Step 3: Classify pages by intent
Money pages: commercial URLs that convert (services, pricing, contact). Usually 10 to 30 URLs.
Hub pages: topical pillars that organise a cluster (e.g. the Services index, a city hub, a problem hub). Usually 5 to 15 URLs.
Supporting pages: blog posts, glossary terms, case studies, FAQs. The bulk of the site. These exist primarily to flow equity and topical signal into hubs and money pages.
Step 4: Score every money page
For each money page, calculate: total inbound internal links, number of unique source pages, anchor-text diversity (count of unique anchor phrases), and whether the anchor includes the target keyword at least once.
Red flags: fewer than 5 inbound internal links, all anchors identical (sign of footer-only linking), or anchor is generic ('click here', 'learn more').
Rank money pages from weakest to strongest. The weakest 20 percent get prioritised in Step 6.
Step 5: Plug orphans into the nearest topical hub
Take the Orphan URLs list. For each orphan, identify the nearest topical hub (the page Google would expect to link to it).
Add the orphan to that hub's body content using a contextual sentence, not a list dump. Lists at the bottom of a page pass less topical signal than inline contextual links.
Re-run the orphan report after 30 days. The number of orphans should drop to near zero. Anything still orphaned is either a thank-you page (correctly noindex) or content you should delete.
Step 6: Add 3 to 5 contextual links to each weak money page
For every money page in the bottom 20 percent of the Step 4 ranking, find 3 to 5 supporting pages (blog posts, glossary entries, FAQs) that can naturally link to it.
Use varied descriptive anchors. If the target is /services/wordpress-malware-removal/, vary between 'WordPress malware removal', 'clean a hacked WordPress site', 'remove backdoors from WordPress', 'malware cleanup service'. Each variation reinforces a different long-tail.
Add the link in the first half of the supporting page where possible. Early-body links pass more weight than footer or sidebar links.
How we use this on client sites
On a typical fleet engagement, we run the full audit once per quarter and a delta crawl monthly. The delta crawl catches orphans created by new content.
On the August 2025 UK agency network engagement, the internal-link audit alone lifted 23 of 41 money pages by an average of 4 positions in 60 days, with no new backlinks acquired in that window.
We track results in the monthly maintenance report: orphan count, average inbound links per money page, anchor diversity score. Three metrics, tracked over time.
Common questions
How often should I audit internal links?+
Full audit once per quarter for sites under 1,000 URLs, monthly for larger sites. Delta crawls (orphan detection only) should run after every batch of new content.
Do I need Screaming Frog or can I use a free tool?+
Screaming Frog is free up to 500 URLs. For larger sites, Sitebulb and Ahrefs Site Audit both work. The free version of Screaming Frog plus a Google Sheets pivot is enough for most WordPress sites.
Will adding internal links to old blog posts hurt them?+
No, provided the links are contextually relevant. Random link injection looks unnatural to Google. Editorial links inside the body of a related post are exactly what Google wants to see.
What about Yoast or Rank Math internal-linking suggestions?+
Useful as a starting point, but they suggest based on keyword overlap, not topical hub-spoke architecture. Use them to surface candidates, then apply the 6-step process to decide which links actually serve the cluster.
Can WebCare run this audit for me?+
Yes. It is part of every maintenance plan above the entry tier and a standalone deliverable for agencies. We deliver the full export plus a prioritised action list with 30 / 60 / 90-day milestones.
Want help with this?
The pages below go deeper, by service and by city.
Receipts: real recoveries on this exact issue
Anonymised case files from the WebCare ledger.
Want this handled for you?
Book a call and we will review your site before recommending anything.