We ran a count last week across our own site: every internal link inside 2,269 published posts, against the 96 pages that exist specifically to win work — service pages, landing pages, the pages with a phone number and a form on them rather than an article. Forty-four of the ninety-six had zero inbound internal links from any of those 2,269 posts. Not few. Zero.

The total tells you nothing. The distribution is the story.

If we had reported only an average — one service page links per twenty-four articles, say — it would have sounded fine, and it would have hidden exactly the problem worth finding.

The real shape was lopsided. One service page held 119 inbound links, more than a hundred articles pointing at it, built up over years of posts that happened to mention it in passing. Six sibling service pages, selling adjacent and equally real work, held zero links between all six of them. A page we had specifically flagged internally as a priority for the current quarter also sat at zero. It is not that the site under-links in general. It is that link equity concentrated hard on whichever pages got mentioned early and often, and every other page got nothing, indefinitely, because nothing was correcting for it.

An average across ninety-six pages would have told us the site was doing fine. Sorting those same ninety-six pages from fewest inbound links to most is what actually found the problem, because the problem lives entirely in the pages at the bottom of that sort, not in the mean.

The method takes about a minute per page

The check itself is not complicated, and that is worth saying plainly, because it is easy to assume an audit like this needs a tool.

List the pages that actually sell something — the service pages, the pillar pages, whatever your site uses to convert a visitor into an enquiry. Search every article body for each of those addresses. Count the matches per page. Sort the result ascending, so the zeros and the near-zeros are at the top rather than buried under the one page that is doing fine. Read the top of that sorted list first, because that is where the actual problem sits.

The one qualifier that matters: search article bodies only, not the site’s navigation menu or its footer. Both of those link to everything, on every page, by design, which means every commercial page technically has inbound links if you count the nav and the footer, and that count tells you nothing about whether any specific piece of content chose to reference that page on its own merits. A page linked only from the footer is not linked. It is listed. The distinction matters because a visitor reading an article about a related topic, who clicks a link inside that article, is in a meaningfully different position to a visitor who happened to scroll to the bottom of an unrelated page.

Why the search has to be literal

Searching article bodies for a page’s address only works if the search is for the address itself, not for the topic the page covers. An article can discuss a subject at length, use every relevant term a service page also uses, and still never link to it — and a search built around keywords rather than the actual URL would count that as coverage when it is not. We searched for the literal path of each of the ninety-six pages, which is a stricter and slower check than a topic match, and it is the only version of the check that answers the actual question: does a link exist, yes or no, not does the subject come up.

This is also why the check has to run per page rather than once for the whole set. Ninety-six separate searches, each one counted and recorded against its own page, rather than one search that tries to catch everything at once. It is slower to set up and it is the only way the sorted list at the end means anything.

What zero actually costs

A page with zero inbound internal links from body content is not unreachable — it is still in the sitemap, still linked from navigation, still findable by anyone who already knows to look for it. What it is missing is context: the articles that would have told a search engine, and a reader, why this page matters and when someone should want it.

The tracked priority page sitting at zero was the clearest case. It existed, it was accurate, and dozens of posts across our own site had written about topics directly adjacent to what it offered, without a single one of them linking to it. Nobody had decided against linking to it. Nobody had thought about it at all, because nothing was checking.

What we are changing

The fix here is not one afternoon’s work, because it means going back through existing articles and adding links where they are genuinely relevant rather than bolting a link onto anything mentioning an adjacent word. We are working from the sorted list, top down, treating the six zero-linked sibling service pages as the first priority ahead of the pages already sitting comfortably in double digits.

The other half of the fix is procedural rather than a one-time cleanup: new posts get checked against the same list of commercial pages before publishing, so a new article on a directly relevant topic does not go out without linking to the page it should be sending readers toward.

Run it on your own site

This does not require the corpus we had. List your own money pages. Search your own published content for each address. Sort ascending. Whatever sits at the top of that list is the page nobody is telling anyone about, and it takes about a minute per page to find out.

We wrote about a related failure a few months back, where 606 internal links never rendered — a different mechanism, the same lesson: a link that exists on paper and a link a visitor can actually click are not the same thing, and you only find the gap by checking. The same audit habit is what caught 108 files, wrong canonical domain earlier this year. If you want a structured version of this kind of check on your own site, our local SEO audit guide covers the broader checklist this sits inside. It is the kind of gap our SEO work is built to find before it costs you the enquiry.


Ashish Ganda is the founder of Cosmos Web Tech, which builds and maintains websites for small businesses across Western Sydney and the Hills District.