How do you find internal links to add automatically?
By hand you work from the target: you have a new article and you hunt for places worth linking from. An automated pass runs the other way - it reviews every paragraph of every page and checks whether a URL exists that the paragraph substantively points to.
Matching is semantic rather than exact-phrase, so it also catches paragraphs describing the topic in different words. The output is not a list of pages “worth linking” but a pair: a specific fragment of text and a specific target URL with a ready anchor.
What do you get?
- A table of suggestions: source page, proposed anchor text, target page and the match score.
- Site statistics: pages collecting the most incoming links, and orphaned pages with no internal link pointing at them at all.
- CSV export to hand over to whoever will make the changes in the CMS.
| Source | Anchor text | Target | Similarity |
|---|---|---|---|
| install a browser | 0.84 | ||
| browser comparison | 0.82 | ||
| a web browser | 0.82 | ||
| set as default | 0.81 | ||
| where the browser is | 0.80 |
Why does internal linking matter in AI Search?
Internal links spread the signal that a topic is covered on your site by more than one page. To a search engine that is information about the structure of your knowledge, not merely navigation.
The practical problem is different: manual linking stops at a few obvious spots, and pages added six months ago end up with no incoming link at all. Those orphans stay invisible until somebody counts them.
An automated pass works the opposite way to a human: it reviews every paragraph of every page and checks whether a page exists that the paragraph substantively points to.
How does the analysis work?
- 1
Fetching content
We pull the full content of the pages in the sitemap - not just titles, because matching happens at paragraph level.
- 2
Splitting into fragments
Content is split into paragraphs of a usable length, skipping headings - a link inside a heading is bad practice, so we never propose one there.
- 3
Semantic matching
We compare each fragment with the subject matter of the other pages and keep the pairs that cross the similarity threshold.
- 4
Choosing the anchor text
From the fragment we pick a natural phrase for the anchor, accounting for inflection and stop words.
- 5
Filtering
We drop self-links, exceeded per-page and per-target limits, URLs already linked, and anchors already used on that page.
- 6
Optional verification
On request the model additionally checks whether the link makes editorial sense; rejected suggestions remain visible separately.
What you set before the run
| Parameter | Range and default |
|---|---|
| Similarity threshold | 0.5-1.0 (default 0.75) |
| Max links per page | 1-30 (default 5) |
| Max links to one target | 1-50 (default 10) |
| Anchor length | minimum 1-10 words (default 2), maximum 1-15 words (default 6) |
| Model verification | off by default |
What does it cost?
- 1 credit per analysis.
- We never propose links that already exist, or anchors already used on the page in question.
- A job that ends in an error returns the credit automatically.
Frequently asked questions
Will the tool insert the links on my site?
No. You get a list of suggestions with a ready anchor and target URL; you implement them in your CMS. We do not connect to your site and change nothing on it.
Will you suggest a link I already have?
No. Before matching we extract the existing internal links from the content and discard both URLs that are already linked and anchors that already act as a link on that page.
What are orphaned pages and why do they matter?
They are pages with no link pointing at them from inside the site. To a search engine they look less important, and a visitor can only reach them from outside. They are usually the fastest thing in the whole report to fix.