An internal link audit is the process of crawling your website to find broken links, orphan pages, poor anchor text, and crawl depth problems — then fixing each issue to restore link equity flow and improve rankings.
This guide walks through a 10-step audit using free tools.
Most websites lose rankings not because they lack content or backlinks, but because their internal links are broken, misaligned, or missing entirely.
Semrush's analysis of 10 million pages found that 25% of internal links use generic anchor text like "click here" — passing zero topical context to search engines.
LinkStorm's research revealed that over 80% of internal link opportunities go completely unused on the average website.
An internal link audit catches these problems before they compound.
After auditing 500+ sites over the past decade, this is the exact process I run every time.
What Is an Internal Link Audit?
An internal link audit is a systematic review of every hyperlink connecting pages within your website.
The goal is to identify structural problems — broken links, orphaned content, shallow anchor text, excessive link counts, redirect chains — and fix them so link equity flows efficiently to your most important pages.
Think of it as a health check for your site's nervous system.
Every internal link is a signal pathway. Broken links are severed nerves. Orphan pages are organs cut off from blood supply.
Generic anchor text is a signal that arrives but carries no useful information.
Google's John Mueller confirmed that "internal linking is super critical for SEO" and "one of the biggest things you can do on a website."
But links only work when they're healthy, relevant, and properly connected. The audit is how you verify that.
For the full picture of why internal links matter and how they work, start with the complete internal linking guide.
This audit article focuses specifically on the diagnostic and repair process.
Why Audit Internal Links? What Problems Does It Solve?
A single broken internal link might seem harmless.
Multiply it by 50 across your site and you have a crawl efficiency crisis.
Here's what goes wrong when internal links aren't maintained.
Broken links waste crawl budget.
Every time Googlebot hits a 404 through an internal link, it wastes a crawl request that could have indexed a real page.
Technical SEO research from 2024 found that sites with more than 50 broken internal links see 15-20% reductions in organic search visibility.
Orphan pages never get indexed.
Screaming Frog's audit data shows that orphan pages — pages with zero incoming internal links — receive zero organic traffic in 96% of cases.
If Google can't follow a link to a page, it may never know the page exists.
Generic anchors cripple topical signals.
When every internal link says "read more" or "learn more," you're telling Google nothing about the destination page's topic.
Semrush found that 25% of all internal links across 10 million pages use generic anchor text.
Each one is a missed opportunity to send a topical relevance signal.
Deep pages get crawled less.
The Zyppy study of 23 million internal links found that pages at crawl depth 4 or greater receive 9x less organic traffic than pages within 3 clicks of the homepage.
If your key pages are buried deep, they're effectively invisible.
Redirect chains dilute equity.
Each redirect in a chain loses a small percentage of link equity.
A link pointing to URL A, which redirects to URL B, which redirects to URL C, passes significantly less authority than a direct link to URL C.
An audit is not optional maintenance — it's the difference between a site where equity flows freely and one where it leaks through structural cracks.
What You Need Before Starting
You need three things to run a complete internal link audit.
A crawler. You need to crawl your entire site to pull link data. Free options: the SEOShouts Internal Link Checker (500 pages, includes anchor text word cloud), Screaming Frog free version (500 URLs), or Google Search Console (limited link data but free and always available).
Your sitemap. Export your XML sitemap. You'll cross-reference it against crawl results to find orphan pages — URLs in your sitemap but not discovered during crawling.
A spreadsheet. You'll track findings and fixes. Google Sheets works fine. Create columns for: URL, Issue Type, Current State, Fix Action, Priority, Status.
Budget about 2 hours for a site under 500 pages. Larger sites may need a full day. The process scales linearly with page count — the steps stay the same regardless of site size.
Step 1: Crawl Your Entire Website
Start by crawling your full site to build a complete link inventory.
This is the foundation everything else depends on.
Run the SEOShouts Internal Link Checker by entering your homepage URL.
The crawler follows every internal link it finds, recording source URLs, destination URLs, anchor text, and HTTP status codes.
It generates a word cloud visualization of your anchor text distribution — the single fastest way to spot over-optimization.
If your site exceeds 500 pages, use Screaming Frog's paid version or Sitebulb for a full crawl.
For sites under 500 pages, the free tools cover everything.
What to export from your crawl:
All internal links with source URL, destination URL, anchor text, and status code. Total internal link count per page.
Crawl depth for each URL. Any links flagged as nofollow.
Save this data — you'll reference it in every subsequent step.
Step 2: Find and Fix Broken Internal Links
Filter your crawl data for any destination URLs returning 404, 410, or 5xx status codes.
These are your broken internal links.
Each broken link creates two problems: the user hits a dead end, and the link equity that should flow to the destination page evaporates.
Google's crawler wastes a request following the link only to find nothing.
How to fix each type:
If the page moved to a new URL, update the internal link to point to the correct URL directly.
Don't rely on redirects — fix the link at the source.
If the page was deleted permanently and no replacement exists, remove the link entirely. Keeping a link to a dead page helps nobody.
If the page was deleted but similar content exists elsewhere, replace the link with a pointer to the closest relevant page.
Use a different anchor text that accurately describes the new destination.
For a detailed walkthrough of broken link repair strategies, see how to find and fix broken internal links.
Benchmark: A healthy site should have zero broken internal links. If your crawl finds more than 10, prioritize fixing them immediately — every day they exist is wasted crawl budget.
Step 3: Resolve Redirect Chains
Filter your crawl for internal links where the destination returns a 301 or 302 status code.
Then check if any of those redirects lead to another redirect (a chain).
A single redirect is manageable — Google follows it and passes most of the equity. But chains compound.
Two redirects in sequence mean the final destination receives less authority. Three or more redirects, and Google may stop following the chain entirely.
Fix process:
Identify the final destination URL in the chain. Update the internal link on the source page to point directly to the final URL.
If the redirect involves an old URL structure (like a domain migration), batch-update all internal links pointing to old URLs using find-and-replace in your CMS.
Benchmark: Zero redirect chains. Single redirects are acceptable temporarily but should be cleaned up within 30 days. Update the links at the source — don't just add another redirect.
Step 4: Identify and Fix Orphan Pages
An orphan page exists in your sitemap (or your CMS) but has zero internal links pointing to it from any other page on your site. Google's crawlers can't find it by following links, which means it's unlikely to be indexed or ranked.
How to find orphans:
Export your XML sitemap URLs. Export the list of all URLs discovered during your crawl. Compare the two lists.
Any URL in the sitemap but NOT in the crawl data is likely orphaned.
Google Search Console also reveals this: go to "Links" → "Internal Links" and sort by ascending link count.
Pages with only 1-2 internal links are near-orphans that need attention.
Fix process:
For each orphan page, find 3 or more existing pages where a contextual link would make sense.
Write unique anchor text for each link — describe what the reader will find on the destination page.
Place links in the body content, not just footers or sidebars. Body links in the first 2-3 paragraphs carry the most weight.
For a deeper dive into orphan page recovery, see the guide on finding and fixing orphan pages.
Benchmark: Zero orphan pages. Every indexed page needs a minimum of 3 incoming internal links. Pages with fewer than 3 are structurally weak and should be reinforced.
Step 5: Check Crawl Depth
Crawl depth measures how many clicks it takes to reach a page from your homepage.
Your most important pages should sit at depth 1-2. Supporting content should be within depth 3. Nothing critical should be at depth 4 or beyond.
How to check:
Screaming Frog shows crawl depth in its "Internal" tab under the "Crawl Depth" column. The SEOShouts crawler includes depth data in its results.
Google Search Console doesn't show crawl depth directly, but you can estimate by counting the directory levels in URLs.
What to fix:
If priority pages sit at depth 4+, create shortcut links from pages at depth 1 or 2.
A single contextual link from your homepage or a top-performing blog post can pull a deep page up by 2-3 levels.
Review your navigation structure — if a category or section page sits at depth 3 and all its children are at depth 4+, consider adding the category to your main navigation.
According to the Zyppy study, pages at depth 4+ receive 9x less traffic. Moving a page from depth 4 to depth 2 is one of the fastest ways to increase its organic visibility.
See our detailed analysis in crawl depth and why deep pages don't rank.
Benchmark: All money pages (tools, services, pillars) at depth 1-2. All blog posts at depth 2-3. Nothing important at depth 4+.
Step 6: Audit Anchor Text Distribution
This is where most audits stop — and where the biggest opportunities hide. Your anchor text tells Google what each linked page is about.
Poorly distributed anchors either send no signal (generic text) or send a manipulation signal (over-optimized exact match).
How to analyze:
The fastest method: run your site through the internal link checker with word cloud visualization.
The word cloud shows your most-used anchor phrases at a glance.
If one keyword dominates the cloud, you have an over-optimization problem.
If the cloud is full of "click here" and "read more," you have a generic anchor problem.
For spreadsheet analysis: export all anchor text from your crawl data. Create a frequency table. Group anchors by destination URL and calculate the percentage each phrase represents.
Healthy anchor distribution (per destination URL):
| Anchor Type | Target % | Red Flag |
|---|---|---|
| Descriptive / Partial Match | 50–60% | Below 40% |
| Branded | 20–25% | Below 10% |
| Exact Match | 10–15% | Above 25% |
| Generic ("click here") | < 5% | Above 10% |
| Naked URL | < 5% | Above 10% |
Authority Hacker's research found that sites with anchor diversity below 30% see an average 15-position ranking drop.
This applies to internal links just as much as backlinks.
Fix process:
Replace every generic anchor ("click here," "read more," "learn more") with descriptive text.
If any single anchor phrase exceeds 15% of all links to one page, rewrite some instances using synonyms or longer descriptive phrases.
Never use the same anchor text for the same destination URL from two different source pages.
For the complete anchor text framework, see the anchor text optimization guide.
For AI-specific anchor writing, see semantic anchor text strategies.
Benchmark: Zero generic anchors. No single phrase exceeds 15% for one destination. Every anchor reads naturally in its sentence.
Step 7: Count Links Per Page
Excessive links on a single page dilute the equity each link passes and can trigger quality signals.
How to check:
Your crawl data should include "outlinks" or "outgoing internal links" per page. Export this and sort descending.
Flag any page with more than 50 total links (including navigation, footer, and sidebar links).
What to fix:
If a page exceeds 50 links, determine how many are template-based (navigation, footer) versus contextual (in-body links).
You can't easily reduce navigation links — but you can trim footer links and reduce contextual links on pages that have too many.
On the other end, flag pages with fewer than 3 outgoing internal links. These pages are hoarding equity instead of distributing it. Add 3-5 relevant contextual links.
Benchmark: 45-50 total links per page is optimal (Zyppy data). Below 10 outgoing links means the page is an equity dead-end. Above 50 means it's diluting authority.
Step 8: Verify Link Equity Flow
Link equity flows from pages with strong backlinks and high authority to the pages they link to.
An audit should verify this flow is intentional, not random.
How to check:
In Google Search Console, go to "Links" → "External Links" → "Top Linked Pages." These are your highest-authority pages.
Then check what internal links those pages contain. Are they linking to your priority pages (tools, services, pillar content)?
Or are they linking to low-value pages like tag archives and old news posts?
Also check for nofollow internal links in your crawl data. Internal links should almost always be dofollow.
Adding nofollow to internal links doesn't redirect equity elsewhere — it destroys the equity entirely. See why nofollow wastes equity on internal links for the full explanation.
Fix process:
Add 2-3 contextual internal links from your top 10 highest-authority pages to your priority pages.
Remove nofollow from any internal links (unless they point to login pages or user-generated content).
If high-authority pages link primarily to low-value destinations, add new links to shift equity toward pages that drive revenue.
Benchmark: Every priority page receives at least one link from a high-authority page. Zero unnecessary nofollow on internal links.
Step 9: Validate Topic Cluster Connections
If you're using topic clusters (and in 2026, you should be), your audit needs to verify that the cluster architecture is properly wired.
What to check:
Every cluster article links back to its pillar page. The pillar page links to every cluster article.
Cluster articles within the same topic link to 1-3 related clusters horizontally.
No cluster article is isolated — every piece connects both vertically (to the pillar) and horizontally (to siblings).
How to check:
Create a matrix in your spreadsheet. List pillar pages across the top and cluster articles down the side.
For each cell, mark whether a bidirectional link exists. Any empty cell is a broken connection in your cluster.
If you're not yet using topic clusters, our comparison of topic clusters vs silo structures explains which model fits your site.
The complete internal linking guide includes a full section on building clusters from scratch.
Benchmark: 100% bidirectional linking between pillars and their clusters. 2-3 horizontal links between related clusters. Zero isolated articles.
Step 10: Check AI Crawler Accessibility
This is the 2026 addition that no other audit guide covers.
AI search engines — ChatGPT, Perplexity, Claude, Gemini — crawl your site to build semantic models.
If they can't access your pages, you can't appear in AI-generated answers.
What to check:
Open your robots.txt file. Verify these user agents are NOT blocked: GPTBot (ChatGPT), ClaudeBot (Claude), PerplexityBot (Perplexity), Google-Extended (Gemini), Amazonbot, and anthropic-ai.
If any are blocked via Disallow, remove the restriction. Use the robots.txt generator to create an AI-friendly configuration.
Also review your anchor text with AI parsing in mind. According to Yoast's research, AI models use internal links as "context signals that shape how AI models understand your topics."
Descriptive, natural-language anchors ("learn how to fix orphan pages on your site") give AI models far more semantic context than keyword-only anchors ("orphan pages").
This is why the semantic anchor text guide matters specifically for AI optimization.
Benchmark: All major AI crawlers allowed. Anchor text is natural language, not keyword-stuffed. Important pages are reachable within 3 links so AI crawlers can find them within their crawl budget.
Your Complete Internal Link Audit Checklist
Use this as your monthly audit template. Check each item and mark the action needed:
β Crawl complete — Full site crawled with all link data exported
β Broken links — Zero internal links returning 404/5xx (fix or remove)
β Redirect chains — Zero chains; all redirects updated to final URLs
β Orphan pages — Every page has 3+ incoming internal links
β Crawl depth — All priority pages within 3 clicks of homepage
β Anchor text — No single anchor >15% per destination; zero generic anchors
β Link count — No page exceeds 50 total links; no page below 3 outgoing
β Equity flow — High-authority pages link to priority pages; zero internal nofollow
β Cluster integrity — 100% bidirectional pillar ↔ cluster links
β AI access — GPTBot, ClaudeBot, PerplexityBot allowed in robots.txt
β New content linked — All pages published this month received 3+ incoming links
β Changes documented — All fixes tracked in spreadsheet with before/after
For the original condensed version of this checklist, see the AI-ready internal link audit checklist.
That version is a quick-reference card; this guide is the detailed walkthrough behind each item.
Common Audit Findings and Fix Priority
After running hundreds of audits, these are the issues I find most often, ordered by impact:
Priority 1 (fix immediately): Broken links to priority pages. These directly prevent equity from reaching your money pages. Orphan pages that should be ranking. If the page targets a valuable keyword and has zero incoming links, it's dead on arrival.
Priority 2 (fix this week): Redirect chains longer than 2 hops. Generic anchor text on links to priority pages. Priority pages buried at crawl depth 4+.
Priority 3 (fix this month): Anchor text over-optimization on any single page. Pages with more than 50 links (trim footer/sidebar links first). Missing horizontal cluster links. Nofollow on internal links.
Priority 4 (ongoing maintenance): New content not linked from existing pages. Old content not linking to new pages. Anchor diversity below 30% for any destination. AI crawler blocks in robots.txt.
How Often Should You Audit?
The right frequency depends on how much content you publish.
- Sites publishing 1-4 articles per month: full audit quarterly, broken link check monthly.
- Sites publishing weekly: full audit monthly.
- Sites publishing daily: automated broken link monitoring plus monthly manual audit of anchor text, clusters, and equity flow.
At minimum, run the internal link checker monthly.
It takes 2 minutes to start a crawl and 10 minutes to review the word cloud and link data.
That 12-minute investment catches problems before they compound.
Frequently Asked Questions
How often should you do an internal link audit?
Monthly at minimum. Run a broken link check every 30 days and a full 10-step audit quarterly.
Sites publishing content daily should automate broken link detection and audit manually for anchor text, clusters, and equity flow every month.
What tools can I use for a free internal link audit?
The SEOShouts Internal Link Checker crawls up to 500 pages for free and includes a visual anchor text word cloud.
Google Search Console shows internal link counts at no cost.
Screaming Frog's free version crawls up to 500 URLs with full data export. Together, these three tools cover everything you need for a complete audit.
What is an orphan page and how do I find one?
An orphan page has zero internal links pointing to it from other pages on your site.
Find orphans by comparing your sitemap URLs against your crawl data — any URL present in the sitemap but not found during the crawl is likely orphaned.
Add at least 3 relevant internal links from existing content to fix each orphan. See our orphan pages guide for the complete process.
How many internal links should each page have?
The Zyppy study of 23 million internal links found that 45-50 total links per page is the peak traffic zone. Beyond 50, traffic declines.
For body content specifically, aim for 3-5 contextual links per 1,000 words.
Our guide on how many internal links per page breaks down the math for different site sizes.
Can a bad internal link structure hurt rankings?
Yes. Broken links waste crawl budget, orphan pages never get indexed, redirect chains dilute equity, and over-optimized anchor text triggers spam signals.
Research shows that sites with 50+ broken internal links can see 15-20% visibility drops.




