Small online shops often lose search traffic for dull, technical reasons. Google spends its crawl time on thousands of filter URLs, can't reach products behind a "Load more" button, or picks the wrong version of a product page.
Google has published a set of guides for ecommerce sites, and most of the fixes are small. This checklist turns those guides into plain steps you or your developer can work through. Each point links to Google's own documentation.
1. Check what your platform already handles
Before you change anything, read this line from Google's URL structure guide: "If you're using an ecommerce platform, you can most likely skip this section, as the platform has most likely already considered these issues for you."
So if you run Shopify, WooCommerce or a similar platform, many of the URL points below may already be solved. The checklist is still worth a run, because themes, apps and plugins can add filters, tracking parameters and JavaScript of their own.
2. Give every product a clean, descriptive URL
Google recommends descriptive words in URL paths, because "The words in URLs may help Google better understand the page." Its own example: /product/black-t-shirt-with-a-white-collar is recommended, /product/3243 is not.
More rules from the same guide:
- Use one case. If your server treats /Shirts and /shirts as the same page, convert all URLs to the same case.
- Use ?key=value parameters, such as /t-shirt?color=green, not /t-shirt?green.
- Don't repeat a parameter. Use ?type=candy,sweet rather than ?type=candy&type=sweet, or Googlebot may ignore one of the values.
- Don't link internally to temporary parameters such as session IDs, tracking codes, user-relative values (location=nearby) or the current time. They create short-lived or duplicate URLs.
3. Don't use # for anything you want indexed
Google says it "does not use fragment identifiers in indexing." In its example, /product/t-shirt#black and /product/t-shirt#white are treated as the same page. That matters in two places:
- Product variants. To have each variant understood separately, give it its own URL. Google recommends a path segment like /t-shirt/green or a query parameter like /t-shirt?color=green.
- Pagination. Don't use #page=2. Google's pagination guide says Googlebot may not follow such a link, "thinking it has already retrieved the page."
4. Tame your filters (faceted navigation)
Filters for size, colour, price and brand multiply into a huge number of URL combinations. Google's faceted navigation guide explains the cost: crawlers spend time on these URLs, so they have less time for your new, useful pages.
Google's advice depends on whether you need filtered pages in search:
- If you don't need them indexed, block them in robots.txt. Google says "Oftentimes there's no good reason to allow crawling of filtered items" and suggests letting crawlers reach the individual product pages plus one listing page that shows all products without filters.
- Or put filters in URL fragments (#), which Google Search generally doesn't use for crawling and indexing.
- Canonical tags and rel="nofollow" on filter links can help, but Google calls them "generally less effective in the long term." For nofollow to work, every link to that filter URL needs it.
Google's example robots.txt rules look like this:
user-agent: Googlebot disallow: /*?*products= disallow: /*?*color= disallow: /*?*size= allow: /*?products=all$
Change the parameter names to match your own site, and test carefully: a wrong pattern can block real product pages.
Also check sort orders. Google's pagination guide says to keep variations like ?order=price out of the index, with a noindex robots meta tag or a robots.txt rule. Pick one per URL: Google can only see a noindex tag on a page that robots.txt does not block (Google: block indexing with noindex).
5. Make sure Google can reach every product
Google's pagination guide has one sentence every shop owner should know: "Google's crawlers don't 'click' buttons and generally don't trigger JavaScript functions that require user actions to update the current page contents."
So if your category pages use a "Load more" button or infinite scroll, products further down the list may not be found through those pages. To fix it:
- Link pages in sequence with normal <a href> links, so page 1 links to page 2, page 2 to page 3, and so on.
- Give each page a unique URL, for example with ?page=2.
- Give each page its own canonical. Google says not to use the first page of a paginated sequence as the canonical page.
- Don't worry about identical titles on paginated pages. Google says they can share the same title and description.
- Don't add rel="next" and rel="prev" for Google. Google no longer uses them, though other search engines may.
As a backup, Google suggests a sitemap or a Google Merchant Center feed, so it can find all your products even if internal linking isn't perfect.
6. Pick one URL per product and say so
Many shops serve the same product at several URLs. Google's URL guide gives the example of /product/black-t-shirt and /product?sku=1234 returning the same page, and Google "cannot determine this by looking at the URL alone."
- Link internally to one version only: menus, category pages, related products.
- Add a rel="canonical" tag on each product page that points to the preferred URL. Google's canonical URL guide explains this and the other methods, such as redirects and sitemaps.
- List only canonical URLs in your sitemap. Google says all pages listed in a sitemap are suggested as canonicals.
7. Add merchant listing structured data to product pages
Structured data is code that tells Google what your page contains. For products, Google says shoppers "can see price, availability, review ratings, shipping information, and more right in search results" (Google: Product structured data).
- Merchant listings are for pages where customers can buy from you. This is the type shops need.
- Product snippets are for pages where people can't buy directly, such as review articles.
Google notes that adding the required merchant listing properties usually makes the page eligible for product snippets too. It also recommends return policy (and loyalty program, if you have one) markup nested under your Organization markup, and product variant markup if you sell sizes or colours.
Test your pages with Google's Rich Results Test after a theme or plugin update, because those updates can change your markup.
8. Plan the launch of a new or redesigned shop
Google's ecommerce guides include a separate page on how to launch a new ecommerce website, including timing when you register the site with Google. If you move to a new platform, our advice is to map old product URLs to new ones with redirects before launch, not after traffic drops.
9. Write product pages people can use
Technical fixes get your pages crawled. The content decides whether shoppers choose you. Google's ecommerce guides include advice on writing high-quality product reviews to help shoppers decide. In our view the same idea applies to product pages: original, specific detail helps more than the manufacturer's text that every other shop also uses.
10. If you also have a physical store
Shops that also sell in person show up in two places: normal search results and Google Maps. This checklist covers your website. Your Google Business Profile is a separate job, and our sister tool localocare checks where a local business shows up on Google Maps across its area.
Quick checklist
- Platform defaults checked; apps and plugins don't add junk parameters
- Product URLs descriptive, in one case, with ?key=value parameters only
- No important content behind # fragments
- Filter and sort URLs blocked in robots.txt or set to noindex (not both)
- Category pages paginated with crawlable <a href> links and unique URLs
- Each paginated page has its own canonical
- One URL per product, canonical tag set, internal links consistent
- Sitemap lists only canonical URLs
- Merchant listing structured data valid, plus return policy markup
- Original product descriptions on top sellers
Frequently asked questions
Should filtered category pages be indexed?
Often not. Google's faceted navigation guide says there's often no good reason to allow crawling of filtered items, and suggests letting Google crawl the product pages plus an unfiltered listing page instead.
Should page 2 of a category point its canonical to page 1?
No. Google's pagination guide says not to use the first page of a paginated sequence as the canonical page, and to give each page its own canonical URL.
Does Google still use rel=next and rel=prev?
No. Google says it no longer uses those tags, although other search engines may still use them. Plain crawlable links between pages are what matter.
Which product structured data should a shop use?
Merchant listing markup, for pages where customers can buy from you. Google says adding the required merchant listing properties usually also makes the page eligible for product snippets.
Do I need to change my URL structure if I use Shopify or WooCommerce?
Probably not. Google's URL guide says that if you use an ecommerce platform, you can most likely skip its URL design section, because the platform has most likely already considered these issues.
Check your shop's indexing
After you block filter URLs, it is easy to block real pages by mistake. The SEOSFT indexability check shows, page by page, whether Google can index each page: blocked by robots.txt, set to noindex, canonical pointing to another URL, redirect or error. The structured data check lists the schema.org types your pages use and writes the missing JSON-LD.
Sources
- Google Search Central, Best practices for ecommerce sites in Google Search: https://developers.google.com/search/docs/specialty/ecommerce
- Google Search Central, Designing a URL structure for ecommerce sites: https://developers.google.com/search/docs/specialty/ecommerce/designing-a-url-structure-for-ecommerce-sites
- Google, Managing crawling of faceted navigation URLs: https://developers.google.com/search/docs/crawling-indexing/crawling-managing-faceted-navigation
- Google Search Central, Pagination, incremental page loading, and their impact on Google Search: https://developers.google.com/search/docs/specialty/ecommerce/pagination-and-incremental-page-loading
- Google Search Central, Introduction to Product structured data: https://developers.google.com/search/docs/appearance/structured-data/product
- Google Search Central, How to specify a canonical URL: https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
- Google Search Central, Block search indexing with noindex: https://developers.google.com/search/docs/crawling-indexing/block-indexing