How to Do SEO for an E-commerce Product Page

On this page

A product page that hundreds of retailers also sell ranks on differentiation, not on domain authority you cannot out-muscle. When you and fifty competitors all publish the manufacturer’s description for the same SKU, Google has no reason to prefer your copy of it, and against larger stores you will lose the authority contest every time. The levers that actually move a product page are the ones that make your version distinct: a unique description that answers buying questions, genuine user reviews, complete Product structured data, and internal links beyond the single category link most products are stuck with. Get those right on the products that matter and the page earns a reason to rank that authority alone does not provide.

Manufacturer copy is duplicate content by default

The description that ships with a product feed is the same text on every retailer’s page. From Google’s side it is duplicate content distributed across the web, and no version of it differentiates you. You cannot rewrite every description on a catalog of thousands, so prioritize: rank products by search volume and margin and rewrite the descriptions for the top of that list first. The long tail of low-traffic SKUs can keep the feed copy; the products people actually search for and that actually make you money are where unique description work pays back.

What a differentiating description actually answers

Spec regurgitation is not differentiation, because the specs are also in the feed. A description that earns the page its own footing answers the questions a buyer has that the spec sheet does not: who this product is for and who it is not for, how it compares to the obvious alternatives, what using it is actually like, and the objections that stall a purchase. A blender’s spec sheet lists wattage; a useful description tells the reader whether that wattage handles frozen fruit and nut butters or struggles, and how loud it is in an apartment. That content is unique to you, it matches how people actually search, and it is the ranking lever. The rest of this page is about clicks; this paragraph is about whether you rank at all.

Product structured data and the rich-result reality

Add Product structured data with the fields that matter: name, image, brand, sku, offers (with price, priceCurrency, and availability), and aggregateRating/review when you have genuine reviews. Mark it up accurately, because the schema must match what is visible on the page; a review count in the markup that disagrees with the page is a violation.

Be precise about what this earns. Product markup can make a page eligible for merchant-listing experiences and product snippets in Search, surfacing price, availability, and review stars. But two cautions hold. First, aggregateRating only earns review stars when the reviews are genuine first-party reviews on the product; self-serving review markup about your own brand on your own site has not been eligible for stars since Google’s 2019 policy change, so do not mark up a brand “we’re rated 5 stars” widget and expect stars. Second, and this is the sequencing point most teams get wrong: schema does not raise rankings. Its value is click-through via rich results. Adding schema to a page with duplicate content does not make it rank; it makes a page that already ranks more clickable. Unique content first as the ranking lever, schema second as the click lever.

Variant URLs: one canonical or separate pages

The variant decision turns on search demand. If shoppers search for the variant itself, “red leather tote” as a distinct query with real volume, a separate indexable URL per variant lets you target that query directly and is worth the duplication risk. If the variants are interchangeable from a search standpoint (the same bag in eight colors nobody searches by color), keep one product URL and handle variants in the interface.

Know your platform’s default. Shopify generates variant URLs as ?variant= query parameters and automatically canonicalizes them to the base product URL, which is the right behavior for most stores: signals consolidate onto one page and you avoid near-duplicate variant pages competing with each other. The pitfall is internal links or sitemap entries pointing at ?variant= URLs instead of the base, which can trigger “Duplicate, Google chose a different canonical than the user” in Search Console. If you genuinely want variants to rank separately, you are overriding that default deliberately, with apps or custom URLs, and you take on the duplicate-management work that comes with it. Decide by variant search volume, then make the platform behavior match the decision.

Reviews as unique UGC

Genuine user reviews do double duty. They are unique content no competitor selling the same SKU has, written in natural buyer language that covers long-tail phrasing and objections your description missed, and they are what makes aggregateRating eligible for star snippets. A product page with real reviews differentiates itself from every feed-copy competitor automatically, because the reviews are yours alone. Solicit them without incentives that distort the rating, and let them accumulate; they are one of the few assets on a commodity product page that competitors cannot replicate.

Out-of-stock handling

The default instinct, deleting or redirecting an out-of-stock product, is usually wrong. If the product is coming back, keep the page live and update the availability value in the schema to reflect out-of-stock status; the page keeps its accumulated rankings, links, and reviews, ready for restock. Only when a product is permanently discontinued does redirection make sense, and then to the closest equivalent or its parent category, not the homepage. Churning live, ranking pages to 404s on every temporary stockout throws away equity you will have to rebuild.

Product images: unique assets and crawlable signals

The images on a product page are an SEO asset most stores underuse, and on a commodity SKU they are another axis of differentiation. The feed image is the same one your competitors use; your own photography (the product in real use, from angles the manufacturer shot never shows, with scale and texture a buyer actually wants to judge) is content only you have, and it both helps conversion and gives Google Images something distinct to rank. Treat the photos the way you treat the description: invest the original-shoot effort on the products that matter most, and let the feed images stand on the long tail.

Make those images legible to crawlers. Give each a descriptive, accurate file name and alt text that says what the product is rather than “IMG_4821,” include the primary image in the Product structured data, and make sure the images are reachable in the rendered HTML rather than loaded only by a script Google has to execute. Mind page experience while you are there: large unoptimized product photos are a common cause of slow loading and layout shift, both of which work against a page that is trying to rank and convert. Serve appropriately sized, compressed images in a modern format and reserve their dimensions so the page does not jump as they load. The point is not a separate ranking trick; it is that the same photography that differentiates the page and persuades the shopper should also be fast and machine-readable rather than a performance liability.

Internal linking beyond the category page

Most products are linked from exactly one place: their category page. That makes them shallow in the site’s link graph and dependent on a single path for crawl and equity. Add links that reflect real relationships: related products, complementary items (“frequently bought with”), and curated collections or buying guides that point into the product. A product reachable from a category page, a comparison guide, and a “complete the set” block is structurally stronger than one hanging off a lone category link, and the links double as merchandising that helps the shopper.

Frequently Asked Questions

Does Product schema improve my rankings?

No. Structured data does not raise rankings directly; its value is click-through via rich results such as price, availability, and review stars in the SERP. The ranking lever on a product page is unique content (descriptions and reviews). Add schema after the content is differentiated, to win clicks, not before, hoping to win positions.

Should each product variant have its own URL?

Only if the variant has its own search demand. If people search for the specific variant (“blue cotton crewneck” as a real query), a separate indexable URL lets you target it. If variants are interchangeable for search, keep one canonical product URL. On Shopify, ?variant= URLs auto-canonicalize to the base product, which suits most stores.

Sources