All posts
WordPress SEO

How We Fixed 10 Orphaned WordPress Posts With AI-Assisted Internal Linking

We audited all 56 posts on our own blog, found 10 that no other post linked to, and fixed them with 20 contextual links in one afternoon. Here is the exact process, the rules we used, and where AI helped and where it did not.

mb3techs Team Oct 17, 2026 8 min read

Every blog has posts that nobody links to. They were published, shared once, and then quietly left out of every article that came after. Visitors cannot reach them by browsing, and search engines get almost no signal that they matter. When we ran a proper audit on our own blog this month, we found ten of them out of 56 published posts — including some of our newest agency guides.

This is a write-up of how we found those orphaned posts, how we fixed them with 20 contextual links in a single afternoon using an AI assistant connected to WordPress, and the rules we followed so the result reads like an editor did it rather than a plugin. If you manage a content site, or a portfolio of client blogs, the same process applies.

What an orphaned post is, and why it costs you

An orphaned post is a published page that no other page on your site links to in its body content. It may still be in your sitemap and your blog archive, but inside the content itself it is invisible.

That matters for three reasons:

  • Discovery. Search engines find and revisit pages largely by following links. A page reachable only from a paginated archive or a sitemap is a weak candidate for frequent crawling.
  • Importance signals. Internal links tell search engines which pages you consider important and what they are about. The anchor text around a link is context. An orphan gets none of it.
  • Readers. The people most likely to want your post on, say, NDAs for white label work are the ones already reading your post about choosing a partner. If the second does not link to the first, you lose that reader at exactly the wrong moment.

Step 1: Audit inbound links, not outbound links

Most internal linking advice focuses on adding links from the post you are writing. That is useful, but it hides the real problem. On our blog every single post already linked out to other pages — about 5.3 internal links per post on average. By that measure, the blog looked healthy.

The picture changed when we counted links in the other direction. We pulled every published post through the WordPress REST API, extracted each internal link from the content, and counted how many other posts pointed at each URL. The results:

MeasureResult
Published posts audited56
Posts with zero internal links out0
Average internal links out per post5.3
Posts with zero inbound links from other posts10
Most-linked post (our white label pillar guide)29 inbound links

The pattern is common and easy to explain. New posts link back to established ones, but nobody goes back to older posts to link forward. Over time, links pile up on a handful of pages while everything else drifts. Our orphans fell into two groups: developer tutorials from 2025 (OOP, ACF blocks, theme hooks, block styling, admin customisation, refactoring) and four recent agency posts that were published after the articles that should have referenced them.

You do not need AI for this step. A crawler such as Screaming Frog will report inbound link counts, and SEO plugins like Rank Math include a basic link counter. What AI changes is the next step.

Step 2: Find places where a link genuinely belongs

Knowing that a post is orphaned is easy. Finding the right sentence, in the right post, where a link to it reads naturally is the slow part. Done by hand, it means re-reading dozens of articles with ten different topics in mind.

We used an AI assistant (Claude) connected to the site through an MCP server — a standard way of letting an AI tool read and edit WordPress content through the REST API with the permissions you give it. For each orphan, the assistant searched every paragraph of the other 55 posts for passages that discussed the same idea, skipped paragraphs that already contained a link, and returned a shortlist of candidate sentences. That took seconds per orphan rather than an hour.

The shortlist was the starting point, not the answer. Several candidates were rejected because the topic matched but the reader’s intent did not. A sentence about agencies hiring freelancers, for example, is not the right place to link to a guide written for freelancers. Keyword overlap is not the same as relevance.

Step 3: Link existing words, do not add filler

We set six rules before touching a single post:

  1. Wrap words that are already there. Nineteen of our twenty changes turned an existing phrase into a link. No “click here”, no bolted-on “related reading” sentences.
  2. Match intent, not just keywords. The linked post must answer the question a reader of that sentence would naturally have next.
  3. Descriptive, varied anchors. “Legacy codebase”, “clean code practices” and “Single Responsibility Principle” all point to our refactoring guide. Three natural phrases rather than one repeated keyword.
  4. Two to three inbound links per orphan. Enough to connect it properly, not so many that it looks engineered.
  5. No more than two new links per source post. We were fixing a structure, not stuffing articles.
  6. Unique, exact targets. Every edit targeted a text fragment that appeared exactly once in the source post, so nothing else could change by accident.

Here are five of the twenty changes, to show what that looks like in practice:

Source postLinked phraseNow points to
How to build a custom WordPress pluginObject-Oriented Programming (OOP) principlesOur practical OOP guide
How agencies price white label worklegacy codebaseOur code refactoring guide
Red flags when choosing an offshore teambound by confidentialityOur NDA and confidentiality guide
WooCommerce build scopingCapacity arrangementsScaling delivery capacity without hiring
ACF vs native block bindingsACF blocksOur ACF blocks tutorial

The one exception to rule one was our white label WordPress development guide. It is our main pillar page, and its “red flags” section was the natural home for links to two deeper posts, so we added a short paragraph there rather than forcing the links into unrelated sentences.

Step 4: Make the edits safely on a live site

Editing twenty live posts in one sitting is where things usually go wrong: a broken block, a mangled code sample, a link inserted in the wrong paragraph. We kept it boring on purpose.

  • One test edit first. We changed a single post, then checked the saved block markup and the rendered output before doing anything else.
  • Targeted replacements, not full rewrites. Each change replaced one exact fragment. The rest of the post — code blocks, tables, headings — was never resubmitted.
  • Revisions as the undo button. WordPress stores a revision on every update, so any single change can be rolled back from the editor in seconds.
  • A written change log. Source post, anchor text and target for all twenty edits, so the work can be reviewed by someone who was not there.

The same discipline applies to any bulk content change, and it is the same reasoning behind keeping a proper staging to production workflow for code.

The result

Nine of the ten orphans now have two or three contextual links from closely related posts. One — our guide for freelancers taking on bigger projects — has a single link from the pillar guide, because we could not find a second sentence where a link would genuinely help the reader. We would rather leave it at one than invent a reason.

It is too early to report ranking changes, and we will not pretend otherwise. Internal linking is not a switch that moves positions overnight; it is structural hygiene that lets good content be found and understood. We will check Search Console data for these ten URLs over the coming weeks and update this post with what we see.

Where AI helped, and where it did not

Being specific about this is more useful than enthusiasm.

  • It helped with the audit (reading 56 posts and counting links in seconds), with candidate discovery (searching every paragraph for each topic), and with careful, repeatable edits that did not touch anything else.
  • It did not replace judgement on intent. Deciding that a sentence about agencies is the wrong place for a freelancer guide, or that a link belongs in the pillar page rather than a tutorial, still needed an editor’s call.
  • It does not make linking automatic. Fully automatic internal linking plugins tend to link every occurrence of a keyword, which is exactly the over-optimised pattern you want to avoid.

Keeping it fixed: the habit that matters most

An audit fixes the past. A habit fixes the future. From now on, every new post on our blog gets two to three links from older related posts on the day it is published, not just links to them. It takes ten minutes per post and it is the single change that stops orphans forming in the first place.

For agencies running content across client sites, this belongs in the same monthly checklist as plugin updates and backups. It is a natural fit for a WordPress maintenance retainer: low effort, measurable, and easy to show a client.

Frequently asked questions

How many internal links should a blog post have?

There is no magic number. A useful working rule is three to six contextual links out to related content, plus two to three links in from older posts. Relevance matters far more than count.

Will an orphaned post still get indexed?

Often, yes, if it is in your sitemap. But being indexed and being treated as important are different things. Orphans tend to be crawled less often and receive less context from anchor text.

Should anchor text use the exact target keyword?

Use natural, descriptive phrases and vary them. Repeating the exact same keyword-rich anchor on every link looks engineered and helps readers less than a phrase that fits the sentence.

Can I let an AI tool edit my live posts directly?

You can, with guardrails: an account with only the permissions it needs, one test edit before the batch, targeted changes rather than full rewrites, revisions enabled, and a human reviewing the plan before it runs.

How often should we audit internal links?

Quarterly is enough for most blogs if you also follow the publish-day habit above. Sites publishing several posts a week benefit from a monthly check.

Want this done on your sites?

Internal link audits, technical SEO clean-ups and content structure work are part of what we deliver for agencies under their own brand. If you have a client blog with years of content and no linking strategy, send us the URL and we will tell you how many orphans it has and what it would take to fix them. For ongoing work, our maintenance and support plans cover it month to month.