# E-commerce SEO for a small store: the pages, the data, the structure

You want products to show for buyers, not bots. This guide gives you the pages to build, the data to send, and the order to do it for a small store.

Updated 2026-09-14 · Source: https://porteur.ai/guides/ecommerce-seo

## Where your products can appear

Your products can show in Search, Images and the Shopping tab. Your store can also show on your Business Profile. You can earn free listings in Merchant Center if you send a feed that matches your pages.

- Search: titles, descriptions and rich results from Product data.
- Images: product images with alt text and structured data image properties.
- Shopping tab: free listings from a Merchant Center feed that matches on-page data.
- Business Profile: opening hours, phone and links. Useful if you also sell in person.

Aim to match product data across all channels. A price on the feed must match the price on the page. The same for availability and variant details.

## The three page kinds a store needs

You need category pages, product pages and utility pages. Each plays a role in crawling, ranking and conversion.

| Page type | Purpose | What good looks like |
| --- | --- | --- |
| Category, for example /collections/mens-trainers | Collect demand and pass users to products | A clear h1, a short intro that sets scope, links to subcategories, links to top products, filters that do not create duplicate indexable URLs, breadcrumbs |
| Product, for example /products/blue-suede-trainer | Rank for product-intent queries and convert | Unique copy, key specs, price, availability, images per variant, reviews, Product structured data with offers and aggregateRating, related products |
| Utility, for example /pages/shipping-returns | Build trust and answer concerns | Plain policies, shipping prices, timings, returns. Linked sitewide in header or footer |

Build each category as a real page, not only a filter. Put it in the nav and link to it from the homepage and relevant pages. Add breadcrumbs across the site.

## Product pages: data, content and rich results

Product pages win when a buyer gets enough detail to decide. Google also needs structured data to qualify for rich results. Keep both in sync.

- Write a unique description. Do not paste the manufacturer blurb alone. Explain fit, materials, sizing, use and care in your own words.
- Show price, currency, availability and shipping costs or timelines near the add to cart. Keep this consistent across variants.
- Add one image per variant. Name files clearly and set alt text, for example alt="Blue suede trainer, size 9".
- Collect reviews and show an honest average. Use aggregateRating on the product. Do not add self-serving reviews markup on your own organisation page.
- Mark up with Product structured data. Include offers, availability, price, review and aggregateRating when you have them. Use JSON-LD.

Check your markup in Rich Results Test. Fix all errors. Warnings are optional but often worth addressing, for example missing brand or size attributes if relevant.

> Rule: the feed, the page and the structured data must match on price, availability and identifiers.

On Shopify, most modern themes include Product structured data. Inspect the HTML to confirm. You can override or extend with a template snippet if needed. Titles and descriptions live in the product editor. Redirects are in Settings, URL redirects. Add alt text per image in the media panel. The sitemap.xml is automatic. You can edit robots.txt via robots.txt.liquid if you must block noisy tag or vendor URLs.

## Merchant Center feed and free listings

Free listings on the Shopping tab come from a Merchant Center feed. Send the same data you show on the page. Mismatches can disqualify items.

1. **Prepare identifiers** Use GTINs where you have them, or MPN plus brand. Set correct condition and availability for each SKU.
2. **Map variants** Each purchasable variant needs its own item in the feed with the same URL and variant attributes. Include colour, size or material where relevant.
3. **Align price and availability** Make stock status and price match the product page and structured data. Update the feed as stock changes.
4. **Submit and monitor** Set up Merchant Center and submit the feed. Fix item-level errors. Keep shipping and returns policies accurate and visible on-site.

If you use a platform app, review the mapping. Check a sample item in Merchant Center against /products/handle to confirm parity on price, sale_price, availability and image_link.

## URL structure and variants

Keep one primary URL per product. Handle variants with care. Only give a variant its own indexable URL when people search for it by name or attribute.

- One product URL, for example /products/blue-suede-trainer. Variants, for example size or colour, can share the product URL with a selected state.
- If a variant has demand, for example “blue suede trainer size 9”, you can give it a stable URL and index it. If not, keep it non-indexable and canonical to the parent.
- Keep parameters minimal and consistent. If you use ?size=9, use that one form everywhere. Avoid multiple parameter names for the same thing.
- Set the canonical to the parent product URL from each variant when variants are not meant to rank alone.

On Shopify, product URLs live at /products/handle. Collection variant URLs like /collections/mens-trainers/products/blue-suede-trainer canonical to /products/blue-suede-trainer by default. Leave that in place. It avoids duplicate content between collection and product paths. Tags and vendor pages can create thin lists, usually better kept out of the index.

## Facets and pagination without index bloat

Filters create many URLs. Let only useful combinations get indexed. Keep the rest crawlable only if needed for users, not for discovery. Avoid infinite combinations.

- Keep the canonical on the unfiltered category page, for example /collections/mens-trainers.
- Allow indexing of a small set of facet URLs that map to real demand, for example /collections/mens-trainers?brand=acme if you see searches for “mens acme trainers”.
- Block the rest from crawling with robots.txt disallow rules that target parameter patterns, or add noindex. Use fragments, for example #size=9, only for facets that must not be crawled at all.
- Rel next and prev are not used by Google since 2019. Give each paginated page its own canonical, or offer a view-all page if it loads fast enough. Link pages clearly with numbered pagination.

A fixed category looks like /collections/mens-trainers with an h1, a short intro, links to top subcategories, and a grid of bestsellers. Filters exist, but only the few with demand are indexable and linked.

## Out of stock, discontinued and seasonal

Do not 404 a product that will return. Keep the page live. Mark availability in structured data. Offer alternatives on the page. Let shoppers sign up for stock alerts if you support that.

- Temporary out of stock: keep the URL, show the status and expected return window if you know it. Keep internal links.
- Gone for good: 301 redirect to the closest alternative product or to the parent category. If there is no close match, 410 is valid.
- Seasonal: keep the page live year round if it earns links or has history. Clarify next availability. Hide from nav when not in season but keep it crawlable.

This protects any rankings and links the product earned. It also avoids soft 404s from weak replacements that do not match intent.

## Images, reviews and snippets that help buyers

Images sell. Reviews reassure. Both can make your result stand out if you implement them cleanly and avoid spammy patterns.

- Upload large, sharp images. Provide one per variant. Use descriptive alt text.
- Use the image field in Product structured data. Point to the main product images that match the page content.
- Show real reviews. Mark up aggregateRating on the product, not on list pages or your organisation page. Do not invent ratings.

## Speed that meets Core Web Vitals

A slow store bleeds clicks and revenue. Aim for LCP under 2.5 seconds, CLS under 0.1 and INP under 200 ms. Test on mobile first, as Google does.

- Optimise the hero image on /products/handle and /collections/handle. Compress and serve modern formats.
- Lazy load below-the-fold images. Preload the main product image and key font files.
- Trim third-party scripts. Remove unused apps. Defer non-critical JS and CSS. Keep the cart and analytics, but question every widget.
- Use the Search Console Core Web Vitals report to see which templates fail. Fix shared issues at the theme level so every product benefits.

## The order of work for a 200 product store

Ship the highest gain changes first. Work template by template so fixes scale across products and categories. Keep a weekly loop with Search Console.

1. **Fix discoverability and structure** Check your sitemap.xml exists and is linked in robots.txt. Ensure categories are linked from the homepage and each has a unique h1 and intro. Add breadcrumbs.
2. **Stabilise URLs and canonicals** Confirm one URL per product. Keep Shopify’s canonical from collection-product to product. Set canonicals from non-indexable variants to the parent.
3. **Implement Product structured data** Add offers, price, availability, reviews and aggregateRating. Test with Rich Results Test. Roll out in the theme so all products get it.
4. **Submit a clean feed** Set up Merchant Center. Map variants correctly. Align price and availability with the page and markup. Fix disapprovals.
5. **Tighten facets and pagination** List the few facet combinations with demand and allow them to be indexed. Disallow noisy parameters in robots.txt. Set pagination without rel next or prev.
6. **Write or improve 50 product pages** Start with top sellers. Replace manufacturer text with unique copy. Add variant images and alt text. Add FAQs if buyers ask the same things.
7. **Tune category pages** Add a short intro. Link to top subcategories and top products. Remove indexable duplicates created by filters.
8. **Improve speed** Compress images. Lazy load below-the-fold. Remove slow apps. Measure LCP, CLS and INP by template and iterate.
9. **Add internal links** From blog guides to categories and products, for example from /guides/getting-started to /collections/mens-trainers and /products/blue-suede-trainer.
10. **Monitor and expand** Use the Search Console Performance report. Find queries where you are close to page one. Improve those pages and consider variant URLs where demand exists.

> Warning: avoid scaled content abuse. Do not generate hundreds of near-empty product or filter pages to chase long tails. Each page must help a buyer.

## Questions

### What is SEO in ecommerce?

It is how your store earns visibility in Search, Images and the Shopping tab. You align pages, product data and site structure so buyers can find and choose your products.

### Can I do ecommerce SEO on my own?

Yes, for a small store. Work on templates, not one page at a time. Ship clean category pages, unique product copy, Product structured data, a matching feed and fast pages. Use Search Console to track progress.

### How do I learn ecommerce SEO as a beginner?

Start with Google’s guidance for ecommerce sites as of 2026. Read about Product structured data, Merchant Center feeds, facets, pagination and Core Web Vitals. Then fix one template at a time and check results in Search Console.

### Do I need a Merchant Center feed if I have structured data?

Yes if you want free listings on the Shopping tab. Structured data helps rich results in Search. The feed powers free listings. Keep both in sync on price and availability.

### Should product variants get their own URLs?

Only when buyers search for them. Keep most variants on the parent product URL with a consistent parameter or a selected state, and canonical back to the parent.

### What do I do with out of stock products?

Keep the URL live if the product will return. Mark it out of stock in structured data and on the page, and show alternatives. If it is gone for good, 301 to the closest match or the category, or 410 if there is none.

## Read next

- [Product page SEO: what a buyer and a crawler need on the page](https://porteur.ai/guides/product-page-seo): Make product pages that rank and convert: titles and descriptions, images with alt, Product structured data, variants and canonicals, links and reviews.
- [Category page SEO: the page that ranks for the product type](https://porteur.ai/guides/category-page-seo): Build a category page that wins broad queries: clear H1, intro, subcategory links, top products, clean filters, solid pagination, and fast loads.
- [Faceted navigation SEO: which filters to index and how to hide the rest](https://porteur.ai/guides/faceted-navigation-seo): Pick which filters should rank, hide the rest, and keep crawl under control. A practical plan for product sites with examples you can ship.
- [Out of stock product pages: keep, redirect or retire](https://porteur.ai/guides/out-of-stock-product-pages): Decide fast: keep a sold out page live, redirect it, or retire it. Mark status, offer alternatives, and avoid losing rankings or confusing shoppers.
- [Product schema: the fields Google reads and the ones it requires](https://porteur.ai/guides/product-schema): Set up Product schema that earns snippets and merchant listings. See the required fields, the recommended ones and a full JSON-LD example.
- [Canonical tags: what they do and the mistakes that cost rankings](https://porteur.ai/guides/canonical-tag): What a canonical tag does, when to use one, the mistakes that cost rankings, and how to check and fix canonicals on a small site.
- [E-commerce site structure: categories, products, and the links between](https://porteur.ai/guides/ecommerce-site-structure): Design your ecommerce site structure so the right page ranks: pyramid, URLs, breadcrumbs, facets, pagination, and links that move buyers.

Want a fast read on your store’s pages, searches and rivals from a URL in about thirty seconds, free, with three findings shown whole? Try Porteur’s check. Free check: https://porteur.ai/
