Two pages can be about the same thing, both live, both indexed, both linked to from elsewhere on the site, and still never point at each other. That's not a defect either page has on its own. It's a missed connection between two pages that were always meant to reinforce each other.
What this finding means
Crawl Cove's internal-link-opportunity check builds a topic signature for every indexable page from its title and headings, then compares pages pairwise. Common boilerplate terms, ones that show up across most of the site, like shared navigation or footer headings, are filtered out first so they cannot manufacture a false match. A suggestion from page A to page B fires only when they share enough weighted terms, including at least one multi-word phrase rather than a single word in common, and A does not already link to B (directly, or via a redirect that already lands there).
A real finding looks like this:
topically related to 2 page(s) it does not link to yet, e.g. /blog/crawl-budget-explained (shared: "crawl budget", "orphan pages")
One finding per source page, listing its best-matching, not-yet-linked targets.
Why it matters
A contextual link between two pages that already cover related ground is one of the cheapest wins in on-page SEO, because both pages already exist and neither needs new content. It passes internal ranking signal to the target, gives readers a genuinely relevant next click, and strengthens the topical cluster search engines use to work out what a group of pages, and the site as a whole, is actually about. Skipping the connection doesn't just cost that one link, it means two related pages compete for the same ranking on their own instead of reinforcing each other.
How to fix it
- Open the source page named in the finding and look at the suggested targets and the shared terms driving each one.
- Add a genuine, in-body contextual link to the target page, using descriptive anchor text rather than "click here" or the raw URL.
- Check the connection makes sense to a reader, not just to the algorithm. The shared terms are a strong signal, not a guarantee, so skip a suggestion that doesn't actually read naturally in context.
- Consider linking the other direction too if the target page would equally benefit from pointing back.
- Re-crawl the site once the links are added; a page clears this finding as soon as its suggested connections are made.
False positives and edge cases
- This flags a missed opportunity, not a defect. Unlike most checks in this library, nothing is broken. It's scored Info for that reason, and clearing it is optional polish, not a fix.
- A suggestion never repeats a link that already exists, including one that already reaches the target through a redirect, so acting on every suggestion never creates a duplicate link.
- Two pages sharing only common words, not a real phrase, are never matched. The check requires at least one shared multi-word term specifically to avoid suggesting links based on coincidental single-word overlap like both pages mentioning "SEO".
- The signal is title and headings only. A crawl-time check has no access to a page's full body copy, so two pages that are genuinely related in their prose but not in their headings may not be caught here.
Related reading
For internal links that exist but are marked in a way that blocks the signal they'd otherwise pass, see Nofollow Internal Links. For a page with too few inbound links altogether, see Underlinked Pages.
Google documentation: SEO link best practices for Google
Frequently asked questions
- Is this the same as an orphan page or a dead end?
- No. Those checks flag a link-graph DEFECT, a page with too few links in or out. This one is an OPPORTUNITY suggester: both pages already exist and are perfectly linked elsewhere, they just don't link to EACH OTHER despite covering related ground.
- How does Crawl Cove decide two pages are related?
- From each page's title and headings only, there's no body text available to a crawl-time check. Shared words are weighted so common ones (appearing on most of the site, like "contact" or "FAQ") count for nothing, and a suggestion only fires when the pages share a real phrase, not just a single word, at a high enough similarity score.
- Why does it only suggest a handful of targets per page?
- Suggestions are capped and ranked by relatedness, so the finding stays a short, actionable shortlist rather than a page's entire link graph.
- Does it suggest a link that already exists?
- No. A source page's existing outbound links, including ones that go through a redirect to the target, are excluded before any suggestion is made, so every suggestion is genuinely missing.