An internal linking audit is a review of how the pages on your site link to each other, so you can find important pages that get too few links, links that lead to errors or redirects, and anchor text that tells search engines nothing. You crawl the site, map which pages link where, compare that against the pages that matter most to the business, and then fix the gaps in priority order. Done well, it helps Google discover and understand your key pages and helps visitors find them.
Here is a practical process you can follow with a crawler and Google Search Console.
Why an internal linking audit is worth doing
Internal links do three jobs. They help search engines find pages, they pass context through anchor text about what the target page covers, and they guide visitors from one page to the next useful page. Google’s guidance on making links crawlable also stresses using real HTML links with descriptive anchor text.
Over time, most sites drift. New posts get published without links from older ones, pages get renamed and the old links now go through redirects, and the pages that bring in customers end up buried. An audit resets that.
Step 1: List the pages that matter most
Before you crawl anything, write down the pages you want to be strongest. Usually these are:
- Service, product or category pages that bring in revenue or leads.
- The home page and main hub or pillar pages.
- Blog posts or guides that already rank or attract links.
Add a column for each page’s main keyword. We use one main keyword per page, which makes it easy to see later whether the links pointing to a page actually describe its topic.
Step 2: Crawl the site and export the link data
Use a crawler such as Screaming Frog SEO Spider to crawl the whole site. Make sure it is set to respect your canonical tags and to crawl the XML sitemap as well, so it can compare what it finds by following links with what you have told search engines exists.
From the crawl, you want three views:
- Inlinks per page: how many internal links each page receives, and from which pages.
- Crawl depth: how many clicks each page is from the home page.
- All internal links: a full export with source, destination, anchor text and the status code of the destination.
Search Console’s Links report is a useful second opinion. Its “Top linked pages” list for internal links shows which pages Google sees as most linked on your site.
Step 3: Find orphan and weakly linked pages
An orphan page has no internal links pointing to it. Search engines may still find it through the sitemap, but nothing on your site signals that it matters, and visitors cannot reach it by browsing.
To find them, compare the list of URLs in your sitemap (and, if available, pages that get traffic in analytics or impressions in Search Console) against the list of pages your crawler reached by following links. Anything in the first list but not the second is an orphan.
Then sort your important pages by number of inlinks. If a main service page receives fewer internal links than a minor blog post, that is a gap to fix.
Step 4: Check crawl depth
Sort the crawl by depth. Important pages should be reachable within a few clicks of the home page. Pages that sit very deep, often reached only through long chains of pagination or category pages, tend to be crawled less often and look less important.
Fixes for deep pages:
- Link to them from the main navigation or a hub page if they are commercially important.
- Add contextual links from related posts or service pages that already rank.
- Add related-content sections on templates so new pages are linked automatically.
Step 5: Fix broken and redirected internal links
Filter your link export by destination status code.
- 4xx destinations: links to pages that no longer exist. Update each link to the correct live page, or redirect the dead URL to its closest replacement.
- 3xx destinations: links that work, but only through a redirect. Update the link to point directly at the final URL. This removes an extra step for both crawlers and visitors.
- Links to non-canonical or noindexed pages: if you link to a URL whose canonical points elsewhere, or that is set to noindex, you are sending mixed signals. Link to the canonical version instead.
Watch for patterns, not just individual links. When we reviewed growthscribe.com, Search Console’s “Page with redirect” list was mostly ?filter- parameter URLs. Problems like that usually come from one template or widget generating thousands of links, so fixing the source fixes them all at once.
Step 6: Review anchor text
Export anchor text for links pointing to each important page. Look for:
- Generic anchors such as “click here”, “read more” or “this page”. These waste the chance to describe the target.
- Misleading anchors, where the link text describes a different topic from the target page.
- Anchors that point to the wrong page, for example two different pages both linked with the same keyword. That can blur which page should rank for it.
Good anchor text is short, descriptive and natural in the sentence. It does not need to be the exact keyword every time; a close variation that reads well is better.
Step 7: Plan new links and prioritise
Now turn the findings into a list of specific changes. For each important page with too few links, find three to five relevant pages that could naturally link to it. Search Console helps here: search your own site’s top pages for the topic, or check which posts already get impressions for related queries, and add a link from those.
Prioritise in this order:
- Broken links on high-traffic pages.
- Orphaned or very deep commercial pages.
- Redirected links in navigation and templates (one fix, many links).
- Contextual links from strong posts to key service or product pages.
- Anchor text clean-up.
When you publish new content, link to it from at least a couple of existing pages straight away. That one habit prevents most orphan pages.
Common internal linking mistakes
- Linking everything to everything, so related-post widgets and footers drown out meaningful links.
- Relying on navigation only for important pages, with no links from content.
- Using JavaScript-only links that are not real HTML anchor tags, which crawlers may not follow.
- Ignoring links after a migration, leaving hundreds of internal links going through redirects.
Internal links work alongside the rest of each page’s on-page signals. The anchor text you choose and a clear title tag on the target page should describe the same thing. If you would rather have someone run the internal linking audit and make the changes across the site, our on-page SEO team can take that on.
FAQ
How often should I do an internal linking audit?
A full internal linking audit once or twice a year is enough for most sites, plus a quick check after a redesign, migration or any batch of new content. Adding links from older posts each time you publish keeps the gaps from building up.
How many internal links should a page have?
There is no set number. A page should link wherever a link genuinely helps the reader find a related or next-step page. Focus on making sure every important page receives links from relevant pages, rather than hitting a count.
Do internal links in menus and footers count?
Yes, search engines can follow them, and they help with crawling. But links placed inside the main content, with descriptive anchor text, give clearer context about what the target page is about. Use both, and do not rely on navigation alone for important pages.
Can I use the same anchor text for every link to a page?
You can, but it is more natural to vary it. Use descriptive phrases that match what the target page is about, such as the main topic or a close variation. Avoid generic anchors like “click here” for important pages.


