Skip to content
Get Seen Online

5 November 2010 · 9 min read

How to build a solid site structure for SEO

Site architecture is decided early and expensive to change later. How to plan hierarchy, URLs, internal linking and topic clusters so your content has somewhere sensible to live.

Originally published 5 November 2010. Reviewed and rewritten 1 September 2026 to reflect how search works now.

Site structure is one of the few SEO decisions that’s genuinely hard to reverse. Content can be rewritten in an afternoon. Links accumulate over years. But how your pages relate to one another is set during design, and by the time it’s obviously wrong, changing it means URL migrations, redirect maps and a period of uncertainty nobody enjoys.

Which is why it’s worth thinking about before the site is built rather than after.

This article is about architecture: hierarchy, URLs and internal linking. For the technical side of making a site crawlable, see SEO website structure optimisation.

Plan it before you build, not after

Waiting until a website is finished before thinking about search is a costly, frustrating and entirely avoidable mistake.

By then the navigation is set, the URL patterns are baked into the CMS, the content has been written to fill a design rather than to answer a question, and every fix is a retrofit. The same decisions made three weeks earlier would have cost nothing.

Hierarchy: shallow, logical, and honest

The aim is that any page can be reached from the homepage in about three clicks, and that where a page sits tells you what it’s about.

A sound structure looks roughly like:

Home
├── Services
│   ├── Service A
│   ├── Service B
│   └── Service C
├── Case Studies
│   └── Individual studies
├── Blog
│   └── Individual posts
├── About
└── Contact

Boring, and that’s the point. A visitor can predict where things are, and so can a crawler.

Two failure modes to avoid.

Too flat. Every page hanging off the homepage with no grouping. Works at twelve pages, collapses at eighty. Nothing indicates which pages are important or how they relate.

Too deep. Content buried four or five levels down. Each level dilutes the authority reaching a page and increases the chance it’s crawled rarely or not at all.

URL structure

A few rules that age well:

Short and readable. /services/seo beats /services/search-engine-optimisation-services-for-business.

Words, not IDs. /blog/how-much-does-seo-cost beats /?p=1847.

Hyphens between words. Not underscores, not run together.

Lowercase, consistently. Some servers treat case as significant, which is a genuinely annoying way to create duplicate pages.

Stable. Every change costs a redirect and a little signal. Choose once.

Careful with categories in the path. /category/subcategory/page looks tidy and creates a permanent obligation: recategorise anything and its URL changes. For a blog especially, a flat /blog/post-name is usually the better long-term choice.

That last point comes from experience. We recently rebuilt this very site and moved every post from a category-prefixed path to a flat one, precisely because the category prefix had locked in a decision made fifteen years earlier that no longer fitted the business.

Keywords in URLs are a very minor ranking factor now. They’re worth including because they help humans understand a link before clicking it, which is a decent reason on its own.

Internal linking is the underrated part

Internal linking is the most controllable, least glamorous and most consistently under-used tool in SEO.

Every internal link does two things: it passes authority, and it tells search engines what the target page is about via the anchor text.

Link from strong pages to important ones. Your homepage and most-linked articles have authority to distribute. Directing some of it at your commercial pages is free and immediate.

Use descriptive anchor text. “Read more” tells a crawler nothing. “How we approach technical SEO audits” tells it a great deal.

Link across the site, not just down it. Related services should reference each other. Articles on adjacent topics should connect. Navigation handles the vertical relationships; body-copy links handle everything else.

Don’t orphan pages. A page with no internal links pointing at it’s nearly invisible. It happens constantly with older blog posts.

Keep it natural. Every link should be one a reader might genuinely want to follow.

Topic clusters

The pattern that most reliably works for content: a substantial pillar page covering a broad topic thoroughly, surrounded by focused articles each covering one sub-topic in depth, all linking to the pillar and the pillar linking back.

It works because it demonstrates coverage of a subject rather than a scattering of unconnected pages, and because it concentrates authority on the page you most want ranking instead of spreading it thinly across everything.

The alternative, publishing whatever comes to mind each month, produces a blog where every post competes with every other and none of them is the definitive answer to anything.

Your main navigation is your strongest statement about what matters. Everything in it receives a link from every page on the site.

Which means it should contain the pages that earn revenue, not everything you offer. If there are twenty-five services, the navigation should present the categories and let the deeper pages sit under them.

Some practicalities: use real HTML links, since navigation assembled entirely in JavaScript is a needless risk; ensure the mobile navigation contains the same links as desktop; and add breadcrumbs on deeper pages, because they help visitors, reinforce the hierarchy, and can appear in the results page itself.

Avoid building it in ways crawlers struggle with

The old advice was to avoid Flash and JavaScript navigation. Flash is dead; the underlying principle isn’t.

Search engines can execute JavaScript now, but it costs them time and it doesn’t always work reliably. Content and links that exist in the initial HTML are found immediately and without ambiguity. Content that appears only after a framework boots is found eventually, sometimes.

If it matters for search, put it in the HTML.

When you get this wrong

You end up with pages nobody can find, competing pages splitting the same keyword, authority accumulating on a homepage and going nowhere, and a blog of two hundred posts that no longer contains anything findable.

All fixable, all considerably cheaper to avoid.

If you’d like someone to look at how yours is put together, get in touch.

Keep reading

All articles

Where this fits

The services this article relates to

Ready to stop guessing and start getting enquiries?

Tell us about your site and we'll show you, in plain terms, where you're losing visibility. No obligation, no jargon.

Get your free visibility audit