Crawl depth measures how many clicks it takes to reach a page from the homepage. Pages buried 4 or more clicks deep get crawled less frequently, indexed more slowly, and accumulate less PageRank. For most sites, every important page should be reachable within 3 clicks.
Why Crawl Depth Matters
Google allocates a crawl budget to every site. Pages closer to the homepage receive more frequent crawls because:
- Link equity flows downward: Each additional click dilutes the PageRank passed from the homepage
- Crawl frequency decreases with depth: Googlebot prioritizes shallow pages, and may not reach deep pages for weeks
- Discovery is harder: Pages at depth 5+ often go unindexed entirely because the crawler exhausts its budget before reaching them
Crawl Depth Benchmarks
| Depth | Classification | Crawl Frequency | Action |
|---|---|---|---|
| 0 | Homepage | Daily | N/A |
| 1 | Top-level pages | Daily-Weekly | Ideal for primary categories |
| 2 | Category/section pages | Weekly | Target for most content |
| 3 | Deep content pages | Weekly-Monthly | Maximum acceptable depth |
| 4+ | Buried pages | Monthly or never | Needs restructuring |
Auditing Crawl Depth
Screaming Frog
- Crawl your site with Screaming Frog Spider
- Navigate to Internal > Crawl Depth tab
- Filter to show pages at depth 4+
- Export and cross-reference with Google Search Console indexation data
Search Console Inspection
For specific pages, use the URL Inspection tool in Search Console. The "Crawl" section shows the last crawl date. Pages at excessive depth will show stale crawl dates (30+ days old).
Script-Based Audit
# Analyze crawl depth from a Screaming Frog export
import pandas as pd
df = pd.read_csv('internal_all.csv')
depth_summary = df.groupby('Crawl Depth').agg(
pages=('Address', 'count'),
avg_inlinks=('Inlinks', 'mean')
).reset_index()
print(depth_summary)
# Flag pages deeper than 3
deep_pages = df[df['Crawl Depth'] > 3][['Address', 'Crawl Depth', 'Inlinks']]
print(f"\nPages at depth 4+: {len(deep_pages)}")
deep_pages.to_csv('deep_pages_to_fix.csv', index=False)
Reducing Crawl Depth
Flatten Site Architecture
Restructure navigation so that category pages link directly to content:
BEFORE (depth 5):
Homepage > Category > Subcategory > Sub-subcategory > Article > Related Article
AFTER (depth 3):
Homepage > Category > Article
Homepage > Category > Subcategory > Article
Add Internal Links from High-Authority Pages
Identify your top 20 pages by internal PageRank (or inlinks) in Screaming Frog. Add contextual links from these pages to your deep content:
- Add "Related articles" sections to high-traffic blog posts
- Include contextual links within body content (not just sidebars or footers)
- Create hub pages that link to all content within a topic cluster
Improve Navigation and Breadcrumbs
<!-- Breadcrumbs reduce effective crawl depth -->
<nav aria-label="Breadcrumb">
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="/"><span itemprop="name">Home</span></a>
<meta itemprop="position" content="1" />
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="/guides/"><span itemprop="name">Guides</span></a>
<meta itemprop="position" content="2" />
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<span itemprop="name">Current Article</span>
<meta itemprop="position" content="3" />
</li>
</ol>
</nav>
Use HTML Sitemaps
An HTML sitemap page linked from the footer provides a depth-1 path to every important page on the site, regardless of where it sits in the navigation hierarchy. This is distinct from the XML sitemap and serves both users and crawlers.
Pagination and Crawl Depth
Paginated content (blog archives, product listings) is a common source of depth inflation. Page 50 of a blog archive may be at depth 52.
Fix with strategic pagination links:
- Link to first, last, and every 10th page from the archive root
- Use
rel="next"andrel="prev"to help crawlers understand the sequence - Consider infinite scroll with progressive URL updates for user experience while maintaining paginated URLs for crawlers
Monitoring
- Run a full-site crawl monthly and track the percentage of pages at depth 4+
- Target: 95% of indexable pages at depth 3 or less
- Alert on any new URL pattern that appears at depth 5+
- Cross-reference crawl depth data with Search Console's "Pages" report to identify correlation between depth and index status