This site participates in affiliate programs. If you sign up through a link on this page, we may earn a commission at no extra cost to you.
By Jason Feng, Founder & Researcher. See how this review was researched.
Quick answer
Work the checklist in this order: technical first, then category pages, then product pages, then internal links. Most platforms handle canonical tags, sitemaps, and structured data automatically, so the work that actually moves rankings is the copy and the internal links. Shopify auto-generates canonicals, sitemaps, and robots.txt, and its default robots.txt already blocks filtered and sorted collection URLs. BigCommerce and Wix let you change URL structure per page type, which means you can break it. Filter parameters are the most common duplicate content problem in ecommerce, and the fix is either a robots block or a noindex tag, not a canonical tag.
Table of contents
- The technical layer
- Categories before products
- Product page elements that matter
- Internal linking inside a store
- Duplicate content from variants and filters
- What each platform does for you
- The checklist
- Our verdict
- How we researched this
- Sources

The technical layer
Four technical items cover most of it: canonical tags, structured data, pagination and filter URLs, and sitemaps. Each has a platform default and a failure mode.
Canonical tags tell a search engine which URL is the primary version when several load the same content. Google’s own documentation is clear that this is a preference rather than a command: marking a canonical is a hint, not a rule, and Google may choose a different page as canonical. The factors it weighs include whether the page is served over HTTP or HTTPS, redirects, whether the URL appears in your sitemap, and rel=canonical annotations.
That matters for stores because the usual duplicate is not a malicious copy. It is your own product page reachable through two paths: with and without a tracking parameter, or through a category URL and a direct product URL. Shopify generates canonical tags automatically for online stores, so the default case is handled. Wix creates a default canonical for every page and lets you edit it in the Advanced SEO tab of a page’s settings, with a warning that changing it can remove the page from your sitemap.
Structured data is the second item, and it is the one with the most platform variance. Google splits product markup into two classes: Product snippets for pages where people cannot buy directly, and Merchant listings for pages where they can. Both classes support product variant markup, which helps Google understand which products are variations of the same parent.
Wix Stores product pages ship with preset markup that you can edit in SEO settings, and Wix accepts only JSON-LD, with a limit of 7,000 characters per markup and up to five markups per page. Its documentation also notes the obvious limit: adding markup does not guarantee rich results. Google’s guidelines require the marked-up information to appear on the page itself.
Pagination and filters are the third item and the most common technical mistake. Google’s ecommerce documentation recommends against indexing URLs with filters or alternative sort orders. For long lists, it suggests blocking unwanted URLs with the noindex robots meta tag or discouraging crawling of particular URL patterns in robots.txt. It also notes that rel=next and rel=prev are no longer used by Google, so a store still relying on those tags for pagination is getting no benefit from them.
Sitemaps are the fourth and the simplest. Shopify generates sitemap.xml and robots.txt automatically, and its default robots.txt already contains rules that block filtered, sorted, cart, and checkout URLs. BigCommerce publishes its own sitemap article and exposes the file at the domain root. If you are on a self-hosted stack, the sitemap is your responsibility, which brings its own list of chores: the ecommerce hosting cost breakdown covers what that adds to a monthly bill.
Categories before products
Collection and category pages are where most stores underinvest, and they are usually the pages that rank for the broad commercial terms.
Write each category page for one keyword cluster, not for the whole department. A page selling running shoes should target the term people actually search, and a page selling trail running shoes should be a separate URL with its own copy. BigCommerce’s SEO documentation puts the practical rule simply: every page should have a unique title tag under 60 characters, preferably starting with a relevant keyword, with the store name after it.
Category pages need real text. Three or four sentences above the product grid describing what the category contains, who it is for, and how it is organized does more than a keyword-stuffed footer block ever did. It also gives the internal links on the page natural anchor text.
Two structural points apply to every platform. Keep category pages in the sitemap and keep filter views out of it. And keep the category hierarchy shallow enough that a product is reachable in three clicks from the homepage, because the homepage to collection to product path is the structure Google’s documentation describes as what search engines and shoppers both expect.
Product page elements that matter
A product page has five fields you can control, and they stack in importance.
- The title, which is the page’s H1 and usually the source of the URL slug
- The meta title, which is the clickable headline in search results
- The meta description, which influences click-through more than rankings
- The product description, which is what the page actually ranks on
- The image alt text and file names
BigCommerce’s guidance on meta descriptions is worth keeping: think of it as an advertisement, put the target keyword near the beginning, and write something a shopper would click. Its documentation also notes the caveat that Google may show your product description instead of your meta description, which is a reason to write both rather than treat the meta field as optional.
For product titles, write for clarity first. A title like "Organic Cotton Crew Socks, 3-Pack, Unisex, Black" describes the item and contains the terms a buyer would use. A title that repeats the brand three times reads as spam and converts worse.
Wix’s ecommerce SEO guide adds one rule that applies everywhere: avoid manufacturer descriptions, because copying them puts the same text on hundreds of sites. Write your own, and include the specifications a buyer needs.
Image alt text is the item people skip and the easiest win in the list. Describe the image concisely and specifically. On a product grid, the alt text is often the only text a crawler reads alongside the image, and it also serves screen reader users.
Internal linking inside a store
Internal links are how a store distributes ranking signals from strong pages to weak ones, and how crawlers discover your catalog depth.
Three patterns do most of the work. Link from category pages to their best sub-collections. Link from product pages to related products and the parent category. Link from blog content to the product or category it describes, using descriptive anchor text rather than "click here."
A fourth pattern matters more than it looks: link to your own cash-cow products from several relevant places. A store whose bestseller is reachable from four category pages, two blog posts, and the homepage carries more internal signal than one where the same product sits in a single grid.
The same logic applies to the pages around the store. If you are planning a move, the Shopify to WooCommerce migration walkthrough covers how to preserve internal links and handle redirects so the equity moves with the catalog. If a platform’s URL structure is the reason you are considering a move, the BigCommerce vs Shopify SEO comparison goes through what each lets you change.
Duplicate content from variants and filters
This is the section to read twice, because it is where ecommerce stores create their own problems.
Two sources of duplication are unavoidable. Product variants, where a shirt exists in five colors, generate five URLs with near-identical copy. Filter and sort parameters, where a collection can be viewed ordered by price, by newest, or filtered by size, generate dozens of URLs from one page.
For variants, the fix is markup and copy, not a canonical tag pointing all variants at the parent. Google supports variant structured data for exactly this case, and the practical approach is to keep variants as distinct URLs, give each one a unique title and description, and connect them with variant markup so the relationship is explicit.
For filters and sorts, the fix is exclusion. Google’s documentation recommends blocking filter and sort URLs from indexing with a noindex robots meta tag, or discouraging crawling of those patterns in robots.txt. Shopify’s default robots.txt already disallows filtered collection paths and sorted collection paths, which is why the platform’s default file is a reasonable starting point and why modifying it carelessly can undo that protection. Wix provides a robots meta tag setting for individual pages, and Shopify lets you customize robots.txt.liquid in a theme if you need rules the default does not cover.
One warning from Shopify’s documentation is worth quoting in substance: editing robots.txt.liquid is an unsupported customization, and incorrect use can result in loss of all traffic. If the catalog does not have a specific crawling problem, the default file is not the thing to experiment on.
There is also a slower duplicate problem that fewer stores notice. Two category pages that overlap heavily, such as Running Shoes and Athletic Shoes, will compete with each other for the same queries. The fix is consolidation rather than tagging: merge them, or differentiate the copy so each targets a distinct term.
What each platform does for you
The platform you use decides how much of this you can do yourself, and where the risk sits.
| Item | Shopify | BigCommerce | Wix | WooCommerce |
|---|---|---|---|---|
| Canonical tags | Auto-generated | Auto-generated, editable fields | Auto-generated with a default per page, editable in Advanced SEO | Plugin-dependent |
| Structured data | Generated by themes | Product markup supported | Product pages ship preset markup, JSON-LD, 5 markups per page max | Plugin-dependent |
| Sitemap | Auto-generated sitemap.xml | Auto-generated, plus URL settings | Auto-generated, submitted from the dashboard | Plugin-dependent |
| robots.txt | Auto-generated, customizable via robots.txt.liquid | Auto-generated, editable article documented | robots meta tag per page | Editable file on your server |
| URL structure | Fixed path patterns | SEO Optimized Short, Long, Category, or Custom with placeholders | Product and blog URL structure editable in SEO Settings | Editable permalink structure |
| Filter and sort URLs | Blocked in the default robots.txt | Blocked via robots.txt settings | robots meta tag per page | Your configuration |
The pattern across the columns is a trade. Shopify and BigCommerce give you the most control over URL structure and the most built-in automation, which means less to do and more damage available if you experiment. Wix automates canonicals and structured data but limits markup to five per page. WooCommerce puts every one of these items in your hands and none of them in the platform’s.
The BigCommerce URL settings are the most explicit of the group. Its configuration panel offers SEO Optimized Short (yourdomain.com/product-name), Long (yourdomain.com/products/product-name), and Category (yourdomain.com/category/product-name) formats, plus a Custom option built from placeholders, with a checkbox to generate 301 redirects for the old URLs when you change the structure. Its documentation says plainly that if you are unsure, leave it on SEO Optimized Short. That is good advice for every platform in this table.
For a self-hosted stack, the platform does none of it, and that is the tradeoff of running open-source commerce software: every item above becomes a plugin, a configuration file, or a maintenance task.
The checklist
Work top to bottom. The technical items are cheap and the copy items are slow, so doing them in this order means the fast fixes land first.
| # | Item | Done means |
|---|---|---|
| 1 | Indexation | Google Search Console shows no unexpected noindex or blocked pages |
| 2 | Canonical tags | Every product and category page has a self-referencing canonical |
| 3 | Sitemaps | sitemap.xml submitted, categories and products present, filters absent |
| 4 | robots.txt | Admin, cart, checkout, and account paths blocked; filtered and sorted URLs blocked or noindexed |
| 5 | Structured data | Product markup valid in Google’s Rich Results Test, with variant markup where variants exist |
| 6 | Pagination | Pagination works without rel=next or rel=prev, since Google no longer uses them |
| 7 | Title tags | Under 60 characters, unique, keyword first, store name last |
| 8 | Meta descriptions | Under 160 characters, keyword near the start, written to earn a click |
| 9 | Category copy | Each category page has unique body copy and targets one keyword cluster |
| 10 | Product copy | Original descriptions, not manufacturer text, with specifications a buyer needs |
| 11 | Image alt text | Every product image has descriptive, specific alt text and a readable file name |
| 12 | Internal links | Bestsellers reachable from multiple categories, no orphan product pages |
| 13 | Variant handling | Variants have unique copy and variant markup, not a shared canonical |
| 14 | Category overlap | No two categories competing for the same keyword cluster |
| 15 | Migration plan | URL changes come with 301 redirects, verified before the old URLs drop out |
Our verdict
Do the technical layer once and then leave it alone. Canonical tags, sitemaps, and robots.txt are settings, not campaigns, and on Shopify and BigCommerce the defaults are good enough for most stores. The exceptions are filter and sort URLs, which deserve a deliberate check, and structured data, which is worth validating because a broken markup block is invisible until you look for it in the Rich Results Test.
Spend the rest of the effort on category copy, product copy, and internal links. Those are the three items no platform can automate, and they are also the three items that take the longest. A store with 200 products and thin copy across every page will not rank on technical hygiene alone.
If you are choosing a platform partly on SEO control, the practical summary is this: Shopify restricts URL paths but protects them well by default, BigCommerce gives you the most configurability with the most ways to get it wrong, Wix automates the basics and caps custom markup, and WooCommerce hands you everything including the maintenance.
One habit is worth building before any of this. Whenever you change a URL structure or a page’s canonical, add a 301 redirect and verify it. The migration checklist is written for a full platform move, but the redirect discipline applies to a single category rename too.
How we researched this
- This is a research-based review. Every platform capability and limit described here comes from the vendor’s own help documentation, which we link and date, or from Google’s own search documentation.
- We captured the Shopify, BigCommerce, and Wix help pages and Google’s canonicalization, pagination, and product structured data documentation on 2026-10-01 through a US exit IP with an
en-USlocale. - Where a platform documents a hard limit, such as Wix’s 7,000-character JSON-LD cap and five-markup limit, we quote the limit rather than paraphrasing it loosely.
- Items the platforms do not document, such as WooCommerce plugin behavior, are described as configuration-dependent rather than given a specific answer.
- Our full methodology is on the how we research page.
Sources
- https://help.shopify.com/en/manual/promoting-marketing/seo/seo-overview (accessed 2026-10-01)
- https://help.shopify.com/en/manual/promoting-marketing/seo/editing-robots-txt (accessed 2026-10-01)
- https://support.bigcommerce.com/s/article/SEO-Fields?language=en_US (accessed 2026-10-01)
- https://support.bigcommerce.com/s/article/Sitemaps?language=en_US (accessed 2026-10-01)
- https://support.wix.com/en/article/seo-best-practices-for-ecommerce-and-product-pages (accessed 2026-10-01)
- https://support.wix.com/en/article/changing-the-canonical-tags-for-your-sites-pages (accessed 2026-10-01)
- https://support.wix.com/en/article/adding-structured-data-markup-to-your-sites-pages-2546962 (accessed 2026-10-01)
- https://support.wix.com/en/article/customizing-your-pages-url-structure-in-seo-settings (accessed 2026-10-01)
- https://developers.google.com/search/docs/crawling-indexing/canonicalization (accessed 2026-10-01)
- https://developers.google.com/search/docs/specialty/ecommerce/pagination-and-incremental-page-loading (accessed 2026-10-01)
- https://developers.google.com/search/docs/appearance/structured-data/product (accessed 2026-10-01)
Related comparisons
Directly comparable breakdowns on this site:
- Shopify alternatives open source: the real cost (Alternatives)
- Ecommerce platforms like Shopify: which is closest (Alternatives)
- BigCommerce vs Shopify SEO: what each lets you change (Alternatives)
- Ecommerce hosting costs: the real monthly bill (Pricing)