Enter your site URL in the form below and the internal linking tool will read robots.txt and your sitemap, fetch up to 2,000 pages, and map every existing internal link. It then uses Jev to classify each page and its search intent to recommend the best internal linking structure.

It’s free if you use your own TypeSafe API key, or you can pay $1 for up to 500 pages, $2 for up to 1,000 or $3 for up to 2,000. You can close the page while it runs: the report stays at its own link for 7 days, and if you tick the box I’ll email you that link when it’s ready.

You can close this page. The run keeps going, and this page's address brings you back to it and the report for 7 days.

Pages read
Classified
Links judged
Links found
Jev requests
Elapsed
Cost so far
  1. robots.txt
  2. Sitemap
  3. Fetch
  4. Classify
  5. Judge
  6. Report

Live feed

Latest link found

Accepted links appear here once pages are classified.

→

LinkRoleAnchor

Page types

pillar guide
support article
product or service
comparison or review
glossary or definition
tool or calculator
news or update
category hub
home
about or company
legal or utility
other

Up to 2,000 pages. The crawler obeys robots.txt and Crawl-delay. The report is kept at a private link for 7 days, then deleted, and your key is deleted as soon as the run ends.

What you get

  • A link map of every page that has little or no contextual links to it, and the recommended pages that should link to it.
  • Ranked links by how confident Jev is, including the source, target, the sentence to put the link in, the anchor text phrase and the job the link does for a reader.
  • A table of pages with each page’s type, search intent, word count, links in (contextual and total), and suggested links.
  • Existing links with generic anchors such as “click here” or “read more” that you should rewrite.
  • CSV and JSON download options for the whole report.

How the crawl works

  • The site is crawled by ianbot. It reads and honours robots.txt disallow rules. If your firewall blocks ianbot the ianbot page shows how to allow it.
  • It finds your sitemap from robots.txt or at the usual sitemap paths. For sites with no sitemap it will follow links from the home page.
  • On sites with more than 2,000 pages it takes pages from every sitemap file in turn, so the sample covers each section of the site rather than just the first sitemap.
  • Fetches up to 2,000 HTML pages and honours Crawl-delay. A page whose canonical URL points at another page is skipped and the canonical page is fetched instead, so duplicates don’t use up the 2,000.
  • Every existing internal link is recorded with its anchor text and whether it’s in the body or in navigation.

How the analysis works

  • Each page’s body text is first split into sentences and headings.
  • Every page is then scored with TF-IDF. Term frequency (TF) is how often a word appears on a page and inverse document frequency (IDF) is how rare that word is across the whole site. This gives higher scores to the words that define the page and lower scores to words that appear more commonly (like your brand name).
  • For each source page the eight most similar pages become candidate targets. Pages with fewer than three links in get a score boost to find and get links to orphan pages (pages with no internal links).
  • Link placements are found by locating the four sentences in the source page most related to the target page. The phrases in those sentences that match the target’s keywords become the anchor text options.
  • Jev only chooses between the sentences and anchor text options the code found. Every suggestion points at a real sentence and a real phrase on your page.

What Jev decides

Jev classifies every page as one of these types:

  • pillar_guide. Long, broad articles that should link out to many narrower pages.
  • support_article. A focused article or post like a tutorial or explainer.
  • product_or_service. A page whose primary focus is commercial (either selling or describing a product/service).
  • comparison_or_review. A competitor “vs” page, a product review, or a best-of list.
  • glossary_or_definition. Shorter page that defines one term or definition.
  • tool_or_calculator. An interactive page like a calculator or tool (like this internal link tool!).
  • news_or_update. A dated announcement or changelog entry. (These rank lower as targets because they go stale)
  • category_hub. An archive page, listing, tag, category or index page.
  • home, about_or_company, legal_or_utility or other.

Jev also decides the search intent of every page: informational, commercial, transactional or navigational.

For every candidate link it answers four questions:

  1. Should the source link to the target at all?
  2. Which sentence does the link belong in?
  3. Which phrase in that sentence should be the anchor?
  4. What does the link do for the reader?

The answer to the last question is the link’s role:

  • explains_concept. The target explains a term or idea the source mentions.
  • deeper_detail. The target goes deeper into a sub-topic the source only touches on.
  • broader_guide. The target is the broader guide or hub the source belongs under.
  • next_step. The target is what a reader should read or do next.
  • product_or_service. The target is the product or service that solves the problem discussed.
  • comparison_or_alternative. The target compares or offers an alternative to what the source discusses.

Home pages, legal pages and hubs are never suggested as sources or targets. About pages are never suggested as targets.

Pricing and privacy

  • Using your own TypeSafe API key the tool is free.
  • Without a key, a run is $1 for up to 500 pages, $2 for up to 1,000 or $3 for up to 2,000.
  • Each run gets a private link. The crawled pages and the report are kept there for 7 days so you can come back to it, then everything is deleted.
  • Your API key is kept only while the run is working and deleted the moment it ends. You can also revoke it in TypeSafe afterwards.
  • If you ask for the report by email, your address is used once to send the link. You’re only added to my newsletter if you click the link in that email and confirm.

Newsletter

New posts, daily by default. Change any time.

Join 9,444 active subscribers