To structure an ecommerce site for SEO, build a shallow, logical hierarchy. That means homepage, then categories, then subcategories (only where you need them), then products. Every product should be reachable within about three clicks of the homepage. Name and group your categories around the words customers actually search for. Use short, readable URLs, add breadcrumbs, and control your filters so they don't create thousands of near-duplicate pages. Then link it all together so your most important categories get the most internal links.
That is the short answer. The rest of this guide covers how to do each part properly, the decisions you'll face along the way (product URLs, filters, pagination, out-of-stock items), a worked example, and the mistakes we see most often when small shops ask us to look at their site.
Why site structure matters so much for online shops
A brochure website might have 15 pages. An online shop can have hundreds or thousands, plus filter combinations that multiply that number further. Structure is how you stop that size working against you.
Good structure does four jobs at once:
- It helps Google find everything. Search engines discover pages by following links. If a product is buried six levels deep, or only reachable through a search box, it may be crawled rarely or not at all.
- It tells Google what each page is about. A category called "Oak Dining Tables" sitting under "Dining Room Furniture" sends a much clearer signal than a page called "Collection 14".
- It spreads authority sensibly. Your homepage usually earns the most links from other sites. Internal links pass some of that value down to categories and products. A clear hierarchy means it flows to the pages that need it.
- It helps people buy. Shoppers who can find what they want in a couple of clicks are more likely to stay and check out. What helps shoppers and what helps search engines line up closely here.
Key point: For most online shops, category pages are the pages that rank for the valuable searches, so your structure should be built around them, not around your product database.
Start with keyword research, not your stock list
The most common mistake is to build categories around how the business thinks about its stock (supplier names, internal codes, warehouse groupings) rather than how customers search. Before you touch your menu, find out which terms people actually use.
If you sell men's footwear, you might find people search for "men's walking boots", "men's chelsea boots" and "wide fit men's shoes". Each of those is a strong candidate for its own category or subcategory, because there is real demand behind it. Our guide on how to do keyword research for SEO walks through a simple workflow you can follow.
As you research, sort terms into three buckets:
- Broad category terms such as "garden furniture" or "running shoes". These become top-level categories.
- Specific category terms such as "rattan garden sofas" or "trail running shoes". These become subcategories or indexable filter pages.
- Product and brand terms such as a specific model name. These map to product pages.
Questions and comparison searches ("what size garden table for six people") usually belong in supporting content such as buying guides, which then link to the relevant category.
Flat versus deep: how many levels should you have?
You'll hear people say "keep your site flat". That is broadly right, but flat taken to an extreme causes its own problems. The aim is balance: few enough levels that everything is easy to reach, enough levels that groupings still make sense.
| Approach | What it looks like | Strengths | Risks |
|---|---|---|---|
| Too flat | Homepage links straight to 40 categories, no subcategories | Everything is close to the homepage | Weak topical grouping, cluttered menus, categories too broad to rank for specific terms |
| Balanced | Home, 5 to 10 main categories, subcategories where demand exists, products | Clear relevance, products within about three clicks, easy to navigate | Needs planning and occasional review as the range grows |
| Too deep | Home, department, category, subcategory, sub-subcategory, product | Very granular grouping | Products buried, thin categories with few items, authority diluted, crawling less efficient |
A useful rule of thumb: only create a subcategory if there is search demand for it and you have enough products to fill it. A subcategory with two products rarely ranks and often frustrates shoppers.
The building blocks of a well-structured shop
Every ecommerce site, whatever the platform, is built from the same basic page types. Each has a distinct job.
Homepage
Links to your main categories and any priority ranges. It is usually your strongest page, so use it to point authority where you need it most.
Category pages
Target broad, high-value searches. They need a clear heading, a short useful introduction, the product grid, and links to subcategories.
Subcategory pages
Target more specific searches. Same principles as categories, narrower focus, and a clear link back up to the parent.
Product pages
Target product, model and brand searches. Unique descriptions, specifications, reviews and links to related items matter here.
Supporting content
Buying guides, size guides and comparisons that answer questions and link through to the right categories.
Trust and info pages
Delivery, returns, contact and about pages. Not huge ranking pages, but they support confidence and conversions.
How to get your URL structure right
URLs are a small ranking factor, but they matter for clarity, for sharing and for keeping your site tidy as it grows. Good ecommerce URLs are:
- Short and readable: /garden-furniture/rattan-sofas/ beats /index.php?cat=14&sub=3.
- Lowercase, with hyphens between words. No underscores, spaces or capitals.
- Free of unnecessary IDs and dates where your platform allows.
- Stable. Once a URL is live and ranking, changing it means setting up redirects. Pick a pattern and stick with it.
Should product URLs include the category?
This is one of the most common questions we get. There are two options:
- With category: /garden-furniture/rattan-sofas/milan-3-seater/
- Without category: /products/milan-3-seater/ or /milan-3-seater/
Including the category looks neat, but it causes trouble when a product sits in more than one category. You can end up with the same product at two or three URLs, which creates duplicate content. It also means moving a product between categories changes its URL.
For most small shops, a product URL that doesn't depend on the category is the safer choice. Breadcrumbs and internal links can still show the hierarchy clearly, without tying the URL to it.
A note on Shopify and WooCommerce
Shopify uses fixed patterns: /collections/ for categories and /products/ for products. You can't remove these, and that's fine. Google copes perfectly well with them. The thing to watch on Shopify is that products can also be reached through collection paths (such as /collections/sofas/products/milan-3-seater). Shopify adds a canonical tag pointing to the main /products/ URL. Even so, it's worth making sure your theme's internal links point to the canonical version, so you aren't sending crawlers to duplicates.
WooCommerce lets you change the product and category bases in the permalink settings. Decide on these before launch if you can, because changing them later affects every URL on the site.
Navigation: menus, breadcrumbs and footers
Main menu
Your main navigation is the backbone of your internal linking, because it appears on every page. Put your main categories here, and your key subcategories if you use a dropdown or mega menu.
Resist the urge to link to everything. A menu with 200 links is hard for shoppers to use, and it spreads your internal authority so thinly that nothing stands out. Prioritise the categories that matter commercially and have search demand.
Make sure your menu links are standard HTML links that work without clicks or hover events firing JavaScript. If the links only appear after a script runs, there's a risk search engines don't see them properly. You can check by viewing the page source or using the URL Inspection tool in Google Search Console.
Breadcrumbs
Breadcrumbs (Home > Garden Furniture > Rattan Sofas > Milan 3 Seater) are one of the most useful structural features on an online shop. They:
- Show shoppers where they are and let them step back up a level.
- Add internal links from every product to its parent categories.
- Help Google understand your hierarchy.
Add BreadcrumbList structured data too. Most modern themes and SEO plugins can do this, and Google may show the breadcrumb trail in search results instead of a raw URL.
Footer
Use the footer for delivery, returns, contact and a handful of key categories. Don't stuff it with dozens of keyword-heavy links. That looks spammy to shoppers and adds little value.
Faceted navigation: the biggest structural risk on most shops
Filters (size, colour, price, brand, material, rating) are brilliant for shoppers. They are also the single most common cause of SEO problems on ecommerce sites.
The issue is maths. If a category has five filter types with ten options each, the possible combinations run into the tens of thousands. If every combination creates a crawlable URL, Google can spend its time crawling endless near-identical pages instead of your real categories and products. You can also end up with lots of thin, duplicate pages in the index.
The fix is to decide deliberately which filter combinations deserve to be real, indexable pages and which should stay out of the index.
Which filters should be indexable?
A filtered page earns its place in the index when:
- There is genuine search demand for it (for example, "grey rattan corner sofa").
- It shows a meaningful number of products.
- You can give it a unique heading, title and a short introduction.
Often the best approach is to turn those high-value combinations into proper subcategories or landing pages with clean URLs, and treat the rest as normal filters that don't get indexed.
| Filter type | Typical example | Usual treatment |
|---|---|---|
| High-demand attribute | Material, style, a key colour | Make it an indexable page or subcategory with its own title and intro, if search demand exists |
| Brand within category | Category filtered by a well-known brand | Often worth indexing where people search for that brand plus product type |
| Size | UK 9, medium, 180cm | Usually not indexed, unless a specific size has clear demand (such as "king size") |
| Price range | £50 to £100 | Not indexed, very little search demand |
| Sorting | Price low to high, newest | Never indexed, canonical to the unsorted page |
| Multiple filters stacked | Colour plus size plus price | Not indexed, and ideally not crawlable |
The tools for controlling filters
There are a few ways to keep unwanted filter pages under control. Each does something different, so it helps to know which is which:
- Canonical tags tell Google which version of a page you consider the main one. Use them for sorted views and minor variations that are essentially duplicates. Google treats canonicals as a strong hint, not a command.
- Noindex tells Google not to show a page in search results. The page can still be crawled.
- Robots.txt disallow stops crawling of matching URLs. This is useful for keeping crawlers away from huge sets of parameter URLs. The catch is that Google can't see a noindex tag on a page it isn't allowed to crawl, so don't block a page in robots.txt and expect its noindex to work.
- Not creating links to them at all, for example by applying low-value filters without generating new crawlable URLs. This is often the cleanest option, but it usually needs developer input.
Google retired the URL Parameters tool in Search Console a few years ago, so you can't rely on it to tidy up filters. Handle it on the site itself.
Key point: Decide on purpose which filter pages should rank, give those pages real titles and content, and keep everything else out of the index.
Pagination on category pages
Larger categories split products across several pages. Handle this carefully, because the products on page 4 still need to be discovered.
- Use real, crawlable links to each page (?page=2, ?page=3 or /page/2/).
- Give each paginated page a self-referencing canonical. Don't point page 2 and 3 back to page 1, because that can stop Google valuing the products listed on them.
- Don't rely on infinite scroll or "load more" alone. If you use them, make sure there are paginated URLs behind them that work without JavaScript.
- Consider how many products show per page. Showing more per page reduces pagination depth, as long as the page still loads quickly.
Google confirmed some time ago that it no longer uses the rel="next" and rel="prev" tags for indexing. They do no harm, but don't rely on them.
Products in multiple categories and product variants
One product, several categories
It's perfectly normal for a product to appear in more than one category. A grey rattan sofa might sit under "Rattan Sofas", "Corner Sofas" and "Sale". That's fine for shoppers. The SEO rule is simple: the product should have one canonical URL, and every category should link to that same URL.
Colour and size variants
For most products, variants such as size and colour belong on a single product page with selectors. This concentrates reviews, links and authority on one URL.
The exception is when a variant has its own clear search demand and is genuinely different. For example, a product might be searched for by colour name often enough to justify its own page. If you do split variants into separate pages, each needs unique content, not just a different colour swatch, or you're back to duplicate content.
Give category pages something to rank with
A category page that's just a product grid and a heading can struggle to compete. You don't need an essay, and you definitely shouldn't bury the products under 1,000 words of filler. What helps is:
- A clear H1 that matches the main search term ("Rattan Garden Sofas").
- A short introduction above the grid, two or three sentences on what's in the range and who it suits.
- Links to subcategories or popular filtered pages.
- Helpful content below the grid, such as buying advice, care tips or a short FAQ that answers real customer questions.
- A unique title tag and meta description for every category.
This content also helps AI tools and search features understand what the page offers.
Internal linking beyond the menu
Your menu and breadcrumbs handle the basics. Contextual internal links do the rest, and they're where many small shops leave easy gains on the table.
- Related and "complete the look" products link products to each other and keep shoppers browsing.
- Links from product descriptions to categories ("see our full range of rattan sofas") reinforce the hierarchy.
- Links from buying guides and blog posts to categories pass value from informational content to the pages that sell.
- Homepage features for seasonal or priority categories give them a boost when it matters.
Use descriptive anchor text. "Shop oak dining tables" tells Google and shoppers far more than "click here".
Supporting content is also the healthiest way to earn links from other sites. A genuinely useful buying guide or sizing tool is the kind of thing people reference and share. Pair that with digital PR, rather than chasing links through shortcuts that put your site at risk.
Handling out-of-stock and discontinued products
Products come and go, and how you handle them affects both structure and rankings.
- Temporarily out of stock: keep the page live, show it clearly as out of stock, offer a "notify me" option and link to alternatives. Don't delete it.
- Permanently discontinued, with a close replacement: 301 redirect to the replacement or the most relevant category.
- Permanently discontinued, nothing similar: let it return a 404 or 410. Redirecting everything to the homepage is unhelpful, and Google often treats it as a soft 404 anyway.
- Discontinued but still getting traffic and links: consider keeping the page as an information page that points to current alternatives.
XML sitemaps and robots.txt
Your XML sitemap should list the pages you want indexed: categories, indexable subcategories and filter pages, products, and key content. It should not include filtered URLs you've chosen to keep out, redirected URLs or noindexed pages. Most platforms generate a sitemap automatically. Check what's in it, because default settings sometimes include things they shouldn't.
Use robots.txt to keep crawlers away from areas with no search value, such as basket, checkout, account pages and internal search results. Submit your sitemap in Google Search Console and keep an eye on the Pages report for signs of indexing problems.
A worked example: structuring a garden furniture shop
Imagine a small UK shop selling garden furniture, with around 300 products. Keyword research shows strong demand for rattan furniture, dining sets, benches and furniture covers, with specific searches for corner sofas and dining sets by seat count.
A sensible structure might look like this:
- Home
- Garden Sofas (/garden-sofas/)
- Rattan Corner Sofas (/garden-sofas/rattan-corner-sofas/)
- 2 and 3 Seater Garden Sofas (/garden-sofas/2-3-seater/)
- Garden Dining Sets (/garden-dining-sets/)
- 4 Seater Dining Sets
- 6 Seater Dining Sets
- Garden Benches (/garden-benches/)
- Furniture Covers (/garden-furniture-covers/)
- Buying Guides (/guides/)
- Garden Sofas (/garden-sofas/)
Products live at /products/product-name/, so a corner sofa that appears in both "Rattan Corner Sofas" and "Sale" has one URL. The colour filter on corner sofas creates an indexable page for grey, because there's clear demand for it, while other colours, price and sort filters stay out of the index. A buying guide on choosing the right size dining set links to both the 4 and 6 seater pages. Every product is three clicks or fewer from the homepage, and breadcrumbs tie it all together.
Nothing here is complicated. It's simply a set of deliberate decisions instead of letting the platform decide by default.
Restructuring an existing shop without losing traffic
If your shop is already live and the structure is messy, you can fix it, but go carefully. Changing URLs without a plan is one of the fastest ways to lose rankings.
- Crawl the current site to get a full list of URLs, and export your top pages from Google Search Console and analytics.
- Plan the new structure based on keyword research and your product range.
- Build a redirect map that pairs every old URL with its closest new equivalent, using 301 redirects.
- Update internal links so they point straight to new URLs instead of relying on redirects.
- Update the sitemap and submit it in Search Console.
- Monitor closely for several weeks after launch: crawl errors, 404s, indexing and rankings for key categories.
Some short-term movement in rankings after a restructure is normal. If you aren't sure where your current problems lie, run a proper SEO audit before you change anything.
Common structural mistakes we see on small shops
- Categories named after suppliers or internal codes instead of search terms.
- Every filter combination indexable, creating thousands of thin pages.
- Products only reachable through internal search or JavaScript-loaded grids.
- The same product live at several URLs with no clear canonical.
- Paginated pages all canonicalised to page 1.
- Category pages with no unique text, duplicate titles, or a manufacturer's description copied across many sites.
- Discontinued products deleted without redirects, or all redirected to the homepage.
- Subcategories with one or two products that nobody searches for.
- URL changes made during a redesign with no redirect plan.
A quick ecommerce structure checklist
- Categories and subcategories are based on keyword research.
- Every product is within about three clicks of the homepage.
- URLs are short, lowercase, hyphenated and stable.
- Each product has one canonical URL.
- The menu uses crawlable HTML links and prioritises key categories.
- Breadcrumbs are visible and marked up with structured data.
- High-demand filter pages are indexable with unique titles and intros. Others are controlled.
- Pagination uses crawlable links and self-referencing canonicals.
- Category pages have a clear H1, a short intro and helpful supporting content.
- Out-of-stock and discontinued products are handled deliberately.
- The XML sitemap only includes pages you want indexed.
- Buying guides and content link to relevant categories.
Structure is one part of the picture. For keyword targeting, product page optimisation and content, see our practical guide on how to do SEO for an ecommerce website.
Frequently asked questions
How many clicks from the homepage should products be?
Aim for three or fewer for most products. It isn't a strict rule, but the deeper a product sits, the less often it tends to be crawled and the less internal authority it receives.
Is Shopify's URL structure bad for SEO?
No. The /collections/ and /products/ patterns can't be changed, but they don't hold shops back. Focus on canonical internal linking, good category content and controlling filters.
Should I noindex my filter pages?
Not all of them. Keep the ones with real search demand indexable and give them proper content. Noindex or otherwise control the low-value combinations such as price ranges, sorting and stacked filters.
Do I need a blog on an ecommerce site?
You don't need a blog in the traditional sense, but buying guides and helpful articles that answer customer questions are valuable. They capture research searches and pass internal links to your categories.
Can I fix structure myself, or do I need a developer?
Category naming, menus, internal links and category content are usually manageable yourself. Filter handling, URL changes and redirects at scale often benefit from technical help.
Getting your shop's structure right
A well-structured online shop is shallow, logical and deliberate: categories that match real searches, clean and stable URLs, controlled filters, and internal links that point authority at the pages that sell. If you'd like experienced help, our e-commerce SEO services start from £585/month plus a one-off £195 setup, on fixed transparent monthly pricing with no ranking promises. Compare options on our SEO pricing and packages page, or see our wider SEO services.
Want Better Search Rankings?
Speak to our team about how we can help your business grow.


