Work out which categories you need
A category should exist because shoppers look for exactly that range. Your stock may be sorted by supplier or SKU, but shoppers search for “corner sofas with chaise” or “children's winter jackets”.
Look in Search Console for searches about a range that land on a product page or on a category that is too broad. Look at your own site search and your ad search terms too. If many people search for something you have several products of, that is a good candidate for a new category or subcategory.
Do not create categories with one or two products just to catch a search. A page with almost no range does not help the shopper. Nor should two categories that answer the same search share the same text. Merge them or give each its own job.
| Shoppers search | Page | Why |
|---|---|---|
| sofa | Category: Sofas | The broad range. |
| sofa with chaise | Subcategory: Sofas with chaise | A type many search for, with many products. |
| grey sofa | Filter on Sofas | Colour is a choice within the range. It only needs a page of its own if you have many and want it found. |
| which sofa for a small living room | Guide | A question, not a range. |
Write category text that helps people choose
Category text should move the shopper forward. Say briefly what the range covers, what sets the products apart and how to choose. That could be sizes, materials or what goes with what. Link to subcategories and guides with words that say what the reader will find.
Put a couple of lines above the products and the rest below, if you have more to say. The shopper came to see products. A long text at the top pushes them down, especially on a phone.
Do not write a long text full of keywords. Repetition does not help, and filling pages with keywords is against Google's spam policies.
Title, heading and address
The category needs an H1 and a meta title that say what the range is, in the words shoppers use. “Sofas with chaise” is better than “Collection 4” or “Comfort”. The meta description can mention what the shopper can choose between.
Keep the address short and readable, such as /sofas/chaise. Google says, though, that it generally does not look at URL structure to understand a site's structure. Links are what count. So do not change addresses just to get a keyword in, and add a redirect if you do.
How to write titles and descriptions for many categories is in our guide to meta titles and meta descriptions.
Let links carry the structure
Google finds your products by following links. The menu should link to categories, categories to subcategories, and subcategories to products. Google strongly recommends linking to every product you want indexed.
Products that can only be found through the store's search box are a problem. Googlebot generally does not type into search boxes. If you cannot link to everything, use a sitemap or a Merchant Center feed.
Breadcrumbs show shoppers where they are and give links up through the structure. With breadcrumb structured data, Google can also show the path in search results.
Link between categories that belong together too, and from guides to the categories they are about. Use words that say what the reader will find, such as “see our sofas with chaise” rather than “click here”.
Decide which filters should be findable
Filters for colour, size, price and brand can turn one category into thousands of addresses. Google says this can make its crawler spend time on useless addresses, so new products are found more slowly.
So pick the few filters that answer a real search and make them proper categories with their own title and text. Keep the rest out of crawling with robots.txt, or put them in the address after a #, which Google does not crawl.
If filtered pages should be indexable, use & between parameters, keep the filters in the same order, and return a 404 when a combination has no products. A canonical tag can reduce crawling of filtered addresses over time, but Google says it works less well than robots.txt.
On Shopify, the default setup keeps filtered and sorted collections out of crawling. Our Shopify guide explains what that means.
Pagination and “Load more”
Large categories are split across several pages. Give each page its own address, such as ?page=2, and link from each page to the next with ordinary links. Do not use a # for the page number, because Google ignores it.
Do not point every page to page one with a canonical. Each page should have its own canonical. Otherwise the products further down can be hard for Google to find. Google no longer uses rel=next and rel=prev.
If you use a “Load more” button or infinite scroll, remember that Google's crawler does not press buttons. There must also be ordinary links to the next pages.
Empty and seasonal categories
A category that is empty part of the year, such as Christmas decorations, is better left at the same address. Then links and bookmarks still work when the season comes round. Tell shoppers when the products are coming, and link to something relevant in the meantime.
If you remove a category for good, redirect it to the most similar category. If there is none, a 404 is the honest answer.
Frequently asked questions
How long should category text be?
There is no set length. Write what helps the shopper choose and stop there. For a simple category, two or three sentences may be enough. A category with many choices may need more, preferably below the products.
Can a product sit in several categories?
Yes, if it helps the shopper. Make sure the product has one fixed address, so the same page is not found under several. Many platforms handle this with a canonical tag.
Should I use noindex on filtered pages?
You can, but Google still has to crawl the pages to see the noindex. If you want to save crawling, robots.txt is better. Do not combine the two on the same address, because Google cannot see a noindex on a page blocked in robots.txt.