Can we use optional analytics (including session recording) and marketing cookies? Nothing is set unless you accept.Optional cookies for analytics and marketing, only if you accept.Details
Ecommerce SEO in the UK: how to make product and category pages rank
A hands-on guide for UK shop owners on WooCommerce, Shopify, Magento or PrestaShop: category and product pages, Product structured data, filter URLs, out-of-stock products, pagination, speed and a checklist by catalogue size.
By the WE-DEV teamPublished 12 min read
Ecommerce SEO in the UK comes down to two page types doing two different jobs. Category pages catch the broad searches (“men’s waterproof walking boots”), so they need a short introduction, sensible filters and plenty of internal links. Product pages catch the specific ones (“Scarpa Terra GTX size 9”), so they need their own description, accurate price and stock, delivery and returns details, and Product structured data. Around both you have to stop filters, sorting and dead products from generating thousands of duplicate or empty URLs. Get those three things right and most of the remaining advice is detail.
This guide is for the owner of a UK online shop on WooCommerce, Shopify, Magento or PrestaShop. The principles are the same on all four.
Why category pages usually earn more traffic than product pages
Look at the Pages tab of the Performance report in Search Console for almost any shop and the same pattern appears: a handful of category pages bring in more non-branded clicks than hundreds of product pages put together. That is our experience on the shops we work on, not a published statistic, and there is a simple reason for it.
Most people do not know which product they want yet. They search for a type of thing, and for that kind of search Google tends to show pages that list a range of options. A single product page is a poor answer to “oak dining tables”, however good the table is. Product pages win when the search includes a brand, a model number or a very specific attribute, and each of those searches is small.
So if you only have time to improve twenty pages this quarter, make most of them categories.
Building a category page that ranks
One category per search, named the way customers search
Start with the tree. Each category should match something people type, and the name should be theirs and not your supplier’s. “Occasional seating” is a trade term; customers search for “armchairs”. Check the Queries report in Search Console before you rename anything.
Intro copy that helps someone choose
Write 80 to 200 words above or beside the product grid that help a buyer narrow down: what the range covers, the main differences between the options, sizes, and anything people regularly ask before ordering.
The 600-word block of keyword-heavy text at the bottom of a category page is a habit from ten years ago. If you have more to say, put it in a buying guide and link to it.
Filters
Offer the attributes people choose by (size, colour, material, price, brand) and hide any filter that would return nothing. The URLs filters create are a problem of their own, covered below. One rule to set now: when a filter combination has real search demand of its own, “red leather sofas” for example, do not rely on a filter URL to rank for it. Create a proper subcategory with a clean URL, its own title and its own two sentences of copy.
Internal links
Breadcrumbs on every category and product page, with BreadcrumbList markup.
Links between sibling and parent categories, as plain HTML links that exist in the page source. A mega menu that only builds its links after a hover or a tap may not be seen by a crawler.
Links from guides and blog posts to the relevant category, with descriptive anchor text.
Product page essentials
Write your own description
If you paste the manufacturer’s text, your page says exactly what fifty other retailers’ pages say. Google does not penalise that, but when several pages carry the same content it generally picks one to show, and in our experience it is rarely the smallest shop.
Cover what the spec sheet leaves out: how the item fits or feels, what it works with, what is in the box, who it suits and who should buy something else. Keep the technical specification in a table underneath. With 3,000 lines you will not hand-write them all. Start with the products that bring in the most revenue.
Titles, images and alt text
Title tag: brand, product name, and the attribute people search by. “Le Creuset Cast Iron Casserole 24cm, Volcanic” beats “Casserole | Shop”.
Images: several angles, your own photography where you can manage it, and a descriptive filename.
Alt text that describes the picture: “Navy wool overcoat, back view”. Not a list of keywords, and not the product title repeated on all eight images.
Price, stock, delivery and returns
Show the price, whether the item is in stock, what delivery costs and how long it takes, and how returns work, all on the product page itself or one obvious click away. The delivery line is the one most often missing. In our experience, “Calculated at checkout” loses sales to the shop that says “£3.95, free over £50, two to three working days”.
Reviews
Real reviews add unique text to the page and can earn star ratings in search results when marked up correctly. Collect them by email after delivery. Fake reviews, or reviews you have paid for without saying so, are banned in the UK under the Digital Markets, Competition and Consumers Act 2024, and they breach Google’s review policies as well.
Product structured data and Merchant listings
Structured data is a block of code, usually JSON-LD, that states the facts about a product in a form a machine can read. Google Search Central describes two kinds of product markup. Product snippets are meant for pages that talk about a product without selling it, such as reviews, and add ratings, price and availability to an ordinary result. Merchant listings are for pages where the item can be bought; they cover the same ground and also make the product eligible for the richer shopping displays.
Property
What to supply
name, image, description
The same name and main image the visitor sees
offers: price, priceCurrency
The price shown on the page, with currency GBP. Not ex VAT in the markup and inc VAT on the page
offers: availability
InStock, OutOfStock, PreOrder or BackOrder, updated as stock changes. Some themes hard-code “InStock”
shippingDetails
Delivery cost, destination, and handling and transit times
hasMerchantReturnPolicy
Return window, who pays and how to return, matching your returns page
aggregateRating, review
Only genuine reviews that are visible on that page
Google’s documentation also allows return and delivery policies to be declared once at organisation level instead of on every product. Check the current Search Central pages before you build it, because the supported properties have changed more than once.
All four platforms output some Product markup themselves or through the theme, and it is often incomplete. Test a few products with Google’s Rich Results Test, then watch the Merchant listings and Product snippets reports in Search Console for errors across the whole catalogue.
Free listings in Google Merchant Center
Set up a Merchant Center account even if you never plan to pay for Shopping ads. Google offers free listings that can put your products in the Shopping tab and other surfaces at no cost per click. The official connectors (Google for WooCommerce, the Google & YouTube app on Shopify, and the PrestaShop Marketing with Google module) send a product feed automatically; Magento has no official Google connector, so it needs a third-party extension or a scheduled feed file. The feed, the page and the structured data must all show the same price and stock, or products can be disapproved.
Faceted navigation and duplicate URLs
This is where larger shops lose the most. Every filter, sort order and view option can create a new URL. Six filters with five values each, combined freely, produce tens of thousands of addresses showing slices of the same products. Google Search Central has a page specifically on managing the crawling of faceted navigation URLs, and its warning is that crawlers can spend their time on those and reach your new products late.
Canonical tags. Every category and product page carries a canonical tag pointing at its own clean URL, and filtered or sorted versions point back to the unfiltered category.
Noindex for thin combinations. Filter pages that you cannot point back to the category with a canonical tag, and that have no search demand or return two products, get a “noindex” robots meta tag. Use one signal per URL: a canonical to the category or a noindex, not both.
Robots.txt for pure crawl waste. Sort orders, price sliders, “items per page” and session parameters can be disallowed outright. Do not combine the two methods on the same URL: Google cannot see a noindex tag on a page it is blocked from crawling.
Consistent parameters. Keep filters in one fixed order in the URL so that colour-then-size and size-then-colour do not become two pages, and return a 404 when a combination has no products. Google’s guidance says the same: it asks for a consistent filter order where filters sit in the URL path, and a 404 for combinations with no results.
Internal site search. Search result pages should be noindexed or blocked.
Search Console no longer has a URL Parameters tool, since Google retired it in 2022, so all of this has to be handled on the site itself.
Each platform has its own quirks. On WooCommerce, third-party filter plugins often write URLs your SEO plugin does not manage. Older Shopify themes link to products through the collection path and rely on a canonical tag to tidy up. If you are still choosing a platform, our WooCommerce, Magento and PrestaShop comparison goes through the differences.
Out-of-stock and discontinued products
Deleting a product the day it sells out throws away whatever that page had earned. Redirecting everything to the homepage is no better, because Google’s John Mueller has said that mass redirects to the homepage are treated as soft 404s. Decide case by case.
Situation
What to do
Temporarily out of stock, coming back
Keep the page live. Show “out of stock” clearly, set availability to OutOfStock in the markup, offer a back-in-stock email and show alternatives
Seasonal product that returns each year
Keep the same URL all year, so it does not start from nothing every season
Discontinued, with a direct successor
301 redirect to the replacement
Discontinued, no successor, but the page still gets visits or has links
Keep it live as “discontinued” with links to the closest alternatives and no Buy button, or 301 to the parent category if that really is the nearest match
Discontinued, no successor, no traffic, no links
Return 404 or 410 and take it out of the sitemap. Google has said it treats the two codes much the same, with 410 perhaps dropping slightly faster
On a big catalogue, write this down as a rule and automate it. Otherwise every member of staff does something different.
Pagination
Google Search Central’s pagination guidance for ecommerce sites is short. Give each page of results its own URL (?page=2 or /page/2/). Let each page canonicalise to itself, not to page one, or the products on later pages may never be discovered through the category. Link the pages with ordinary anchor links.
Google no longer uses rel=”next” and rel=”prev”. “Load more” buttons and infinite scroll are fine for users as long as the paginated URLs still exist underneath as real links, because Googlebot does not click buttons or scroll the way a person does.
Speed and Core Web Vitals on image-heavy pages
Shop pages are mostly images plus third-party scripts, which is exactly what the Core Web Vitals punish. Google’s published “good” thresholds are a Largest Contentful Paint within 2.5 seconds, Interaction to Next Paint of 200 milliseconds or less, and Cumulative Layout Shift of 0.1 or less, each measured at the 75th percentile of real visits. Our Core Web Vitals explainer covers the measurements; these are the shop-specific fixes.
On the product pages we test, the main product image is usually the LCP element. Do not lazy-load it. Give it fetchpriority=”high” and serve it at the size it is displayed, in WebP or AVIF.
Lazy-load everything below the fold: the rest of the gallery, the grid on category pages, related products.
Set width and height on every image so the layout does not jump as they arrive.
Audit apps and plugins. Each review widget, chat bubble, pop-up and tracking tag adds JavaScript that slows down taps. In our experience, Shopify apps sometimes leave code in the theme after they are uninstalled.
UK specifics: VAT, delivery and domains
Prices in GBP including VAT. UK pricing rules require the price shown to consumers to include VAT, and Google Merchant Center’s UK requirements say the same for your feed. If you sell to trade and show ex-VAT prices, make the inc-VAT price the default for anonymous visitors, since that is what Google will crawl.
Delivery areas. State plainly whether you deliver to Northern Ireland, the Highlands and Islands, the Isle of Man and the Channel Islands, and any surcharge.
Returns. Most online orders carry a 14-day right to cancel under the Consumer Contracts Regulations. Put your policy in plain words and link it from every product page.
Domain. A .co.uk or .uk domain tells Google the site is for the UK without any setting. A .com works too, and hreflang is only needed if you run separate versions for other countries.
Ecommerce SEO UK checklist: 50 products versus 5,000
A small shop wins on the quality of individual pages. A large shop wins on templates and on keeping the crawl under control.
Priority
Shop with about 50 products
Shop with about 5,000 products
1
Hand-write every product description and title
Fix faceted navigation, canonicals and the sitemap so Google crawls the right URLs
2
Five to ten well-named categories with intro copy
Title, meta and markup templates that produce good defaults for every product
3
Complete Product markup and a Merchant Center feed
Category tree and subcategories for filter combinations with search demand
4
Images compressed and sized; main image not lazy-loaded
Written rule for out-of-stock and discontinued products, automated
5
Delivery and returns on every product page
Hand-written copy for the top 100 to 200 products by revenue
Whatever the size, run through this once a quarter:
Every category has its own title and intro
Canonical tags are present and point where you expect
Filter, sort and site-search URLs are not being indexed
Product markup passes the Rich Results Test, and its price and stock match the page
The XML sitemap lists only live, canonical, indexable URLs
Category and product templates pass Core Web Vitals on mobile
Prices show in GBP including VAT, with delivery cost visible before checkout
What not to bother with
Meta keywords. Google has ignored them for well over a decade.
Product tags as a second category system. WooCommerce tag archives and Shopify tag URLs mostly create thin duplicates of your categories. Noindex them or stop using them.
Removing /product/ or /product-category/ from WooCommerce URLs. The gain is negligible and the risk is real. On Shopify the /products/ and /collections/ prefixes are fixed, so the question does not arise. If you must change URLs, follow our website migration SEO checklist.
Rewriting 5,000 descriptions in a week with a text generator. You swap one kind of duplicate for another. Do the top sellers properly.
What the work costs
As an illustration, take a Leeds homeware shop on WooCommerce with around 300 products that needs its filters and canonicals sorted, title and markup templates rebuilt, a Merchant Center feed connected and image loading fixed. We would allow about 20 hours at our e-commerce development rate of £65 an hour: 20 × £65 = £1,300, less the 15 % discount for booking 20 hours (£195) = £1,105, plus VAT at 20 % (£221), so £1,326 in total. Hours are bought online through hourly hire and do not expire.
We are based in London and work with shops across the UK. If you would like a second opinion on your category structure, send us the shop address and we will tell you what we would fix first.
Frequently asked questions
Should I focus on category pages or product pages for SEO?
Both, but start with categories. Broad searches such as "oak dining tables" are usually answered by a page listing a range, so on the shops we work on, category pages tend to bring in most of the non-branded traffic. Product pages matter for searches that include a brand, model or specific attribute.
Is it a problem to use the manufacturer's product descriptions?
It is not penalised, but it gives Google no reason to choose your page over the many other retailers using the same text. Write your own descriptions for your best-selling and most-searched products first, and keep the manufacturer's specification as a table underneath.
Should I delete out-of-stock product pages?
No, not if the product is coming back. Keep the page live, mark it out of stock on the page and in the structured data, and show alternatives. For discontinued products, redirect to a direct replacement if there is one; otherwise return a 404 or 410 once the page has no traffic or links worth keeping.
Do I need Google Merchant Center if I don't run Shopping ads?
It is worth having. Google offers free listings that can show your products in the Shopping tab and other places without paying per click. You need a product feed, which the official WooCommerce and Shopify connectors create for you, and the feed must match the prices and stock on your site.
How do I stop filter pages creating duplicate content?
Point filtered and sorted URLs back to the main category with a canonical tag, add noindex to filter combinations nobody searches for, and block pure sort and view parameters in robots.txt. For filter combinations people do search for, build a proper subcategory with its own URL and copy.
Should prices in structured data include VAT for a UK shop?
Yes for a shop selling to consumers. The price in your Product markup and Merchant Center feed should match the price shown on the page, and UK consumer prices must be shown including VAT, with GBP as the currency.
WE-DEVUK software and web development agency. We build websites, custom software, mobile apps and online shops, and write these guides from the projects we run every week.