E-commerce SEO Checklist: Products, Variants, Shopping Graph

Category pages, filters, variant URLs, product markup, Merchant Center, the Shopping Graph and stock changes, checked against Google's own guidance.

Updated · 16 min read

1234

Key takeaways

  1. Give Google a clean set of category, product and variant URLs, and block filter and sort URLs you do not need indexed.
  2. Describe each product with merchant listing markup and a Merchant Center feed; that is how it reaches the Shopping Graph.
  3. Keep price, stock and variant data identical on the page, in the markup and in the feed, and retire products with care.

An e-commerce SEO checklist comes down to three jobs. Let Google crawl a clean set of category, product and variant URLs. Describe every product in a form Google can read. Then keep that data true as prices and stock change.

SEO is built on simple fundamentals, and online stores are no exception. In a post on AI search, I wrote that the e-commerce playbook has barely changed. It is still product schema, Merchant Center feed quality, pricing signals and clean inventory data. This checklist follows the order a store is built: structure first, then product data, then the things that change every day.

Plan category and product pages around how people shop

Structure decides which pages Google finds and which it treats as important. On a store, that means a short, crawlable path from the homepage to categories, subcategories and products.

Build a shallow, crawlable structure

  • Link from menus to categories, and from categories to subcategories. That is the path Google’s guidance on ecommerce site structure describes. Link your best sellers from the homepage too.
  • Link to every product you want indexed. Google strongly recommends it. Where that is not possible, a sitemap or a Merchant Center feed helps Google find the rest.
  • Use real <a href> links. Google says not to build navigation from JavaScript events on other page elements, because its crawler may not find those links.
  • Keep URLs short and descriptive. Google says words in URL paths may help it understand the page. Use one letter case throughout.
  • Add breadcrumbs with BreadcrumbList markup, which Google’s ecommerce structured data guide recommends for showing the hierarchy of your pages.
  • Give each product one URL. If a product sits in three categories, link to the same product URL from all three. Where duplicates exist, rel="canonical" is a strong signal for the version you want.

At Adtric, we did SEO for a WooCommerce store selling a group’s cookers, cookware and kitchen appliances. The work was plain. We fixed technical issues on the store and optimized category and product pages for the searches shoppers make. We also improved the internal links between categories and products (case study).

Give category pages a reason to rank

Category pages usually compete for broader searches, such as “stainless steel pressure cooker”. Product pages compete for model names and very specific needs. Decide which page targets which search, so your own pages do not compete with each other.

  • Write a short introduction that helps people choose: sizes, materials, and who each range suits. Keep the product grid visible early on a phone.
  • Link to subcategories and to any buying guides that explain them.
  • Avoid publishing empty categories. They give shoppers and Google nothing to use.

Write product pages for buyers

  • Rewrite manufacturer copy. Say what each specification means for the buyer, and answer the questions your support team hears.
  • Use your own photos where you can, from several angles, with descriptive file names and alt text.
  • Show price, stock, delivery time and returns near the buy button.
  • Link to related products, accessories and the parent category.

New brands depend on non-branded searches, because few people know the name yet. At Adtric, we worked with a new paraben-free skincare brand in 2022. We optimized its product and category pages for non-branded searches and tracked branded and non-branded queries separately.

Google impressions rose from 5,440 to 18,700 between July and August 2022, and clicks from 189 to 222 (case study). Tracking the two kinds of query separately shows whether new shoppers are finding you, not only people who already know your name.

Buying guides and comparison pages can win searches that product pages cannot. You do not need to publish three times a week to rank, though. A few guides that answer real buying questions, linked to the right categories, are a better use of your time.

Paginate category pages the way Google reads them

  • Give each page in a series its own URL, and link each page to the next with <a href>.
  • Do not point page 2 and beyond at page 1 with a canonical tag. Google’s pagination guidance says not to use the first page as the canonical.
  • Skip rel="next" and rel="prev" for Google. It says it no longer uses these tags, although other search engines may.
  • Back “load more” buttons and infinite scroll with crawlable links. Google’s crawlers do not click buttons.

Control faceted navigation, filters and sorting

Filters for size, color, price and brand help shoppers. They also multiply URLs. Google’s faceted navigation guidance warns that crawlers will typically access a very large number of these URLs, leaving less time for new, useful pages.

Decide filter by filter whether a filtered page deserves a place in Google.

If filtered pages do not need to rank

  • Block the filter and sort parameters in robots.txt. In Google’s words: “Oftentimes there’s no good reason to allow crawling of filtered items.”
  • Or apply filters after a # in the URL. Google generally does not support URL fragments in crawling and indexing, so they add no new URLs to crawl.
  • Do not block a URL in robots.txt and also add noindex to it. For Google to see a noindex rule, the page must not be blocked by robots.txt.

If some filtered pages match real searches

Some filters match what people type into Google. “Cotton kurtas” might be a fabric filter on your women’s kurtas category. If people search for that phrase, turn it into a real landing page. Give it a static URL, its own title, a short introduction and links from the category.

For filter URLs you keep crawlable, Google asks for some discipline:

  • Use & as the parameter separator.
  • Keep filters in a fixed order, with no duplicate filters in one URL.
  • Return a 404 status when a filter combination has no products.
  • Do not rely only on canonical tags or nofollow. Google says these are “generally less effective in the long term” than blocking in robots.txt or using fragments.
  • Keep session IDs and tracking parameters out of internal links.

Use your site search data

Your store’s own search box tells you what shoppers want. GA4’s enhanced measurement records a view_search_results event for it (GA4 help). The event fires when a results page loads with a query parameter such as q or s.

Review the top terms and the ones that return nothing. Then fix the gaps with a category, a product page or a synonym. If Google crawls far more URLs than you have products, my explainer on how Google crawls, indexes and decides priority goes deeper.

Product variants and variant URLs, including Shopify

Google wants each variant to have its own URL that opens with that variant already selected. On Shopify, that is the ?variant= URL your store already creates. Keep those URLs crawlable, let the canonical point to the main product URL, and check that your markup groups the variants.

What Google asks for

  • A separate URL for each variant. Google’s URL guidance for ecommerce sites gives two patterns: a path such as /t-shirt/green, or a parameter such as /t-shirt?color=green.
  • A URL that preselects the variant. Google’s product variant documentation says the page should show the right image, price and availability. The shopper should be able to add that variant to the cart.
  • One canonical for the group. When variants use optional query parameters, Google recommends the URL without the parameter as the canonical. That is typically the base product page with no variant preselected.
  • Markup that groups the variants. Use ProductGroup with hasVariant, variesBy and productGroupID. Each variant needs a unique ID, such as its SKU or GTIN.
  • Markup in the initial HTML. Google warns that JavaScript-generated product markup can make Shopping crawls less frequent and less reliable. That hurts most when price and stock change often.
  • Matching Merchant Center data. The item group ID attribute is required for variants in free listings. Google recommends a different landing page URL for each variant, and the page must match the variant’s details.

What “use variant URLs” means on Shopify

Shopify already does much of this. Its developer documentation says variant deep links carry a ?variant=[variant-id] query parameter. Shopify also says it adds canonical tags automatically to prevent duplicate content in search results.

For markup, Shopify’s structured_data Liquid filter outputs a ProductGroup when a product has variants. In Shopify’s own example, the offer URL includes the ?variant= parameter. Themes and SEO apps can add markup of their own, so check what your store actually outputs.

Five checks for a Shopify store:

  1. Open a variant URL in a private window. The right image, price, stock status and selected options should load.
  2. View the page source. The canonical tag on a ?variant= URL should point to the main product URL.
  3. Test the product page in the Rich Results Test. You want one product group with its variants, not several conflicting product blocks.
  4. Do not block ?variant= in robots.txt. Google crawls variant URLs to identify each variant, and it says not to use robots.txt for canonicalization.
  5. In Merchant Center, check that each variant has its own landing page link and shares an item group ID with the others.

The same checks work on WooCommerce or any other platform. How variant URLs behave there depends on your theme and plugins, so test rather than assume.

When a variant deserves its own page

Google also supports a multi-page pattern, where variants sit on separate, equally important pages. Each page then carries full markup of its own, and there is no single canonical URL for the group.

Use it when shoppers search for a specific color, size or model, and that page has something distinct to say. Otherwise, one strong product page with selectable variants is easier to keep accurate.

Add product structured data and connect Merchant Center

Google gives two ways to tell it about products: structured data on your product pages, and a feed in Merchant Center. It recommends both. Its product structured data guide says that providing both “maximizes your eligibility” for shopping experiences.

Product structured data

  • Use merchant listing markup on pages where people can buy. Product snippet markup is for pages where people cannot buy directly, such as review sites.
  • Cover the required fields. Merchant listings need name, image and offers. The offer needs a price above zero and a priceCurrency, such as INR.
  • Add the recommended fields you can keep accurate: availability, brand, GTIN, item condition, ratings and reviews.
  • Put shipping and return policies in one place. Google recommends a global shipping and return policy under your Organization markup, with product-level policies only for exceptions.
  • Check it. Search Console’s Merchant listings report covers the merchant listing markup Google found on your site, and the Rich Results Test checks single pages.

Most of my SEO toolkit is free Google tools: Search Console, GA4, PageSpeed Insights and the Rich Results Test. Every check in this section uses them.

Merchant Center and free listings

Free listings let your products appear on Google at no cost. Google names Search, Images, Lens, YouTube, Gemini, Maps and the Shopping tab among the places they can show. India is on Google’s list of supported countries for free product listings.

  • Provide the required attributes: ID, title, link, image link, price, description and availability.
  • Add a return policy and shipping settings. Google lists India among the countries where shipping settings or shipping costs are required.
  • To start quickly, Merchant Center can add products automatically from your online store. It reads the structured data on your product pages, so the markup has to be right first.
  • A scheduled feed gives you more control over when updates reach Google, which matters when prices change often.
  • If you have a physical store, Google says to upload products with inventory location data for Google Maps. Keep your Business Profile current too.

Merchant Center is not optional everywhere. Google says it is mandatory for some surfaces, such as listings in the Google Shopping tab.

Reviews and ratings

  • Collect reviews on the product page itself. If you mark them up, Google’s review snippet guidelines say the reviews must be readily available to users on that page.
  • Do not copy ratings from marketplaces or other sites into your markup. Google says, “Don’t aggregate reviews or ratings from other websites.”
  • Reply to critical reviews politely, and fix the problem they point to.
  • Do not count on FAQ markup for extra space in results. Google’s documentation changelog says FAQ rich results stopped appearing in Google Search on May 7, 2026. A short FAQ block can still help shoppers.

What is Google’s Shopping Graph?

The Shopping Graph is Google’s database of products, sellers, prices and stock. Google describes it as “a dynamic repository of product info that provides an up-to-date view of the products available” (Google Shopping Help). Google draws on it when it shows products in Search, ads, YouTube and its AI features.

It is large, and it changes constantly. In April 2026, Google put it at more than 50 billion of the world’s products (Google India blog). It added that 2 billion of them are updated every hour. People sometimes search for it as the “shopper graph”, but Shopping Graph is Google’s name for it.

How your products get into the Shopping Graph

  • Merchant Center. Brands and retailers send product data to Google directly through Merchant Center, and through Manufacturer Center for brands.
  • Your own product pages. Google’s free listings help says products crawled on your online store can show up on Google. Product structured data makes those details easy to read.
  • Automatic import. Merchant Center can scan your site and add products using their structured data.

Google’s 2023 explainer adds that the graph also pulls “relevant data from the web”, such as images, descriptions, reviews and YouTube videos. So reviews and product videos published elsewhere can add to the picture Google has of your products.

Where it shows up, including AI Mode

Google’s Shopping Help says Shopping Graph data may be used in Search results, ads, YouTube and generative AI features. Those AI uses include review summaries, buying guidance and product recommendations.

AI Mode is the clearest example. In May 2025, Google said AI Mode “brings together Gemini capabilities with our Shopping Graph” (Google blog). A complex shopping question triggers a query fan-out, where several searches run at once, and the answer shows a browsable panel of products.

In April 2026, Google said it had rolled out its biggest upgrade to shopping in AI Mode in India. Answers organize prices, reviews and inventory details. At that point AI Mode shopping worked in English, with Hindi promised soon. Google has also launched Virtual Try-On for apparel in India. My article on AI Mode in Google Search covers the wider changes.

What to do about it

There is no special Shopping Graph markup to add. Google’s guidance on AI features and your website says you do not need new machine-readable files or markup. It does list keeping your Merchant Center and Business Profile information up to date, and making sure structured data matches the visible text.

In practice, that means the checklist above: accurate product markup, a complete feed, and pages that agree with both. Say the page shows ₹1,499, the markup says ₹1,299, and the feed lists a sold-out item as “in stock”. Google now has three versions of the truth.

Handle out-of-stock and discontinued products

Stock changes every day, so this is where product data most easily falls out of sync. The rule is simple: say the same thing on the page, in the markup and in the feed. Google’s Merchant Center help on availability says the page, markup, checkout and feed must match. In its words, “A mismatch in one of these will trigger a product disapproval.”

SituationWhat to do
Temporarily out of stockKeep the page live. Show clear text such as “sold out”, or a disabled buy button. Set availability to out of stock in the markup and the feed.
One size or color sold outKeep the product live and disable that option in the variant selector. Give that variant its own availability in the markup.
Taking orders before stock arrivesUse back order or pre-order on the page and in the feed, never “in stock”.
Discontinued, with a successor301 redirect to the new model or the closest equivalent product.
Discontinued, no successor, still searchedKeep the page and mark it Discontinued in the markup. Remove it from the feed, and link to alternatives, manuals or spare parts.
Discontinued, no successor, no valueReturn a 404 or 410, and remove it from the sitemap and the feed.

Google’s markup and Merchant Center use different value lists. Merchant listing markup supports values such as InStock, OutOfStock, BackOrder, PreOrder and Discontinued. Merchant Center’s availability attribute uses in stock, out of stock, preorder and backorder.

The redirect rows follow Google’s own 404 guidance. It says to add a redirect if the content has moved. For a deleted page with no replacement or equivalent, “returning a 404 is the right thing to do.” Google currently treats a 410 the same as a 404.

Do not redirect every retired product to the homepage. Google lists that among the things not to do with 404s. A page that says “not available” while returning a success code can also be reported as a soft 404. Give temporarily unavailable pages real content: the description, specifications, reviews and links to alternatives.

Make product pages fast on mobile, and protect URLs in a migration

Mobile speed

In India, mobile devices accounted for 84.21% of the page views StatCounter tracked in October 2026. Google also uses the mobile version of a site for indexing and ranking. So test your store on a phone first, and keep the same content and structured data on mobile and desktop.

For a “good” rating, Google’s Core Web Vitals thresholds are 2.5 seconds for Largest Contentful Paint and under 200 milliseconds for Interaction to Next Paint. Cumulative Layout Shift should stay under 0.1. Keep speed in proportion, though. Google says it “always seeks to show the most relevant content, even if the page experience is sub-par” (page experience).

Product pages are image-heavy, which is why a lesson from my own site applies to stores. On October 28, 2026, turning on page caching, along with a PHP upgrade, lifted my homepage’s mobile score from 61 to 91. The same evening, an article page dropped from 87 to 75, because its 1,500 px featured image became the largest element on the page.

Caching fixes server time, not image weight. Lighter page templates took the homepage to 97 on November 1, 2026, but a re-test the next day, after new features went live, gave 81. These are lab scores from PageSpeed Insights; my site has too little Chrome traffic for real-user data. On a store, test the homepage, a category page, a product page and checkout separately after every change. My guide to Core Web Vitals has the full fix order.

Platform moves and redesigns

Moving a store to a new platform or theme usually changes product, category and image URLs. Treat it as a migration, not a redesign. Google’s guide to site moves with URL changes sets out the core steps.

  • Map every old URL to its new URL: products, categories, variant URLs, images and files such as manuals.
  • Use server-side permanent redirects, one hop each, and update internal links to the new URLs.
  • Submit the new sitemap, and update the product links in your Merchant Center feed.
  • Keep the redirects for as long as possible. Google says generally at least a year.
  • Expect temporary ranking changes. Google says most pages on a small to medium site take a few weeks to move.

Do not leave files out of the map. My team at Adtric ran a small finance bank’s move to a .bank.in domain. In the nine months after the move, 803 of the 1,000 most-clicked URLs in Google were PDFs (case study). A store’s equivalent might be old category paths, variant URLs or product manuals. My website migration SEO page explains how I plan these moves.

The e-commerce SEO checklist at a glance

Use this table to split the work between whoever owns the store, the developer and whoever owns SEO.

AreaCheckHow to verify
StructureMenus link to categories; categories link to subcategories and productsCrawl with Screaming Frog; no product left without internal links
StructureOne URL per product; breadcrumbs with BreadcrumbList markupCanonical in page source; Rich Results Test
PaginationEach page has its own URL, linked with <a href>; no canonical to page 1View source on page 2
FiltersFilter and sort URLs blocked, or turned into real landing pagesrobots.txt; Search Console Page indexing report
FiltersEmpty filter combinations return 404Crawl or browser developer tools
VariantsEach variant URL preselects its image, price and stockPrivate-window test
VariantsCanonical points to the main product; ProductGroup markup presentPage source; Rich Results Test
MarkupMerchant listing markup in the initial HTML, with price, currency and availabilityMerchant listings report in Search Console
PoliciesShipping and return policies under Organization markup and in Merchant CenterRich Results Test; Merchant Center
Merchant CenterFree listings on; required attributes complete; no disapprovalsMerchant Center product status
ReviewsMarked-up reviews are visible on the same page; none copied from other sitesManual check
StockPage, markup, checkout and feed agree on availabilitySpot-check sold-out items weekly
Discontinued301 to a successor, or 404/410; nothing redirected to the homepageCrawl the redirects
Mobile speedHomepage, category, product and checkout templates tested on mobilePageSpeed Insights
Site searchTop and zero-result search terms reviewedGA4 view_search_results event
MigrationFull URL map, including variants, images and filesRedirect test before launch

What to do next

Work through the table in order. Crawl and structure problems come first, because nothing else matters if Google cannot reach your products. Product data comes next. Then come the jobs that never end: stock, speed and reviews.

On-page SEO is not a one-time job. On a store, the work comes back every time a price or stock level changes. If your store is not live yet, start with my SEO checklist for new websites, and add Merchant Center to your launch plan.

If you would rather have help running this every month, look at my SEO consulting. It covers online stores: category and product pages, filters that create duplicate URLs, product structured data and feed quality.

Ujjwal Ganesh

Written by

Ujjwal Ganesh

SEO and website consultant with 12+ years of work and 400+ SEO projects, and the author of 25 books for adults and children. I write The Lab from client work and The Living Room from everything else.

Share this article

The method in a book

Websites That Stand Strong

Turn Your Website From a Digital Brochure Into a Growth Engine