Flat vs. Deep Site Architecture: A Practical Decision Framework

Not the why — the how. A decision framework for figuring out how flat or deep your specific site should be, how to measure where it currently sits, and how to fix it: page-count rules of thumb, a click-depth audit, and hub-page remediation.

First published: Jul 3, 2026 · Last updated: Jul 18, 2026 · Advanced
demand #17 in Website Structure#285 in Technical SEO#381 on the site

This is the operator's-manual companion to the pyramid-vs-flat concept covered elsewhere in this cluster — it doesn't re-argue that a pyramid beats both extremes, it helps you decide how flat or deep your specific site should be. The right depth is mostly a function of how distinct your categories are (and the templates, priority, and update patterns behind them) — page count is a secondary, rough signal, not a law: a ~50-page brochure site can usually stay flat, a 10,000+ SKU catalog usually needs real hierarchy or it collapses into a mega-menu link dump, but treat both bands as heuristics to calibrate, not fixed cutoffs. Only Bing states a hard number (important pages within ~3 clicks) as an operational target, not a guarantee; Google deliberately states none. Measure where you sit by crawling for a segmented click-depth distribution and cautiously cross-referencing GSC Crawl Stats (aggregate first-party data, not proof of a per-URL cause) to spot the depth cliff where crawling falls off. Fix depth with hub pages, related-content modules, and breadcrumbs, treating each change as reversible and testable with a monitoring window — and remember URL-folder depth isn't click depth, so link a buried page closer rather than rewriting its URL. No architecture change guarantees crawling, indexing, ranking, traffic, or AI-citation gains.

TL;DR — This is the “how do I decide and act” companion to the conceptual pyramid-vs-flat coverage already in this cluster — I’m not re-arguing why a pyramid beats both extremes. Depth should scale mostly with (a) how distinct the natural categories, templates, and update patterns are, and secondarily with (b) how many pages need their own findable URL. Rough shape, as heuristics you calibrate rather than fixed cutoffs: ~50-page brochure site → flat; a few thousand pages → shallow pyramid, 2–3 levels; 10,000+ SKUs → multi-level hierarchy with hub pages, or you get the mega-menu link-dump failure mode. Google does not set a maximum number of clicks. Measure by crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. for a segmented click-depth distribution (by template and priority, not a sitewide average), then cautiously cross-reference GSC Crawl StatsA Google Search Console report (under Settings) that shows how Google has crawled your site over the last 90 days — total requests, download size, and average response time, broken down by response code, file type, Googlebot type, and purpose. It's only available for root-level properties (a Domain property or a URL-prefix property verified at the site's root). — aggregate first-party data, not per-URL proof — to find the depth cliff where crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. drops off. Fix with hub pages (the highest-ROI move), related-content modules, and breadcrumbsBreadcrumbs are a secondary navigation trail (Home > Category > Page) that shows where a page sits in a site's hierarchy. They create internal links that pass PageRank, and when marked up with BreadcrumbList structured data they can drive the path Google shows in desktop search results., testing each change against a comparison segment with a monitoring window and a rollback trigger. URL-folder depth ≠ click depthCrawl depth usually means click depth — how many clicks it takes to reach a page from the homepage by following internal links. It can also mean a crawler setting that limits how many levels deep a crawl goes before it stops. — link a buried page closer rather than rewriting its URL. None of this guarantees crawling, indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., ranking, traffic, or AI-citation gains.

Evidence for this claim Googlebot generally follows links between pages; important pages should be reachable through crawlable navigation rather than relying only on search boxes. Scope: Current Google ecommerce navigation guidance; no universal click-count threshold. Confidence: high · Verified: Google Search Central: Ecommerce navigation structure Evidence for this claim Google recommends linking important pages from relevant pages and using concise, descriptive anchor text. Scope: Current Google internal-link guidance. Confidence: high · Verified: Google Search Central: Link best practices

This isn’t the “why” article

Two other pieces in this cluster already own the conceptual case. Site architectureSite architecture is how a website's pages are organized, categorized, and interlinked. It controls how crawlers discover pages, how link equity flows, and how clearly search engines understand each page's topical context. Silo structure, hub and spoke, and topic clusters are the three common models. covers flat vs. deep hierarchies as one of the failure modes at the extremes, and website structureWebsite structure (site architecture) is a site's visible hierarchy, navigation, breadcrumbs, and URL organization — how pages relate and how people and search engines move between them. Internal linking is the primary signal Google reads to understand that structure, not URL folders. makes the pyramid-beats-both-extremes argument with Mueller’s quotes about context, crawling, and mega menusA mega menu is a large, categorized navigation panel — usually opened by hover or click on a top-level nav item — that surfaces many links at once, grouped into columns instead of the single list a standard dropdown shows.. I’m not going to re-derive any of that here or re-run those quotes as the centerpiece. If you want the why, read those first.

What neither covers — and what people planning a new site, replatforming, or auditing an existing one actually need — is the operator’s manual: for my specific site, how many levels should I have, how do I measure where I currently sit, and how do I fix it when it’s wrong? That’s this article. The centerpiece is the decision tree in the Decision Tree tab; everything below is the reasoning and workflow behind it.

Depth is a function of category distinctness and size

There is no fixed right answer, and anyone who hands you one (I’ve seen “always flat,” “always three clicks,” “never more than two subcategory levels”) is selling a house style as a law. The honest framing is that hierarchy depth should scale with two independent variables — lead with the first, since it’s the one SEO-only advice usually skips:

  1. How distinct or overlapping the natural categories are, and what task the user is on. Nielsen Norman Group’s research on flat vs. deep website hierarchies nails it: “Flat hierarchies tend to work well if you have distinct, recognizable categories, because people don’t have to click through as many levels,” and “Categories that are specific and do not overlap are the easiest to understand.” Their bottom line matches the whole spirit of this framework: “Like most design questions, there’s no single right answer, and going too far to either extreme will backfire.” Also weigh which template a page uses, how important it is to the business, and how often that section updates (Illyes’ /news/ vs. /archives/ point below) — these matter as much as a raw page count.
  2. How many distinct items need their own findable page. Forty pages and 20,000 products are different problems, but page count on its own is a rough signal, not the deciding factor — a small site with badly overlapping categories can need more structure than a larger one with clean, distinct sections.

Google’s own guidance points the same direction on the size axis. Gary Illyes has said hierarchy should scale with the site — that for a large site it’s “likely better to have a hierarchical structure” because it lets search engines “treat different sections differently, especially when it comes to crawling,” and that if you “put everything in one directory, that’s hardly possible.” (Reported by Search Engine Journal; I’d treat the exact wording as trade-press transcription rather than a canonical doc.) That’s the load-bearing point for the large-catalog end of the framework: size forces hierarchy.

Page-count rules of thumb

Nobody — not Google, not Bing — publishes a page-count-to-levels table, and no dated study ties the ~50-page or 10,000+-page bands below to a specific site population. Treat these as practitioner heuristics you calibrate to your own site, not verified universal cutoffs — category distinctness, templates, and update patterns (above) should move you off these bands in either direction:

  • Small / brochure sites (roughly under 50–100 pages, few natural categories): stay flat. Homepage → one level of section/category → pages, with most content one or two clicks deep. Bing’s three-click figure is your outer bound, and you’ll almost never hit it. NN/g’s “distinct categories work well flat” applies directly here.
  • Mid-size content sites (a few hundred to a few thousand pages, several genuinely distinct topic areas): a shallow pyramid — homepage → category → optional subcategory → page, most content within three clicks. This is the sweet spot the cluster’s conceptual pieces describe, and it’s where this very site sits.
  • Large ecommerce catalogs, enterprise sites, publisher archives (10,000+ pages or SKUs): hierarchy stops being an aesthetic choice and becomes a necessity. You need enough levels — top-level category → subcategory → (sometimes a filtered/facet layer) → product — that you’re not trying to expose the entire catalog from one navigation surface. The classic failure here is over-flattening a huge catalog into a mega menuA mega menu is a large, categorized navigation panel — usually opened by hover or click on a top-level nav item — that surfaces many links at once, grouped into columns instead of the single list a standard dropdown shows. that dumps hundreds of links one click from the homepage; the mega-menu topic in the ecommerce cluster covers why that strips the grouping signals search engines rely on. The corrective isn’t “add infinite depth” — it’s “add enough hierarchy to organize the catalog, then use hub pages to keep priority items reachable in three-to-four clicks anyway.”

You’ll see competitor guides assert crisp numbers here (“flat = 3 clicks or fewer,” “keep subcategories to 2–3 levels,” “8 top-level categories × 4–8 subcategories”). Those are useful as industry consensus — the SEO field’s de facto defaults — but they’re not sourced to any search engine, so label them that way in your own head. The uncontroversial, well-supported shape is simply: small catalog → flat, large catalog → more hierarchy.

URL depth is not click depth (a reminder, not a re-derivation)

The url-structure and website-structure articles in this cluster already establish the key fact: Google reads the link graph, not the slashes in your URLs. I’m not re-arguing it. The reason it belongs here is purely operational, because it changes how you fix a depth problem.

A URL like /category/subcategory/product/ looks three levels deep, but if a hub page links to it directly, it’s one click from the homepage. Conversely, a page with a short, tidy URL can be buried six clicks deep with no hub linking to it. So two rules fall out for remediation:

  • Don’t “fix” click depth by rewriting URLs flatter. Stripping folders out of the address while the link graph stays deep does nothing.
  • Do fix it by linking the page closer. Add or strengthen a hub link from a shallower level. The URL can stay exactly as it is.

That distinction is what makes the worked example later (six clicks → three, without renaming anything) possible.

Auditing your current depth, in order

You can’t decide where to go without knowing where you are. Three steps:

1. Get the click-depth distribution from a crawl, segmented, not averaged. Run Ahrefs Site Audit (its Structure Explorer / depth view) or Screaming Frog (the Site Structure tab and the Crawl DepthCrawl depth usually means click depth — how many clicks it takes to reach a page from the homepage by following internal links. It can also mean a crawler setting that limits how many levels deep a crawl goes before it stops. column) and look at what percentage of your pages sit at depth 1, 2, 3, and 4+. Don’t stop at the sitewide number — break it out by template, page purpose, business priority, and discovery source (internal linkAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. vs. sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.-only). See the crawl depthCrawl depth usually means click depth — how many clicks it takes to reach a page from the homepage by following internal links. It can also mean a crawler setting that limits how many levels deep a crawl goes before it stops. article for the URL-level measurement mechanics. This is your ground-truth map of how deep the site actually is in the link graph — not in the URLs. A healthy site has its priority pages, specifically, concentrated in the shallow buckets; a good overall average can still hide a buried revenue template.

2. Cross-reference with GSC Crawl Stats — cautiously. The crawl tells you how deep pages are; Google’s Crawl Stats report tells you what Google is actually choosing to crawl, and how often. It splits requests into Discovery (URLs Google hadn’t crawled before) and Refresh (recrawls of known pages). Treat Crawl Stats as aggregate, sitewide, first-party data — it isn’t a per-URL log, so it can’t by itself prove that any single page or segment is suffering from depth specifically. The practical read — this is practitioner interpretation, not a Google statement: if Discovery stays near zero while you keep publishing, your internal linkingLinks between pages on the same site. isn’t surfacing new or deep pages to the crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index.; if Refresh drops sharply without pages being removed, something structural is suppressing recrawls. Almost no competitor guide connects the crawler’s depth data to GSC’s crawl data, and the join is where the insight lives — but treat it as a hypothesis to test (compare a segment you changed against a similar segment you didn’t), not a proof on its own.

3. Find the depth cliff. Overlay the two: the depth level where crawl frequencyCrawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial. and coverage fall off a cliff is the practical, measured definition of “too deep” for your site — far more useful than any generic number. You’re not guessing that depth 5 is bad; you’re observing that on your site, crawling collapses past depth 4 for a specific segment. (Note: you’ll find secondary content claiming things like “pages get crawled 5–10× less at depth 5.” I couldn’t source that to any primary Google material, so I won’t present it as a stat — measure your own cliff instead, and hold it to a comparison group before you act on it.)

Fixing depth problems

In rough priority order:

  • Hub / category pages — the single highest-ROI fix. Add or strengthen a mid-level page that both humans and crawlers can use to reach buried content in fewer clicks. It shortens click depth without touching URLs. This is almost always the first move.
  • Related-content modules. End-of-article and sidebar links create additional paths to deep pages. They’re a weaker signal than body-content links (Google tries to identify a page’s primary content area and weights contextual links above navigational “module” links — I’d treat that as a well-attested read of Mueller’s position rather than a verbatim quote), but at scale, more real paths to deep pages genuinely help.
  • BreadcrumbsBreadcrumbs are a secondary navigation trail (Home > Category > Page) that shows where a page sits in a site's hierarchy. They create internal links that pass PageRank, and when marked up with BreadcrumbList structured data they can drive the path Google shows in desktop search results.. They reinforce hierarchy for users and search engines, and the machine-readable version is BreadcrumbList structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding.. Google’s own line: “A breadcrumb trail on a page indicates the page’s position in the site hierarchy, and it may help users understand and explore a site effectively.” (See the breadcrumbs article in this cluster for the markup.)
  • PaginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does. — mind how it interacts with depth. The pagination article in this cluster covers the mechanics; the depth-specific point is that a paginated listing is itself a crawl path (page 1 → 2 → 3 …), so a product or article that only appears on page 4+ of a category listing inherits real extra click depth. Don’t rely on deep pagination to carry your priority items — surface them via a hub or related module instead, and keep the pagination self-canonicalizing so the path stays open.

One nuance worth holding onto: depth is a risk factor, not an automatic penalty. A technically deep page can still get crawled fine if it has strong external links or lives in a frequently-updated, well-organized directory (Illyes’ /news/ example). That’s exactly why the depth-cliff measurement beats assuming by depth number alone.

None of these fixes can promise crawling, indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., rankings, traffic, or AI-citation gains — depth is one input among many. Treat each change as reversible and testable: pick a comparison segment you’re not changing, set a monitoring window (a few crawl/recrawl cycles is usually enough to see a directional shift in Discovery/Refresh or the depth distribution), and define a rollback trigger up front — if a hub page adds clicks for some users without shortening the crawl path you were targeting, unwind it rather than layering more changes on top. See the Validation Tests tab for the fuller test/ monitor/rollback table.

Worked example: six clicks to three

Take a product buried like this: Home → top category → subcategory → sub-subcategory → listing page 3 → product. That’s six clicks. It’s a genuinely important product, but the crawler has to traverse a deep listing to reach it, and it’s getting recrawled rarely.

The fix isn’t a re-architecture and it isn’t a URL change. Add a hub / landing page one level below the homepage — say a “Best Sellers” or seasonal collection page — and link the product directly from it: Home → collection hub → product. Now it’s three clicks. The URL never changed (reinforcing that click depth, not URL depth, was the problem), and you’ve added a shallow, high-value path that both users and crawlers can follow. That single hub page can do the same job for a whole batch of buried priority items at once.

When “get everything crawled” isn’t the goal

A closing reframe I keep coming back to in my crawl-budget writing: more crawling doesn’t mean better rankings. But a page that never gets crawled can’t rank at all — and the pages that go uncrawled tend to be exactly the newer, poorly-linked, deep ones this framework is about. Most sites don’t need to obsess over crawl budgetThe number of URLs an engine will crawl in a timeframe.; Google’s own guidance says the sites that do are roughly the 1M+ page sites changing weekly or ~10K-page sites changing daily. For everyone else, depth is a findability and signal-passing concern, not a crawl-budget emergency — but the fix (link priority pages shallower) is the same either way.

The neighboring topics — how internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. pass signals, how crawl depth affects discovery, breadcrumbs, pagination, and the site-architecture models — all plug into the decisions in the tree below.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.