Step-by-step guide: How to Plan Internal Links for SEO
How to use the Internal Link Planner
- List the pages you want to connect, one per line. Include a page title and a few target keywords after vertical bars, as in the example.
- If you know which internal links already exist — from a crawl export, for example — add them in the second box. This lets the planner skip existing links and detect orphaned pages.
- Choose how many suggestions you want per page and the minimum relevance. Higher relevance gives fewer, stronger suggestions.
- Select Plan internal links. Suggestions are sorted by relevance, each with a proposed anchor text drawn from the target page’s keywords.
- Work through the plan in your CMS, adding links where they read naturally within the content. Download the CSV to track progress.
Example: a small gardening blog
Given four pages:
/tomatoes/ | Growing tomatoes | tomato plants, tomato care
/tomato-blight/ | Tomato blight explained | tomato blight, plant disease
/raised-beds/ | Building raised beds | raised beds, vegetable garden
/compost/ | Making compost | compost, soil, vegetable garden
the planner suggests linking /tomatoes/ → /tomato-blight/ with the anchor “tomato blight”, because both pages share the word “tomato”, and /raised-beds/ ↔ /compost/ through the shared phrase “vegetable garden”. If the existing links show nothing pointing to /compost/, it is flagged as an orphaned page.
Why internal links deserve a plan
Internal links are the links between pages on your own site. They help visitors move to the next useful page, and they help search engines discover pages and understand which pages relate to each other. Google’s documentation notes that every page you care about should have a link from at least one other page on your site.
On a growing site, linking usually happens by accident: new articles link to whatever the writer remembered, and older pages never get updated to link to newer ones. The result is a handful of heavily linked pages and many that are hard to reach. A simple plan fixes that systematically.
How suggestions are scored
For each page, the planner builds a set of significant words from three sources: the keywords you listed (weighted most heavily), the page title and the words in the URL path. Common words are removed and regular plurals are reduced to their singular form.
Relevance between two pages is the weighted share of words they have in common, a cosine-style similarity between 0 and 1. A page is suggested as a link target when the score reaches your minimum, the link does not already exist, and the page is among the strongest matches for that source.
The suggested anchor text is the target page’s keyword that best matches the source page’s topic, or its title if no keywords were given. Descriptive anchors like this tell readers what to expect before they click.
Finding orphaned pages
When you provide existing links, the page overview counts the incoming links each page already has. A page with no incoming internal links is marked as orphaned: crawlers may struggle to find it and visitors can only reach it from search or external links. These pages should be first in line for new links.
Limitations to keep in mind
- Suggestions are based on shared words in the details you supply. Pages about the same subject described with different vocabulary may not be connected.
- The planner does not crawl your site. It only knows about pages and links you list.
- Relevance is not the only reason to link. Navigation, conversion paths and user journeys matter too, so treat the plan as a starting point for editorial judgement.
- Large lists are capped at 1,000 pages to keep the comparison fast in the browser.
How your data is handled
Your page list and link data stay in your browser. The planner does not upload them, store them or visit your site.
Frequently asked questions
How many internal links should a page have?
There is no fixed number. Link where it genuinely helps the reader take a next step. A few well-placed, relevant links within the body text are usually more valuable than long lists of links.
Should every suggested link be added?
No. Add a link only where it fits the sentence and helps the reader. If a suggestion would feel forced, skip it or rewrite the paragraph so the link becomes natural.
Where do I get the list of existing links?
Most site crawlers can export internal links as a list of source and destination URLs. Paste those pairs using the from -> to format. Without them, the planner still makes suggestions but cannot detect orphaned pages.
Can I use full URLs and paths together?
Use the same format throughout. If your page list uses paths such as /compost/, use paths in the existing-links box too, so the planner can match them.