Product pages are the highest-intent pages in any ecommerce store — someone searching "buy Sony WH-1000XM5" is moments away from purchasing. Yet most product pages are thin, duplicate-prone, and technically broken. Here's how to fix that.
Fix 1: Stop Using Manufacturer Product Descriptions
This is the single biggest cause of product page duplicate content. Every retailer selling the same product uses the same manufacturer text — Google indexes all of them, can't determine which deserves to rank, and deprioritises all of them. The fix is original copy.
How to write product descriptions that rank
-
1Start with the buyer's problem, not the product's features
Open with the pain point this product solves. "If noise cancellation doesn't block out your open-plan office, you're losing hours of focus every week" outperforms "50dB noise cancellation."
-
2Add real-world context to spec sheets
Transform "30-hour battery life" into "30 hours — a full work week without charging, even on heavy use days." Specs without context don't differentiate or persuade.
-
3Answer the top 3 pre-purchase questions directly
Look at reviews, competitor Q&A sections, and "People also ask" boxes to find what buyers worry about. Address these in the description — reduces bounce rate and improves conversions simultaneously.
-
4Add a "Who is this for?" section
Captures long-tail use-case searches and helps buyers self-qualify. Naturally includes keyword variations without stuffing, expanding your ranking surface area.
Fix 2: Rewrite Your Title Tags
Product page title tags have a dual job: signal relevance to Google and get clicks when searchers see 10 options in the SERP. Most ecommerce title tags fail at both.
Sony WH-1000XM5 | AudioShop
Sony WH-1000XM5 Wireless Headphones — Best Price + Free Shipping | AudioShop
The formula: [Primary Keyword] — [Key Differentiator] | [Brand Name]. Include the model number, a buying signal (free shipping, best price, in stock), and keep it under 60 characters.
Don't create separate pages for every variant if the content is identical. Use a single canonical product page with variant selectors. Only create separate indexable pages for variants with meaningful search volume — verify this with GSC or Ahrefs first.
Fix 3: Add Product Schema Markup
Product schema is the most impactful schema type for ecommerce. It enables rich results showing star ratings, price, and availability directly in the SERP — significantly lifting CTR before a single click happens.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Sony WH-1000XM5 Wireless Headphones",
"brand": { "@type": "Brand", "name": "Sony" },
"offers": {
"@type": "Offer",
"priceCurrency": "USD",
"price": "349.99",
"availability": "https://schema.org/InStock",
"url": "https://yourstore.com/products/sony-wh1000xm5"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "2340"
}
}
Google penalises sites where schema data (price, availability, ratings) doesn't match actual page content. Out-of-stock items must update the availability field. Inaccurate schema can result in rich result removal or a manual action.
Fix 4: Optimise Product Images the Right Way
Product images matter for two reasons: they're the primary LCP element on most product pages, and they drive significant Google Images traffic most ecommerce sites completely ignore.
- Rename files before uploading:
sony-wh1000xm5-black-side.jpgbeatsIMG_4729.jpgfor Google Images ranking. - Write descriptive alt text: "Sony WH-1000XM5 wireless headphones in black, side view" — not "headphones1".
- Serve WebP or AVIF format: 30–50% smaller than JPEG/PNG with identical visible quality.
- Set explicit width and height: Always include dimensions on <img> tags to prevent CLS layout shifts.
- Preload the hero image: Add
<link rel="preload" as="image">in <head> for the first visible product image — highest-impact LCP fix for product pages. - Lazy load gallery images: Add
loading="lazy"to gallery images that aren't visible on initial page load.
Fix 5: Solve the Faceted Navigation Problem
Faceted navigation (filtering by size, colour, brand, price) without proper handling generates thousands of duplicate URLs that consume crawl budget and dilute PageRank. This is one of the most common crawl budget disasters on large ecommerce sites.
Three approaches — pick one and be consistent
-
ANoindex + allow crawl (most common)
Add
meta name="robots" content="noindex, follow"to filtered URLs. Google won't index them but will follow their links and discover new pages. Best for most ecommerce sites. -
BCanonical to category page
Point all filtered URLs' canonical tags back to the main category page. Good when filtered pages have no unique ranking value. Consolidates all PageRank to the category page.
-
CIndex high-value filter combinations only
For filters with real search volume (e.g., "red Nike running shoes"), create fully-optimised indexable pages with unique title tags, H1s, and content. High effort but significant long-tail traffic reward.
Fix 6: Stop 404ing Out-of-Stock Pages
Deleting or 404ing out-of-stock pages is one of the most common — and costly — ecommerce SEO mistakes. Here's the correct approach for each scenario:
- Temporarily out of stock: Keep the page live. Update schema availability to
OutOfStock. Add a "Notify me when back in stock" form. Never 404 or redirect — you'll lose rankings and backlinks. - Permanently discontinued with links/rankings: 301 redirect to the closest alternative product or parent category. Never leave a 404 on a page that had backlinks pointing to it.
- Permanently discontinued, no links or traffic: Return a 410 (Gone) status code. Tells Google to remove it from the index faster than a 404.
- Replaced by a new model: 301 redirect old URL to new product URL. Add a note: "Looking for the XM4? We now carry the improved XM5."
Fix 7: Fix Internal Linking — Your Product Pages Are Orphaned
Product pages are typically the most internally orphaned pages on ecommerce sites — linked only from category navigation and nowhere else. This severely limits PageRank flow and ranking signal strength.
In Screaming Frog, run a crawl and filter by "Inlinks = 0". Any product page with zero internal links is invisible to Google's internal crawl. Add at least 2–3 internal links from elsewhere on your site to every orphaned product page — this week.
- Cross-sell blocks: "Customers also bought" and "Frequently bought together" pass PageRank between related products while improving average order value.
- Real breadcrumb links: Every product page should show a breadcrumb trail — and those links must be real HTML links, not just visual elements.
- Link from blog content: Buying guides and comparison posts linking directly to relevant product pages with descriptive anchor text = high-value PageRank flow.
- Recently viewed / similar products: These dynamic sections create additional internal link paths through your product catalogue for Googlebot to follow.
Get an Ecommerce SEO Audit
We audit product page structure, schema, crawlability, and content — then deliver a prioritised action list with estimated traffic impact for each fix.
Get My Free Audit → Takes 2 minutes. No credit card. Response within 24 hours.