Internal linking tool
Find the internal links your site is missing, placed in sentences you already wrote. Audit the whole site or find links to one page, from your own machine.
Build the command
The crawl runs on your machine, so it starts from a command. Pick what to check and copy it.
seo internal-links --site example.comWhat comes back
An example result for a made-up gardening site. Switch Jev off to see the result without a key.
- /guides/raised-bedslinks to/guides/composting
Fill the bed with a mix of topsoil and compost from your own heap.
Strong · 86%Explains a stepText match14 shared searches - /guides/tomatoeslinks to/guides/watering
Tomatoes split when watering is uneven, so keep to a steady schedule.
Strong · 79%Fixes a problemText match9 shared searches - /blog/spring-jobslinks to/guides/raised-beds
Spring is the best time to build new raised beds before planting.
Possible · 61%Next stepText match3 shared searches - /guides/compostinglinks to/tools/compost-calculator
Work out how much brown and green material you need before you start.
Possible · 54%Tool for the taskText match
Crawled pages that no other crawled page links to, from anywhere on the page.
- /guides/seed-saving
- /blog/frost-dates-2025
Pages with fewer than three links from other pages' main content.
- /guides/watering1 link in
- /tools/compost-calculator2 links in
Links that still go through a redirect, and links with text that says nothing about the page.
- /guides/tomatoes: /tomato-guide redirects to /guides/tomatoes-in-pots
- /blog/spring-jobs: “click here” to /guides/pruning
What the internal linking tool does
seo internal-links crawls your site from your machine, honouring robots.txt and any crawl delay. It reads each page's main content, finds pages about the same things, and checks which of them do not link to each other yet. It works in two ways.
| Command | What you get |
|---|---|
--site example.com | Links to add across the site (at most eight to each page), orphan pages, weakly linked pages, links through redirects and links with text like "click here". |
--url https://example.com/page | Up to eight pages that should link to that one page. |
--max-pages 2000 | Site audits only. Crawls more than the default 500 pages, up to 5,000. |
Each suggested link names the page to edit, the page it points to, a real sentence on that page that it fits in, and a real phrase from that sentence to use as the link text. When your Search Console account has the site, it also counts the searches both pages appear for.
Text matching or Jev
Without a key, links come from text matching: pages that use the same words, and sentences that name the target page. That finds good candidates, but it cannot tell a helpful link from a forced one, so the result says Jev was not used.
With a TypeSafe key, Jev sorts every page into a type (guide, article, tool, product page and so on), then judges each link: how likely it is to help a reader, which real sentence it belongs in, which real phrase to use, and what the link does for the reader. A link needs a probability of 50% to count as possible and 75% to count as strong. Fixed rules still apply on top, and Jev only picks among your own pages, sentences and phrases. It never writes text. The result says how many requests Jev made and what they cost.
Why internal links matter for SEO
Search engines find most pages by following links, and they read the links between your pages as a map of what matters. A page that many related pages link to looks central to its topic. A page nothing links to may not be found at all, and if it is, little tells Google it is important.
Internal links also carry meaning. The link text tells Google what the target page is about, which is why a descriptive phrase beats "click here". And they move readers: a link in the right sentence takes someone to the next thing they need, which is the reason to add it in the first place.
Orphan pages and weakly linked pages
An orphan page has no links from other pages on the site. It often happens when a page lives only in the sitemap, or when the pages that linked to it were removed. A weakly linked page has fewer than three links from other pages' main content. Navigation and footer links repeat on every page, so they say little about any one page; links in the content say much more.
The tool lists both, so you can start with the pages that need links most. If the crawl hit its page limit, it says so, because pages it did not reach could link to the ones it lists.
Build an internal linking strategy that lasts
- Link related pages to each other. Guides on one topic should point to each other where the text calls for it, and to the page that covers the topic best.
- Link from the content, not just the menu. A link inside a sentence that explains why to click is worth more than one more menu item.
- Use descriptive link text. Use the words that describe the target page, as they read naturally in the sentence. Avoid using the same exact phrase every time.
- Fix links that go through redirects. Point them straight at the final URL so readers and crawlers skip a hop.
- Check after you publish. Run the command again, or a crawl, to confirm the links are live.
Add internal links with your AI agent
The command is built for an agent to run. Ask your agent to audit the site, read each suggestion, open the source page and add the link where it helps a reader. Your agent can then check the work with a crawl. A person approves every change. Ask:
Run seo internal-links on example.com, open the strong suggestions, and add each link to the source page in the sentence it names. Show me the diff before you save.Install the CLI and run setup. The crawl runs from the CLI or the local MCP server:
npm i -g seo && seo startOr add the hosted MCP server for the rest of your data and sign in with Google:
Run it in a terminal, then sign in with Google.
Or run it on your machine
Installs the CLI, signs you in and adds the skill to your agents. Crawls and Bing run this way.