This post may contain affiliate links. If you buy through one, we may earn a commission at no extra cost to you. See our Affiliate Disclosure for details.
Twenty-something posts sit on a typical one-person blog, and a good half of them have never been linked to by any of the others. Nothing is broken. Every post published cleanly, every URL resolves, the sitemap lists them all. They simply sit there in isolation, reachable from an archive page and nowhere else — which is how a reader experiences a dead end and how a crawler experiences a page not worth revisiting. Internal linking for small blogs is the cheapest item on the whole SEO list, and the one most likely to still be undone after a year of publishing.
Work post by post rather than link by link. Open your three or four strongest posts, and from each one add two or three links out to older posts that genuinely continue the thought, using anchor text that describes where the link goes in plain words. Then find the posts with no incoming links at all — Search Console and a free crawler will both tell you — and give every one of them at least one link from somewhere relevant. On an archive under fifty posts that is a single sitting, and it needs no plugin. Software starts to earn its place later, once the archive is bigger than you can hold in your head.
Twenty-odd posts, almost no links between them
The cause is the publishing rhythm itself. A post gets written, checked, scheduled, and closed. The next one starts from a blank page a few days later, and at no point does anything in that loop ask "which of the older posts does this one continue?"
So links never get made. Not out of laziness — out of memory. Linking a new post to an old one means remembering what you wrote in March well enough to know that paragraph four of the new piece is exactly where the March piece should be handed to the reader. By post thirty, nobody remembers that. The archive quietly becomes a stack of unrelated documents that happen to share a domain.
Two things follow. Readers land from search, read the one thing they came for, and leave, because nothing on the page suggests where to go next. And the pages you'd most like to rank sit at the same depth as everything else, with no signal from the rest of the site that they matter more.
Two jobs a link does, and only one involves Google
It's worth keeping these separate, because they pull in slightly different directions.
The first job is the reader's path. Somebody arrives from a search for one narrow question, gets the answer, and hits the bottom of the post. A link placed inside a sentence — where the next question naturally forms — is the difference between a session that ends and one that continues. This job is judged by whether the link is useful at that exact moment, not by whether it points at something you want to promote.
The second job is discovery and context. Crawlers follow links to find pages and to work out how a site fits together. Google's own documentation on making links crawlable is blunt about the mechanics: a link only counts when it's a standard <a> element with a real href to a resolvable URL. Buttons wired up with JavaScript, or "related posts" widgets that load after the fact, may not do what you assume they do. The plain text link inside a paragraph is the version nothing can misread.
When the two jobs conflict — when the link you want for ranking reasons isn't the link a reader needs there — take the reader's side. A link nobody clicks in a place nobody needs it is a weak signal anyway.
Finding the posts nobody links to
You cannot fix orphans you can't name, and on a small blog there's no need to guess. Three ways to get the list, in order of effort:
Search Console. The Links report includes internal links and ranks your pages by how many they receive. Read it from the bottom. The pages sitting at zero or one are your orphans, and they're often posts you were proud of.
A free crawler. Screaming Frog's SEO Spider crawls your site the way a bot would and reports an inlinks count for every URL. Sort ascending and the same list appears, usually more complete than the Search Console version. The free tier caps how many URLs a single crawl covers, which is rarely a constraint at blog scale.
A spreadsheet. Under thirty posts, honestly, paste the titles into a sheet with two columns — links out, links in — and fill it in by opening each post. It takes twenty minutes and you end up knowing your own archive, which is worth more than the spreadsheet.
Whichever route you take, do this pass at the same time as any other structural checkup; the crawl you'd run for an SEO site audit produces the inlink data as a side effect, so there's no reason to do the work twice.

A post nothing links to is a book with no shelf mark — present, catalogued, unfindable. Photo via Pexels.
The shape to aim for isn't a web
There's a temptation, once you have the orphan list, to link everything to everything. Resist it. A page carrying eleven internal links inside its body is not eleven times more useful; it's a page where no single link means anything, and it reads like a directory.
The shape that works on a small archive is a handful of hubs. Pick the two or three topics you actually publish about, write or nominate one broad post per topic, and let that post link out to the narrower pieces underneath it. Those narrower pieces link back up to the hub and sideways to one or two siblings. That's it. Everything in the topic is now two clicks from everything else, and the hub accumulates the internal links that tell both readers and crawlers it's the main door.
Choosing hubs also exposes a content gap you may not have noticed — the topic with six narrow posts and nothing broad to hang them on. That gap is usually the next thing worth writing, and it tends to be a better idea than whatever keyword research would have handed you cold, because the demand is already proven by your own archive.
Anchor text people can read
The words inside the link do real work. They tell a reader what happens if they click, and they're one of the clearer descriptions a search engine ever gets of the destination page, since they're written by someone who has read both pages.
Which rules out "click here" and "read more" — accurate about the mechanism, silent about the content. It also rules out the opposite failure, where the same exact keyword phrase gets bolted onto every link pointing at a page until the sentences stop sounding like sentences. Descriptive and varied is the target: how these tools handle recurring invoices, the setup steps for a solo help desk, what changed in the July guidance. Different wording each time, each version true about the destination.
One habit that helps: write the paragraph first, with no link in it. Then look for the phrase already sitting in that sentence that names the other post's subject, and link that phrase. Anchors chosen this way never read like insertions, because they aren't. If you already run drafts through an SEO content optimization tool, do this before that step — those tools grade what's on the page, and it's easier to place a link while the argument is still fresh than to retrofit one afterwards.

Anchor text is the sign, not the pole. It should say where the road goes. Photo via Pexels.
Where plugins and AI suggestions actually help
Below fifty posts, tooling is optional and mostly a comfort. Above a few hundred, it stops being optional, because the bottleneck moves from "will I bother" to "I genuinely cannot remember what's in here."
Link Whisper is the dedicated option in the WordPress world: it reads your drafts and proposes links to your own older posts, with a reporting view of which posts are under-linked. Sold as a paid plugin, so it's a real decision rather than a free experiment.
Rank Math's link counter is quieter and free — it adds internal and external link counts to the post list in your admin, which turns "who's an orphan" into something you can see while doing other work. Not suggestions, just visibility, and visibility is most of the problem.
Yoast's internal linking tool proposes related posts from your own site while you write, and their feature page lists it under the premium tier rather than the free plugin.
Surfer sits slightly outside this category — it's built for optimizing a page against the ones already ranking — but the internal-link prompts it surfaces during that process overlap with this work often enough to mention.
No prices appear above on purpose. Licensing models in this corner change, free tiers get redrawn, and a number typed here would be stale before it was useful. What's described is the shape of each product as listed on its own page on July 31, 2026 — paid-only, free-with-upgrade, premium feature — and the current cost belongs on the vendor's pricing page, not in a blog post.
The one-pass routine
Set aside ninety minutes. Not a project, one sitting:
- Export or note every post title with its URL. A sheet, a text file, whatever you'll actually open.
- Mark the three or four posts that bring in the most search traffic. These are your starting points, because they have attention to distribute.
- From each of those, read for the two or three places where a reader's next question forms, and link an older post into that sentence. Two or three per post. Not eleven.
- Get the inlink count for every URL from Search Console or a crawl, and list every post at zero.
- For each orphan, find one older or newer post where it genuinely belongs, and place one link. One is enough to end the orphan state.
- Name your hubs. If a topic has no broad post to serve as one, write that title down as the next thing to publish.
Steps 1 through 5 are mechanical and can be finished today. Step 6 is the one that keeps paying, because it changes what you write next rather than only how the existing pages connect.
Then leave it alone for a month or two. Internal links are a structural change, not a switch, and the effect shows up as pages gaining impressions rather than as a single ranking jump — which is exactly the sort of slow drift a rank tracking setup is there to catch.
Pick your three best posts and link them
Open the post that brought you the most search traffic last month. Read it to the end, slowly, and find the one sentence where a reader would predictably want more detail than that post gives. Link an older piece of yours into that sentence, with anchor text that names what's on the other side.
That's one link, five minutes, and it's the entire method in miniature — repeatable on the next post, and the one after that. Do it three times this evening and you'll have started internal linking for small blogs the only way it ever really gets done: one honest handoff at a time, from a page people already read.

저는 한국에서 직원 없이 혼자서 두 개의 소규모 사업체를 운영하고 있습니다. 견적, 회계, 마케팅, 웹사이트 관리까지 모두 제가 직접 하고 있습니다. 개발자는 아니지만, 이 사이트의 자동화 시스템은 AI 코딩 도우미를 활용하여 밤늦게까지 오랜 시간 공들여 구축했고, 모든 콘텐츠 관리 및 게시도 제가 직접 담당하고 있습니다.