Internal Link Opportunity Finder
This free tool finds the internal links you forgot to add. Give it the page you want to rank and the keywords you'd like it linked with, and it searches your published posts and pages for every place those words appear without a link back to that page. For each one you get the exact sentence, how many times the phrase shows up, whether the page already links to your target, and a one-click "Edit" link into WordPress. It reads your site through the public WordPress REST API from your own browser, so there's no plugin to install, nothing to log in to, and nothing uploaded. Not on WordPress? Paste your pages in instead.
/wp-json/wp/v2/, the same public API the block editor uses, and only ever sees published content.---. Links are only detected when you paste HTML.Similar Tools
What Counts as an Internal Link Opportunity?
A place on your site where you already talk about a topic, but don't link to the page you've written about it. Say you have a big guide to email marketing, and twelve older posts mention "email marketing" in passing. Each of those mentions is a spot where a link would help a reader who wants more, and would tell Google that the guide is the page you consider most important on that subject. That's the opportunity: the words are already there, so the link costs you ten seconds instead of a rewrite.
The tool lists those spots, shows you the exact sentence, and skips the ones that are already linked, either to your target or to something else. A mention that already sits inside a link isn't an opportunity; stacking a second link on it would just confuse people.
How Does the Tool Read My Site? Does It Need a Login or a Plugin?
Neither. Every WordPress site has a public REST API at /wp-json/wp/v2/. It's what the block editor and most mobile apps use, and it serves the same published posts and pages that any visitor can read. The tool sends a search to that API for each of your keywords, straight from your browser, then reads the matching posts to check where the phrase appears and whether a link to your target is already there. Drafts, private posts, and anything password-protected never come back, because the API doesn't show them to the public.
Nothing passes through our server. The requests go from your computer to your site, and the results stay on your screen until you download the CSV. If you've turned the REST API off with a security plugin, or your host blocks cross-site requests to it, the automatic mode will tell you it couldn't connect. Switch to "Paste pages in" and feed it the content yourself; that mode works for Shopify, Webflow, Squarespace, Ghost, static sites, or anything else with an HTML view.
One more limit worth knowing: the API search looks at your posts' main content. If a page builder stores its text somewhere else, or your theme assembles pages from custom fields, those pages may not show up. Pasting them in gets around that too.
Which Keywords Should I Enter?
Start with the phrase you'd most like the target page to rank for, then add the ways you naturally refer to that topic elsewhere. A few rules of thumb:
- Use natural phrases, not just the head term. "Keyword research" will find a lot; "how to do keyword research" and "researching keywords" will find the sentences where a link reads most naturally.
- Include singulars and plurals. The tool matches whole words exactly, so "internal link" and "internal links" are two different lines.
- Skip words that mean something else on your site. If you sell "links" of sausage, you know what to do.
- Try the suggest button first. It pulls the target page's title and the words in its URL, which are usually a decent starting point.
Five or six phrases is plenty for most pages. If a phrase turns up hundreds of mentions, it's probably too broad to be a useful anchor anyway. Our Anchor Text Analyzer can show you what the target's existing links already say, so you can vary the new ones.
How Many of These Links Should I Actually Add?
Add the ones a reader would thank you for, and stop there. In practice that's often most of the list for a page with a handful of mentions, and a fraction of it for a phrase that appears on fifty pages. One link to the target per page is the norm; two is fine on a very long post if the mentions are far apart.
There's no penalty for internal links, but there are diminishing returns, and a page where every third sentence is a link is unpleasant to read. Pick the mentions where the surrounding sentence actually makes a case for clicking, vary the anchor text a little between pages, and prioritize the pages that get the most traffic, since those pass the most value and send the most readers. If you're not sure which pages those are, sort the CSV by the ones you recognize from your analytics and start at the top.
Do I Still Need an Internal Linking Plugin?
Maybe not. Plugins like Link Whisper or Yoast's internal linking suggestions do two things: they suggest links while you write, and they report on links across the whole site. The first one is handy, but it's also the part most people end up ignoring once the novelty wears off. The second is what actually moves rankings, and it's what this tool does, one target page at a time, without adding another plugin to your site.
Where a plugin still earns its keep is scale and automation. If you publish several posts a week, want orphaned-page reports across hundreds of URLs, or want links inserted for you in bulk, a plugin is the better fit. If you have a shortlist of pages you care about ranking and want to spend twenty minutes a month shoring them up, this is faster, free, and leaves nothing running on your site.
A workflow that works well: pick your five most important pages, run each one through here, add the links that make sense, and put a reminder in your calendar to repeat it every couple of months as new content piles up. Pair it with our Article Link Analyzer to make sure the pages you're linking from aren't already overloaded.
Why Didn't It Find a Page I Know Mentions the Keyword?
The usual reasons, roughly in order of how often we see them:
- The wording is different. The match is exact (ignoring capitalization), so "link-building" won't match "link building", and "optimise" won't match "optimize". Add the variant as its own line. Our spelling converter helps if your site mixes US and UK spellings.
- The page is beyond the limit. Each keyword checks up to the number of pages you chose, newest first. On a big site, raise it to 200 or 300.
- It's a custom post type. The automatic mode searches posts and pages. Products, portfolio items, and other custom types aren't included; paste those in.
- The mention is in the title, an image caption, or a widget. Only the main content is a sensible place for a link, so only the main content is searched.
- It's the target page itself. A page can't usefully link to itself, so the target is left out.
Let's Grow Your Business
Want some free consulting? Let's hop on a call and talk about what we can do to help.
