Free & runs in your browser

Link Weaver

The free AI internal link finder. Paste your pages and it uses on-device AI embeddings to surface the most relevant internal links between them, and flag near-duplicate pages that may be cannibalising each other. Nothing is uploaded. The AI runs entirely in your browser.

One page per line, as URL or title | a sentence on what the page covers. The more descriptive the text, the better the matches. Paste 5 to a few hundred pages.

How to use the results. A strong link (0.62 to 0.89) is a related but distinct page worth linking to in body content with a descriptive anchor. A near-duplicate (0.90 and up) is not a link target: those two pages likely cannibalise each other, so consolidate with a 301 or differentiate them. Keep to 3 to 7 body links per page. You cannot one-shot this: integrate thoughtfully.

How Link Weaver works

It loads a small open-source embedding model (all-MiniLM) into your browser, turns each page into a vector that captures its meaning, then measures how close those vectors are. Pages that sit close together are topically related, which is exactly where an internal link makes sense. Because everything runs locally, your content never leaves your device.

This is the same method behind agency-grade internal linking, made free. For the strategy behind it, see the SEO cheatsheets and AI search guide.

Link Weaver is a free internal link finder that runs entirely in your browser. You paste a list of your pages (URL or title plus a one-line description), it turns each page into a semantic vector with a small open-source model, and it shows you which pages are closest in meaning. Those pairs are your internal link opportunities. Pairs that are almost identical are flagged as likely cannibalisation. I built it because the same method costs agency money inside most SEO suites, and a link-suggestion step has no reason to need your content uploaded to anyone's server.

What it is not: a crawler. It does not fetch your site, so there is no domain box, no login and no server that can return an error. It works on the text you give it, which is also why the quality of your descriptions decides the quality of the matches.

How do you use Link Weaver step by step?

  1. Export your page list. From Screaming Frog, your sitemap, or Search Console's pages report. You want the URL and a sentence on what each page covers; the meta description or H1 works if you have nothing better.
  2. Format one page per line as URL | description. Five pages is enough to test; a few hundred is comfortable on a laptop.
  3. Click Find internal links. The first run downloads the model (about 30MB, one time, cached by your browser). Later runs start immediately.
  4. Read the scores. 0.62 to 0.89 is a strong link candidate. 0.90 and above is a near-duplicate to consolidate or differentiate, not to link. Below 0.62 is loosely related; link only if it reads naturally.
  5. Place the links yourself, in body copy, with an anchor that describes the target page. Three to seven per page. The tool finds the pair; you write the sentence.

Is Link Weaver free, and are there usage limits?

Free, no account, no usage cap, no paid plan. Because the model runs on your device, every run costs me nothing, so there is nothing to meter. Use it on one site or fifty client sites; nothing is logged, and no data leaves your browser (open the network tab and check). The only practical limit is your machine: a few hundred pages runs in seconds, a few thousand still works but takes a minute or two on an older laptop, and above that you are better off batching by section or category.

ToolHow it finds linksWhere it runsCostBest for
Link WeaverSemantic similarity between page descriptions, plus near-duplicate flagsYour browser, nothing uploadedFreeAny CMS, agencies and freelancers, quick audits, cannibalisation checks
Link WhisperKeyword matching inside WordPress content, inserts links for youWordPress pluginPaid annual licenceWordPress sites that want one-click insertion
Screaming FrogCrawls the site and reports existing links, orphans and depthDesktop appFree to 500 URLs, paid licence aboveAuditing the links you already have
Ahrefs or Semrush site auditCrawl-based internal link reports and opportunity suggestionsCloudSubscriptionTeams already paying for the suite
Yoast SEO PremiumSuggests related posts as you writeWordPress pluginPaidWriters linking while drafting

The honest comparison: Link Whisper wins if you want links inserted into WordPress automatically. Link Weaver wins if you are not on WordPress, work across client sites, do not want content uploaded, or want to see cannibalisation as well as link opportunities. Most agencies I know use a crawler to see what exists and a semantic tool like this to decide what to add.

How do you use it on different kinds of sites?

Large ecommerce sites: do not paste 20,000 product URLs. Run it at the category and guide level (a few hundred rows), where internal links change rankings, and let product pages inherit through category links and related-product blocks. Pair it with the ecommerce internal linking strategy.

Small WordPress business sites: paste every page and post (usually under 100 rows), write honest one-line descriptions, and act on the near-duplicate flags first; small sites almost always have two or three pages competing for the same query.

Freelancers and agencies: keep one text file per client and re-run it each time new content ships. There is no account, so nothing ties a run to a client, and nothing to clean up when the engagement ends.

Troubleshooting

No results appear. Check you have at least two pages and that each line carries some descriptive text; two bare URLs have almost nothing to compare. If the status line stalls on "Loading the AI model", your network or an ad blocker is blocking the model download from the jsDelivr CDN; allow it or try another browser.

Everything scores as a near-duplicate. Your descriptions are too similar, usually the same boilerplate meta description. Rewrite them to say what makes each page different.

Nothing scores above 0.62. The pages genuinely cover different topics, or the descriptions are too short. Add a second sentence to each.

Is it maintained? Yes. It runs on a pinned version of the Transformers.js library and the all-MiniLM-L6-v2 model, and I update the page when either changes.

Frequently asked questions

Does Link Weaver insert the links for me?

No. It finds the pairs and scores them; you place the link in the body copy. Automatic insertion is what produces the repeated exact-match anchors that read as manipulation.

Is it accurate?

It measures meaning, not keywords, so it finds relationships a keyword match misses (robots.txt and crawl budget, say). It cannot know your commercial priorities, so treat the scores as a shortlist and apply judgement.

Can I use it on a non-English site?

The default model is English-first. It still produces usable similarity on other Latin-script languages, but expect weaker matches; for a multilingual site, run one language at a time.