Product page SEO is where most ecommerce search strategies quietly fail. Homepages get the design attention, category pages get the keyword research, blog posts get the content budget, and product pages, the only pages where someone actually buys something, inherit whatever the platform generates by default.
That is an odd allocation, because product pages have a property no other page type shares: they attract traffic that has already decided to buy and is now deciding where. A visitor searching “waterproof hiking boots size 10” is further down the funnel than one searching “how to choose hiking boots”. Product pages catch the second query badly and the first query brilliantly, if they are built for it.
This guide covers 21 things worth doing, organised in the order a real project should tackle them: foundation first, then on-page content, then images, then technical implementation, then performance and AI search. Each tip explains the mechanism rather than just the instruction, because in ecommerce product page SEO the instruction without the mechanism is what produces sites where every recommendation has been followed and nothing ranks.
Two framing notes. First, you almost certainly should not optimise every product page, and a large part of product page optimization is deciding which pages deserve the work at all. Second, several widely repeated pieces of advice on SEO for product pages are now wrong, including some that appear in guides published this year. Those are flagged as they arise.
Why product pages are the hardest pages to optimise
Product pages fail in ways that other pages do not, and understanding the failure modes explains most of the tips that follow.
They are generated at scale. A category page is hand-built; product pages are produced by a template filled from a database. Whatever is wrong with the template is wrong on ten thousand URLs simultaneously, which is why product page problems are almost always systemic rather than individual.
They start as duplicate content. Most product pages launch with the manufacturer's description, which means the same paragraphs exist on every retailer selling that item. Google has no reason to index the fiftieth copy of a description it already has, which is the single most common reason product pages are crawled and then left out of the index.
They multiply through variants. One physical product in six colours and five sizes can generate thirty URLs, all nearly identical. Handled badly, this creates a duplication problem that no amount of copywriting will fix.
They churn. Products are discontinued, restocked, renamed and reprised. A blog post published in 2020 is still the same URL today; a product page can outlive the product it describes, and how you handle that determines whether you keep the accumulated ranking signals or throw them away.
And they carry a double burden. A product page must satisfy a search engine and convince a human to spend money, in the same layout, at the same time. Optimising for one at the expense of the other is the most common way these pages get worse while their scores improve.
Before you start: decide which product pages deserve the work
On a catalogue of any size, optimising every product page is neither possible nor sensible. The distribution of value across a catalogue is steep: a minority of products generate most of the revenue and most of the search demand, and they are not always the same products.
The 80/20 framing is popular in ecommerce SEO advice and it is useful as a prompt rather than as a law. Your catalogue may be 90/10 or 60/40. Check rather than assume, using four inputs you already have:
- Revenue by product, from your platform's own reports. This identifies what the business cannot afford to have invisible.
- Organic landing pages and impressions, from Search Console. This identifies which product pages Google already considers worth showing, which is where improvement compounds fastest.
- Search demand for the product type, from keyword research. A product with genuine query volume behind it justifies deeper work than one nobody searches for by name.
- High-revenue and high-margin are different lists, and the second one usually deserves priority.
Cross-reference those and you will find three groups. Products with demand and revenue but weak rankings are your first tier, because the constraint there is the page rather than the market. Products already ranking well need protection rather than optimisation. And the long tail, typically most of the catalogue, should be handled at the template level: get the title pattern, schema, image handling and internal linking right for every page automatically, then stop.
| The template-versus-page distinction For the long tail, fix the template. A better title formula applied across four thousand pages returns more than a hand-written description on one. For your top tier, fix the page. Hand-written copy, original photography, real specifications and genuine reviews are what separate a page that ranks from one that merely exists. Almost every failed ecommerce SEO project inverted this: hand-writing a few pages while leaving the template broken. |
Part 1: Foundation (tips 1 to 4)
1. Start from search intent, not keyword volume
Keyword research for product pages is not a hunt for the biggest number. It is a matching exercise: which queries indicate someone wants to buy this specific thing, as opposed to learn about the category?
The distinction is visible in the query itself. “Hiking boots” is a category query, and a product page will rarely win it because Google reads the intent as browse-and-compare, so it returns category pages and buying guides. “Salomon Quest 4 GTX mens size 10” is a product query, and here a product page is the correct result type. Between them sit modifier queries such as “waterproof hiking boots for wide feet”, which usually want a filtered category page rather than a single product.
So the practical rule is to map query types to page types before writing anything: product queries to product pages, modifier queries to category or filtered pages, and research queries to guides that link to both. Targeting a category query with a product page produces a page that ranks for nothing, which is the most common wasted effort in this field.
For Canadian stores there is a genuine additional layer. Queries carrying local qualifiers, shipping expectations or currency assumptions behave differently, and “ships from Canada” or “in stock Canada” attached to a product query signals a shopper trying to avoid cross-border delays and duties. That is a real intent worth serving explicitly on the page.
2. Assign one primary keyword per product page, and write it down
Each product page should target one primary query, with related variations following naturally. This sounds obvious and is violated constantly, usually by accident rather than intent.
The accident happens through variants and near-duplicates. If you sell the same jacket in three colourways and each URL targets “waterproof shell jacket”, those pages compete with one another. Google then has to choose which to index, and a frequent outcome is that it indexes one and excludes the rest, or excludes all of them because none is clearly the strongest. That is keyword cannibalisation, and on ecommerce sites it is usually a structural problem rather than an editorial one.
The fix is administrative and cheap. Maintain a mapping of URL to primary keyword, whether that lives in a spreadsheet or your PIM. Before a new page goes live, check whether its intended keyword is already assigned. If it is, the answer is to consolidate, to differentiate the angle, or to canonicalise the variant, not to publish and hope.
3. Product page URL structure: settle it before you have ten thousand URLs
URLs are cheap to design and expensive to change, so this belongs early. Google's guidance is to organise content so URLs are constructed logically and are intelligible to humans.
What that means in practice for product pages:
- Descriptive words rather than database identifiers. /hiking-boots/salomon-quest-4-gtx beats /p?id=48812.
- Hyphens between words, lowercase, no spaces or underscores.
- Short and stable. Every element you add is something that can change and force a redirect later.
- Consistent patterns across the catalogue, so the structure is predictable to both crawlers and people.
- Avoid embedding volatile attributes such as year, price or stock status in the path.
One genuine decision point: whether to nest products under categories. Nesting communicates hierarchy and supports breadcrumbs, but it creates a problem when a product belongs to several categories, and it forces redirects when categories are reorganised. A flat product path with breadcrumb markup expressing the hierarchy avoids that, and is the more robust default for a catalogue you expect to restructure. Neither choice is wrong; choosing late is.
4. Decide how variants are handled before you optimise anything
Variants are the defining technical problem of product page SEO, and the decision you make here determines whether the rest of your work compounds or fights itself. Three approaches are defensible, and they suit different catalogues.
| Approach | How it works | Best when | Trade-off |
| Single canonical page | One indexable URL; variants selected on-page without separate URLs | Variants differ only cosmetically and are not searched for by name | Loses the ability to rank for variant-specific queries |
| Variants canonicalised to a parent | Each variant has a URL but canonicals to the main product | Variants need shareable URLs but not independent rankings | Variant queries route to a page that may not show the right option by default |
| Indexable variants with ProductGroup markup | Variants are separately indexable and grouped using ProductGroup with hasVariant | Real search demand exists for specific variants, such as sizes or colours people name | More markup to maintain; risk of thin duplicate pages if demand does not exist |
Google introduced structured data support for product variants in February 2024, using ProductGroup with hasVariant and variesBy, which makes the third option considerably more viable than it used to be. The test for choosing it is empirical rather than theoretical: does anyone actually search for the variant by name? People search for shoe sizes and specific colourways in some categories and never in others. Check your Search Console query data before creating thousands of indexable variant URLs, because unwanted variant pages are one of the fastest ways to fill a site with thin, near-duplicate content.
Part 2: Ecommerce on-page SEO for product pages (tips 5 to 10)
5. Product title SEO: write titles that serve shoppers and crawlers at once
The on-page product title is doing two jobs: telling a shopper they have found the right item, and telling Google what the page is about. A useful pattern is brand, then product name, then the attributes people actually search on.
Which attributes matter depends entirely on the category, and this is where generic advice fails. For apparel, size and colour are searched. For electronics, model number and capacity. For tools, voltage and compatibility. For consumables, quantity and format. Look at your own Search Console queries to see which attributes appear in real searches for your products, rather than importing someone else's list.
What to avoid: cramming every attribute into the title until it reads like a database row, and appending promotional language such as “Best Price” or “Free Shipping”, which occupies space that could carry a searchable attribute and dates badly when the promotion ends.
6. The title tag and the product page meta description do different jobs
The title tag is a ranking-relevant element and your main lever over how the page appears in results. The meta description is not a ranking factor and Google frequently generates its own snippet from page content when that better matches the query. Both are worth writing well; they are not worth agonising over.
A correction worth making explicitly, because the old advice is still widely repeated including in guides published this year: there is no character count that guarantees anything. Titles and descriptions truncate by pixel width and device, not by a fixed number of characters, and no length is a ranking factor. Advice to write titles of exactly 50 to 60 characters and descriptions of exactly 150 to 160 was always an approximation of display truncation, and treating it as a rule leads people to pad or truncate copy for no benefit.
The useful guidance is simpler. Put the distinguishing information early so it survives truncation. Make every title unique across the catalogue, which templated patterns can achieve automatically if the template includes enough distinguishing fields. Write descriptions that give a concrete reason to click, mentioning the specific thing a shopper is deciding on, such as fit, compatibility or shipping origin. And accept that Google will sometimes rewrite both.
7. Use one descriptive H1 and a real heading structure
One H1 per page, describing the actual product. On most platforms this is the product name and requires no work, which is why it gets skipped in audits and is occasionally wrong: some themes use the site name or a category label as the H1, which wastes the most prominent on-page signal you have.
Below the H1, product pages benefit from real headings more than most people implement. Specifications, sizing and fit, compatibility, care instructions, shipping and returns, and questions all deserve their own headings rather than being buried in one block of prose. This helps a shopper scan on a phone, and it gives search engines and AI answer engines extractable sections. A page where “Does this fit a 2019 model?” sits under its own heading is a page that can be surfaced for that question.
8. Product description SEO: replace manufacturer copy, starting with your top tier
This is the highest-value content work on any product page and the most frequently deferred, because it does not scale. Manufacturer copy is identical across every retailer carrying the item, which offers Google nothing it does not already have indexed many times over.
What original copy should contain, in rough order of usefulness:
- Who the product suits and who it does not. Ruling someone out builds more trust than claiming universal fit, and it reduces returns.
- Answers to the questions your support team actually receives about this product. Those questions are free keyword research and they are specific to your customers.
- Concrete detail a shopper is deciding on: how it fits, what it works with, what is in the box, how it compares to the obvious alternative.
- First-hand observation. If you have handled the product, say what surprised you. This is what nobody else selling the same item can copy.
- Honest limitations. “Runs half a size small” is worth more than three paragraphs of adjectives.
Place the primary keyword naturally in the opening lines, then write for the reader. The old advice to hit a keyword density target is not just outdated but actively harmful: keyword stuffing breaches Google's spam policies and makes the copy worse at its actual job, which is persuading someone to buy.
Where hand-writing thousands of descriptions is impossible, be strategic. Hand-write the top tier. For the long tail, ensure the template surrounds the manufacturer text with genuinely unique material: your specifications, your shipping information, your reviews, your Q&A. A page whose only unique content is the price is a page with a duplication problem.
9. Publish complete, structured specifications
Specifications are the most underrated content on a product page. They are the reason a shopper chooses your listing over a competitor's with the same photo, they answer comparison queries directly, and they are trivially extractable by AI answer engines that are increasingly asked to compare products.
Publish them as a genuine table with consistent field names across the catalogue, not as a paragraph. Consistency is what lets a shopper compare two of your products, and what makes the data machine-readable. Include the unglamorous fields competitors omit: exact dimensions, weight, materials, compatibility, warranty terms, country of origin, and whatever is category-specific. Missing specifications are a common reason a shopper leaves a page to search elsewhere, and that search frequently ends at a competitor.
10. Build reviews, ratings and customer questions into the page
Reviews serve three purposes at once, which is unusual. They provide the social proof that converts, they generate genuinely unique content on an otherwise templated page, and they use the vocabulary real customers use, which surfaces phrasing your copywriters would not have chosen.
A customer questions section is the underused half of this. Every question asked is a query someone typed, and answering it on the page captures long-tail traffic while reducing support load. If your support inbox receives the same question about a product repeatedly, that question belongs on the page under its own heading.
One accuracy point that has changed and is worth getting right: self-serving reviews placed on an organisation's own site about itself are no longer eligible for review rich results. Genuine customer reviews of a product on a product page remain eligible. Mark up what you actually have, using AggregateRating and Review where the reviews are real, and never fabricate them or use markup for ratings that are not visible on the page. Both are policy violations and both are detectable.
Part 3: Images and media (tips 11 to 13)
11. Product image SEO: optimise for search and speed at the same time
Product images carry more weight on ecommerce pages than anywhere else. They are usually the largest visible element, which makes them the Largest Contentful Paint element and therefore a performance liability, and they are simultaneously a discovery channel through Google Images and Lens.
Five things to get right:
- Descriptive filenames. salomon-quest-4-gtx-mens-brown.webp rather than IMG_2847.jpg. Small effect, near-zero cost.
- Genuine alt text describing the image for someone who cannot see it. This is an accessibility requirement first and an SEO benefit second. Write what the image shows; do not list keywords.
- Modern formats and correct dimensions. Serve WebP or AVIF, and size the file to its display dimensions. Uploading a 4000-pixel photograph and scaling it in CSS forces every visitor to download the full file.
- Explicit width and height attributes on every image, which prevents the layout shift that occurs when text reflows around a late-arriving image.
- Multiple angles, scale references and in-use shots. This is conversion work rather than SEO work, and on product pages the two are hard to separate.
The trade-off nobody mentions: lazy loading is good practice for images below the fold and actively harmful for the main product image. Lazy-loading your LCP element delays the exact measurement Google takes. Exclude above-the-fold imagery from lazy loading, and consider a preload with a fetch priority hint for the primary product image.
12. Maintain an image sitemap when your catalogue justifies it
An image sitemap helps Google discover images it might not otherwise find, particularly when images are loaded by JavaScript or served from a separate domain or CDN. On a large catalogue with visual discovery potential, this is worth doing.
Be realistic about the scale of the benefit, though. This is a discovery aid, not a ranking factor, and on a small catalogue where images are referenced directly in the HTML, Google will find them regardless. The advice to treat an image sitemap as a major win applies to large image-heavy catalogues and overstates things for a fifty-product store. Separating sitemaps by content type, with product URLs in one and images in another, is more useful in both cases because it makes indexing coverage legible per type in Search Console.
13. Add video where it answers a real question
Video on product pages earns its place when it resolves something static images cannot: how a garment moves, how an assembly works, how large something actually is. Where it does that, it reduces returns and increases time on page for legitimate reasons.
Where it does not, it is a performance cost with no return. An autoplaying background video on a product page is a straightforward INP and LCP liability. If you use video, mark it up with VideoObject so it is eligible for video results, host or embed it in a way that does not block rendering, and never autoplay it.
Part 4: Technical implementation (tips 14 to 18)
14. Implement product schema markup, and know which type you need
Product schema markup is the highest-leverage technical work on a product page, because it directly determines which search features the page is eligible for. It is also where most implementations are incomplete rather than absent.
Google separates Product structured data into two features, and confusing them is the usual mistake:
| Feature | For | Unlocks | Notes |
| Product snippets | Pages where the product cannot be purchased directly, such as editorial reviews and aggregators | Price, rating and availability in the organic snippet | Has more options for review information, including pros and cons on editorial review pages |
| Merchant listings | Pages where a customer can buy from you | Shopping Knowledge panel, Popular Products, and shopping experiences in Google Images and Lens | Supports detailed commerce fields such as shipping details, return policy and apparel sizing |
| ProductGroup | Grouping variants of one product | Variant handling via hasVariant and variesBy | Introduced February 2024; use when variants are separately indexable |
If you sell direct, aim for merchant listing eligibility rather than product snippet eligibility. Google notes that adding the required product information properties for merchant listings generally makes pages eligible for product snippets as well, so the more complete implementation covers both.
Practical implementation notes that catch people out. Use JSON-LD. The core properties are name, image, and offers containing price and priceCurrency, with availability required for merchant listings. Format price as a plain number: 149.99, never $149.99 or 1,349. Add shippingDetails and hasMerchantReturnPolicy to unlock the shipping and returns information that shoppers comparing listings actually read. And only mark up what is visible on the page, because marking up data users cannot see is a policy violation.
Also worth knowing: providing both on-page structured data and a Google Merchant Center feed maximises eligibility, and some experiences combine the two. Product snippets may use pricing from your feed if it is absent from the page markup.
15. Validate the markup, then monitor it in Search Console
Schema that contains errors delivers nothing, and schema breaks silently when a template changes or a plugin updates. Validation is therefore not a one-time task.
Run new markup through Google's Rich Results Test to confirm which features the page qualifies for and to catch critical errors. Then, and this is the part usually skipped, monitor it continuously in Search Console. Google provides two separate reports under the Shopping section: a Merchant listings report for pages where shoppers can buy, and a Product snippets report for other product-related pages. They are separate because the requirements differ. Check them monthly, because a template deployment that breaks schema across the catalogue will show up there long before you notice it in traffic.
16. Handle canonicals, faceted navigation and pagination deliberately
This is where ecommerce sites accumulate the most index bloat, and where a small number of decisions have very large consequences.
Canonicals first. Every product page you want indexed needs a self-referencing canonical. Variants that should not rank independently should canonicalise to their parent. Remember that Google treats canonical tags as a strong hint rather than a directive, so check the Google-selected canonical in URL Inspection rather than assuming your tag was honoured.
Faceted navigation is the larger risk. Filters that generate crawlable URLs can produce combinatorial explosions: colour, size, price band and brand combined can generate tens of thousands of near-identical URLs from a few hundred products. Decide which facet combinations have genuine search demand and should be indexable, and prevent the rest from being crawled or indexed. Getting this wrong wastes crawl capacity on URLs that will never rank, and on a large catalogue that directly delays discovery of the pages you care about.
On pagination, a correction: rel=”next” and rel=”prev” are no longer used by Google for indexing, and have not been for years, though the advice to implement them persists in guides published recently. Keep them if you like for other user agents, but do not treat them as an SEO measure. What matters now is that paginated pages are crawlable, that each page in a sequence self-canonicalises rather than pointing at page one, and that products are reachable through links Google can follow. Infinite scroll with no crawlable pagination underneath is a common way to make deep products undiscoverable.
17. Product page internal linking and breadcrumbs that mean something
Internal links are how product pages get discovered and how importance is communicated. On a large catalogue they are also the main structural signal you fully control.
Four things worth being systematic about. Eliminate orphan pages: every product you want indexed needs at least one crawlable internal link, and products orphaned by a removed category are a frequent and invisible cause of deindexing. Implement breadcrumbs with BreadcrumbList markup, which aids navigation and clarifies hierarchy. Make related-product and cross-sell modules use real crawlable links with descriptive anchors rather than JavaScript-only interactions. And link from relevant content to relevant products, since a buying guide linking to the products it discusses is both useful and a genuine ranking signal.
Anchor text should be descriptive and varied. Repeating one exact-match phrase across every internal link to a product reads as manipulation rather than navigation. If your site navigation itself is the constraint, we have written separately on improving ecommerce site navigation.
18. Have a policy for out-of-stock and discontinued products
This is the tip most guides omit entirely, and on a real catalogue it affects more URLs than anything else on this list. The wrong handling throws away ranking signals that took years to accumulate.
| Situation | Recommended handling | Why |
| Temporarily out of stock | Keep the page live and indexable; set availability to OutOfStock in schema; offer restock notification | The product still exists and the query still has demand. Removing the page discards its accumulated signals |
| Seasonal, returning later | Keep the page live year-round; note expected availability | Rebuilding rankings each season is far more expensive than maintaining one URL |
| Discontinued, direct replacement exists | 301 redirect to the replacement product | Transfers accumulated signals to the page that now serves the query |
| Discontinued, no replacement, but demand persists | Keep or replace with a page explaining the discontinuation and listing alternatives | Serves the query that people are still typing, and retains the traffic |
| Discontinued, no demand, no links | Return 410, or 404, and remove from the sitemap | A clean retirement signal. Leaving thin pages live contributes to a quality problem across the section |
The mistake to avoid is deleting product pages the moment stock runs out, which is the platform default in some configurations. It produces broken links, wasted crawl budget on soft 404s, and the permanent loss of whatever authority those URLs had earned.
Part 5: Performance and AI search (tips 19 to 21)
19. Fix Core Web Vitals, and know which part is your hosting
Product pages are performance-hostile by nature: many images, review widgets, personalisation, analytics tags, payment scripts. They also carry the most revenue per visit, which makes them the pages where performance matters most.
The current Core Web Vitals, assessed at the 75th percentile of real-user visits, are Largest Contentful Paint at 2.5 seconds or less, Interaction to Next Paint at 200 milliseconds or less, and Cumulative Layout Shift at 0.1 or less. A note for anyone auditing older guidance: First Input Delay was replaced by Interaction to Next Paint in March 2024, so any product page checklist still listing FID is out of date.
On product pages specifically, each metric has a characteristic cause. LCP is almost always the main product image, or the server response that precedes it. INP is usually third-party JavaScript, with variant switching and filter interactions the common triggers, since those are precisely the interactions the metric measures. CLS is usually review widgets, personalisation blocks or images without dimensions.
The part worth separating carefully is how much of this is hosting. Time to First Byte is a direct component of the LCP chain, and web.dev treats 0.8 seconds or less at the 75th percentile as good, with above 1.8 seconds poor. If your TTFB is two seconds, a good LCP is arithmetically impossible regardless of how well the images are compressed. So the diagnostic order matters: break LCP into its phases first, and only then decide whether the constraint is infrastructure or front end. Hosting can make good Core Web Vitals impossible; it cannot deliver them alone, because no server reserves space for a review widget.
Where hosting is the constraint, the levers are server-level full-page caching, guaranteed CPU rather than contended shared resources such as VPS hosting, current PHP and database versions, a CDN, and origin proximity to your customers. When people evaluate Canadian hosting for SEO, this is the mechanism that actually matters: for a store serving Canadian shoppers, Canadian web hosting in Canadian data centres reduces round-trip latency, which feeds directly into TTFB. We have covered how web hosting affects ecommerce performance in Canada, server-side caching versus plugin caching and Core Web Vitals and managed WordPress hosting in more depth. The honest caveat is that server location improves latency; it is not a direct ranking bonus for Canadian results, and any provider claiming otherwise is overstating a real but indirect relationship.
20. Optimise product pages for AI search and answer engines
This is the newest material on the list and the area where most product page guides are thinnest. Shoppers increasingly begin in AI Overviews, ChatGPT search, Perplexity or Gemini, asking comparison and suitability questions rather than typing product names. Those systems synthesise answers and cite sources, and the pages they can parse cleanly are the pages they cite.
What makes a product page citable, based on how these systems work rather than on speculation:
- Complete, consistent structured data. This is the machine-readable version of your product, and it is the most reliable way to communicate price, availability, specifications and identity unambiguously.
- Real specification tables with consistent field names. Comparison questions are the dominant AI shopping query, and a table is directly extractable in a way that prose is not.
- Explicit answers to suitability questions under their own headings. “Will this fit a 2019 model?” as a heading with a direct answer beneath it is retrievable; the same information buried mid-paragraph is not.
- Self-contained statements. A sentence that depends on the previous three paragraphs for meaning cannot be lifted. One that states the fact completely can.
- Entity clarity. Brand, model, GTIN or MPN, and category stated explicitly, so the system can identify the product with confidence rather than inference.
- Genuine reviews and Q&A, which supply the experiential detail these systems draw on for suitability judgements.
Two honest caveats. First, this is a fast-moving area and specifics will change, so build for the durable principle, which is that clear structure and unambiguous facts are extractable while marketing prose is not. Second, being cited in an AI answer does not guarantee a click, and there is a real strategic question about visibility without traffic. That question is not resolved, and anyone presenting a definitive answer is speculating. For a fuller treatment of how these surfaces differ from classical search, see how Google Search and SearchGPT differ for SEO.
21. Measure, test and iterate on the templates that matter
Product page SEO is not a project with a completion date, because catalogues change continuously. What makes it manageable is measuring at the template level rather than the page level.
What to track: impressions and clicks by landing page, grouped by template, since template-level movement tells you whether a change worked; queries per product page, which reveals what Google thinks the page is about and where it diverges from what you intended; indexed product count against published product count, which is the fundamental health check; the Merchant listings and Product snippets reports for schema errors; Core Web Vitals field data per template group; and conversion rate per template, which is what justifies the next round of work.
Two disciplines that separate effective programmes from busy ones. Change one variable at a time, so that a change in results is attributable. And judge results over a quarter rather than a week, because the field data window alone runs roughly 28 days and indexing changes take time to propagate. Reacting to weekly noise causes teams to revert changes that were working.
Canadian considerations for ecommerce product pages
A few things genuinely differ for Canadian stores, and a few widely repeated claims do not hold up.
What genuinely matters. Show prices in Canadian dollars and state the currency explicitly, since ambiguity between CAD and USD is a real abandonment cause. State shipping origin, because “ships from Canada” resolves the duties and delay question that Canadian shoppers are actively trying to answer. Be explicit about duties and customs where relevant. Use Canadian spelling in copy where natural, since it matches how customers write and reads as local rather than imported. And reduce latency for Canadian visitors, which is where origin location and a CDN genuinely help.
What does not hold up: the claim that hosting on a Canadian IP address improves your Canadian rankings. Google infers geographic relevance principally from your domain, your content and language, your Search Console country targeting, and your links, not from server coordinates, and a CDN decouples serving location from origin anyway. Canadian hosting is worth choosing for latency and for data residency. Presenting it as a ranking lever is not supportable, and it is a claim worth removing wherever it appears on your own site.
Twelve common product page SEO mistakes
| Mistake | Why it costs you | What to do instead |
| Publishing manufacturer descriptions unchanged | Identical to every competitor, so it offers Google nothing new. A leading cause of product pages being crawled but not indexed | Rewrite the top tier; ensure the template adds unique material to the rest |
| Targeting category queries with product pages | Google returns category pages for browse intent, so the page ranks for nothing | Map query type to page type before writing |
| Letting variants compete | Multiple near-identical pages on one keyword force Google to choose, and it may index none | Decide the variant strategy first: canonical, parent, or ProductGroup |
| Deleting out-of-stock pages | Discards accumulated ranking signals and creates broken links | Keep the page, mark availability, offer restock alerts |
| Uncontrolled faceted navigation | Generates tens of thousands of near-duplicate URLs and wastes crawl capacity | Index only facet combinations with real demand; block the rest |
| Lazy-loading the main product image | Directly delays the element LCP measures | Exclude above-the-fold imagery; consider preload with fetch priority |
| Chasing keyword density | Breaches spam policies and makes the copy worse at persuading | Place the keyword naturally, then write for the buyer |
| Marking up invisible or invented data | A policy violation, and detectable | Mark up only what appears on the page |
| Treating schema as one-time work | Template and plugin updates break markup silently | Monitor the Search Console shopping reports monthly |
| Relying on rel=next and rel=prev | No longer used by Google for indexing | Ensure paginated pages are crawlable and self-canonical |
| Hand-writing a few pages while the template stays broken | The template governs thousands of URLs; the hand-written page governs one | Fix templates for the long tail, pages for the top tier |
| Claiming Canadian hosting boosts Canadian rankings | Not supportable, and undermines credibility with informed readers | Make the latency and data-residency case, which is true |
Product page SEO best practices: the working checklist
A condensed version you can work through per template.
Foundation
- Primary keyword assigned, recorded, and not duplicated elsewhere
- Query type matches page type
- URL is descriptive, lowercase, hyphenated and stable
- Variant strategy decided and implemented consistently
On-page
- Unique title tag with distinguishing information early
- Meta description written, with no reliance on a character count
- One H1 naming the product; real headings for specifications, fit, shipping and questions
- Original description on priority products; unique template content on the long tail
- Complete specification table with consistent field names
- Genuine reviews and a customer questions section
Images
- Descriptive filenames and genuine alt text
- Modern format, correctly sized, with explicit width and height
- Main product image excluded from lazy loading
- Multiple angles and a scale reference
Technical
- Product schema present, targeting merchant listing eligibility if you sell direct
- Price as a plain number; availability, shipping and return policy included
- Validated in the Rich Results Test; shopping reports checked monthly
- Self-referencing canonical, and Google-selected canonical confirmed
- Faceted navigation controlled; pagination crawlable and self-canonical
- No orphan products; breadcrumbs marked up
- Out-of-stock and discontinued policy applied
Performance
- LCP 2.5 s or less, INP 200 ms or less, CLS 0.1 or less on field data
- TTFB measured at peak hours, ideally under 0.8 s
- Third-party scripts audited against their business value
- Mobile content, headings and structured data match desktop
Conclusion
The reason product page SEO underperforms is rarely that a tip was missed. It is that the work was allocated wrongly: hand-crafted attention paid to a handful of pages while the template governing thousands stayed broken, or months spent on copywriting when the constraint was a two-second server response, or a variant strategy never decided so every subsequent improvement fought itself.
So the sequence matters more than the list. Decide which products deserve individual attention and which are template work. Settle the variant and URL questions before you scale. Get schema complete rather than merely present. Establish whether your performance problem is infrastructure or front end before spending on either. Then write the copy, because copy on a well-structured page compounds and copy on a broken one does not.
None of this guarantees rankings, and any guide implying otherwise is selling something. What it does is remove the avoidable reasons a product page is crawled and then left out of the index, which on most catalogues is where the recoverable traffic actually sits.
If you want a second opinion on which of the two constraints you are facing, that is a diagnosis rather than a project: measure your field data, break your worst metric into its causes, and check whether your product pages are actually indexed before optimising them further. Our SEO services team works with Canadian ecommerce businesses on exactly that, and reliable Canadian web hosting with SSD hosting and SSL certificates covers the infrastructure side. The diagnostic itself costs nothing and will tell you which conversation to have.
FAQ
10 questions. Answers are self-contained so they can be extracted by featured snippets and AI answer engines. FAQPage JSON-LD can be generated to match on request.
What is product page SEO?
Product page SEO is the practice of optimising individual ecommerce product pages so they rank for purchase-intent queries and convert the resulting traffic. It combines keyword and intent mapping, original product copy, complete specifications, image optimisation, Product structured data, canonical and variant handling, internal linking, and page performance. It differs from general ecommerce SEO in that product pages are template-generated at scale and start life as duplicate content.
How do I optimise a product page for SEO?
Assign one primary keyword that reflects purchase intent, write an original description rather than using the manufacturer's, publish a complete specification table, optimise images with descriptive filenames and explicit dimensions, implement Product schema aiming for merchant listing eligibility, add a self-referencing canonical, ensure the page has internal links so it is not orphaned, and confirm it meets Core Web Vitals thresholds on field data.
Does web hosting affect product page SEO?
Indirectly but genuinely. Hosting determines Time to First Byte, which is a direct component of the Largest Contentful Paint chain, so a slow server can make a good LCP arithmetically impossible. It also affects uptime and crawl capacity. Hosting cannot fix oversized images, third-party JavaScript or layout instability, so it is a constraint to remove rather than a ranking lever to pull.
What schema markup do product pages need?
Product structured data in JSON-LD. If customers can buy from you, target merchant listing eligibility, which requires core properties including name, image, and offers with price, priceCurrency and availability, and supports shippingDetails and hasMerchantReturnPolicy. Google notes that meeting merchant listing requirements generally makes a page eligible for product snippets too. Use ProductGroup with hasVariant for variants. Validate with the Rich Results Test.
How long should a product description be?
There is no correct length, and any specific word count is invented. The description should be long enough to answer what a buyer is deciding on: fit, compatibility, what is included, how it compares to the obvious alternative, and who it does not suit. A focused 200 words that answer real questions outperform 800 words of adjectives.
How do I stop product variants from competing with each other?
Choose one of three approaches deliberately. Keep a single indexable page with on-page variant selection; give variants URLs that canonicalise to the parent; or make variants separately indexable and group them with ProductGroup markup. The third is only worth it when your Search Console data shows people actually search for variants by name.
Should I delete product pages for discontinued products?
Usually not immediately. If a direct replacement exists, 301 redirect to it. If demand for the query persists, keep a page explaining the discontinuation and listing alternatives. Only return 410 or 404 when there is no demand and no inbound links. Deleting pages the moment stock runs out discards ranking signals that took a long time to accumulate.
How do I optimise product pages for AI search and Google AI Overviews?
Make the page machine-parseable: complete and consistent structured data, real specification tables with consistent field names, explicit answers to suitability questions under their own headings, self-contained statements that can be lifted without surrounding context, and unambiguous entity data such as brand, model and GTIN. Genuine reviews and Q&A supply the experiential detail these systems use for suitability judgements.
Do meta descriptions still matter for product pages?
They influence click-through but are not a ranking factor, and Google frequently generates its own snippet from page content when that better matches the query. Write one that gives a concrete reason to click, mentioning the specific thing a shopper is deciding on. Do not spend time counting characters, since truncation depends on pixel width and device.
How many product pages should I optimise at once?
Split the catalogue. Hand-optimise the products carrying most of your revenue, margin and search demand, which is usually a small minority. Handle everything else at the template level, so title patterns, schema, image handling and internal linking are correct automatically across every page. Optimising individually at scale is not achievable and is not where the return is.
Key takeaways
- Product pages attract purchase-intent traffic, which makes them the highest-value and most-neglected pages in most ecommerce SEO programmes.
- Most product pages launch as duplicate content, because they carry the manufacturer's description. That is the leading reason they are crawled and then left out of the index.
- Split the catalogue: hand-optimise the minority of products carrying revenue, margin and search demand, and fix the template for everything else.
- Settle the variant and URL decisions before scaling. A variant strategy chosen late means every later improvement fights itself.
- Aim for merchant listing eligibility in Product structured data if you sell direct, since it generally confers product snippet eligibility as well.
- There is no character count for titles or descriptions that guarantees anything, and no keyword density target worth pursuing.
- Current Core Web Vitals are LCP 2.5 s, INP 200 ms and CLS 0.1 at the 75th percentile. First Input Delay was replaced in March 2024.
- Hosting sets a floor via Time to First Byte and can make a good LCP impossible, but it cannot fix images, JavaScript or layout instability.
- Never lazy-load the main product image; it delays the exact element LCP measures.
- Have a documented policy for out-of-stock and discontinued products. Deleting pages when stock runs out discards accumulated ranking signals.
- For AI search, structure and unambiguous facts are what get cited. Specification tables and question-led headings are extractable; marketing prose is not.
- Canadian hosting improves latency and supports data residency. It is not a direct ranking bonus for Canadian results.









