Find the internal links your site is missing
Load your pages. A language model running on your device finds which pages are about related things, the sentence each link belongs in, and the words to link. No API key, and your content never leaves the browser.
The model (all-MiniLM-L6-v2, 90 MB) downloads once and stays in this browser.
Saved plans
Sign in to keep link plans on your SkillSafe account and reopen them on any device. Optional and free.
Questions
What file does the internal link finder need?
A CSV with one row per page and columns for the URL, the title and the body text. A Screaming Frog crawl with a custom extraction of the main content works, as does any CMS export. Column names such as Address, Title 1 and Content are detected automatically, and you can pick columns by hand. A JSON list of objects with url, title and body also works, or you can paste pages separated by a line of three dashes.
Do I need an OpenAI API key?
No. The embedding model runs in your browser with WebGPU or WebAssembly. There is no API key, no credit cost and no sign-in. The model is a one-time 90 MB download that your browser keeps for next time.
Is my content uploaded?
No. Your pages are parsed and embedded in the browser tab. Only the model weights are downloaded. Signing in is optional and only stores a link plan if you choose to save one.
How is the anchor text chosen?
For each related pair the tool finds the source sentence closest in meaning to the target page, then scores short phrases inside that sentence by how well they describe the target compared with its nearest rival pages, plus whether they use the target's distinctive keywords. A weak label means the sentence has no phrase that names the target; the better fix is to write a bridging sentence.
How many pages can it handle?
Several hundred pages on a laptop. Each page contributes up to 80 sentences. With WebGPU a few thousand sentences take seconds; on WebAssembly expect about a minute per two thousand sentences.