Skip to content
Building a Shopify app or a SaaS product?Chat on WhatsApp
SEO & AI Search

Shopify Product Page SEO: Beyond the Title Tag

Product pages rarely fail because of their title tags. They fail because the data is thin, the specifications are in an image, and nothing links to them.

AK
Aashish Kaushik · 8 min read · updated 7 October 2026
A craftsman wearing a mask, working on a laptop in a woodworking shop.
On this page

Key takeaways

  • Product data completeness matters more than keyword placement, and it now feeds classic search, shopping surfaces and AI agents at once.
  • Specifications published as images are invisible to every machine reading your catalogue, and this is extremely common.
  • Variant pages are a duplication risk — decide deliberately which variants deserve indexable URLs.
  • Products are usually over-linked internally while collections are under-linked, which is backwards for category queries.

Product page SEO advice tends to be about title tags and keyword placement. Those matter and they are rarely the reason a product page underperforms.

The common causes are duller: fields left empty, specifications published as graphics, manufacturer copy identical to forty other retailers, and a page that nothing internally links to. All four are fixable, and none of them require writing better headlines.

One piece of work, three channels

Everything below improves classic Google ranking, your shopping feed, and the AI surfaces Shopify now syndicates eligible products to. That is the strongest argument for doing it — the same effort pays three times.

Completeness beats cleverness

The fields on a Shopify product are not just admin metadata. They are what machines use to understand and categorise what you sell.

A product with an empty product type, unlabelled variant options and a description of brand voice is not ranked poorly so much as poorly understood. Systems cannot categorise it, cannot match it to specific queries, and cannot answer comparison questions about it.

Fields that need to be right, across the catalogue

  • Title stating the thing literally — what a person would type
  • Product type, populated and consistent across similar products
  • Vendor, populated
  • Variant options describing real attributes, not internal codes
  • Description containing material, dimensions, compatibility and use case
  • Alt text describing the product rather than the marketing concept

Consistency across the catalogue matters as much as correctness within one product. A product type of "Boots" on some items and "Footwear - Boots" on others fragments your own categorisation for no benefit.

Specifications in images are invisible

The single most common and most costly technical error in product catalogues.

A great many stores publish dimensions, materials, compatibility and care instructions as a designed graphic. It looks good. To a shopper it is perfectly usable. To every machine reading the page, that information does not exist.

The consequence is that the product cannot match any query mentioning those attributes, cannot answer a comparison question, and is invisible to the AI shopping surfaces Shopify now syndicates to automatically.

Keep the graphic if it serves shoppers, and add the same information as text as well. This is not a design compromise — the two can coexist, and the text version can sit in a specifications table below the image.

Manufacturer copy is a losing position

If you resell products, your descriptions are probably the manufacturer's, and so are those of every other retailer carrying the item.

This is rarely penalised. It is simply that nothing distinguishes your page, so there is no reason for a search engine to prefer it over any of the others.

What creates a reason:

Your own photography, particularly showing scale and real use.

Your own specifics — the things you know from selling it that the manufacturer's copy does not say. Which size runs small. What it does not work with. Who it suits.

Genuine reviews, which are original content by definition and answer questions the description does not.

The questions your customers actually ask, answered on the page. Your support inbox is the best content brief available for a product page, and almost nobody uses it.

You do not need to rewrite eight hundred descriptions. Add original detail to the products that matter commercially, and let the long tail carry manufacturer copy.

Identifying which products matter is easier than it sounds. Sort by revenue, then by search impressions in Search Console, and look at where the two lists overlap and where they diverge. Products with impressions but few clicks are usually a title or description problem you can fix cheaply. Products with revenue but no impressions are ranking for nothing and being found some other way, which means original content there has the most headroom.

Variants and the duplication question

Shopify variants raise a decision most merchants make by default rather than deliberately.

Variants that represent genuinely different search intent can justify indexable URLs — different capacities, different formats, meaningfully different products sold under one listing. Someone searching for the 512GB model has a specific intent that a generic product page serves poorly.

Variants that are colours or sizes of the same item generally should not each have an indexable page. They produce near-duplicates competing with each other, and none of them accumulates the signals that would let one rank.

The practical check is Search Console. If variant URLs are appearing in the duplicate or crawled-not-indexed buckets in volume, the platform has already decided they are not distinct, and you should stop generating them.

How to actually stop generating variant URLs

Deciding that colour and size variants should not each have an indexable page is the easy part. Implementing that decision on Shopify takes a bit more than flipping a setting, because the platform does not offer a single switch for it.

The most reliable route is the canonical tag your theme renders in the page head. When a shopper lands on a variant URL, such as a product page with a query string identifying a specific colour, the canonical tag should point to the base product URL without that parameter. Most modern Shopify themes do this by default, so the first step is checking rather than building: view source on a few variant URLs and confirm the canonical link element points to the clean product URL, not to itself.

Where a theme is not doing this correctly, or where a custom template has broken it, the fix usually lives in the product template's head section, and it is a small, contained change rather than a structural one. This is worth confirming directly with whoever maintains your theme rather than assuming, since a broken canonical tag on variant URLs is exactly the kind of quiet issue that produces the duplicate-content signals mentioned above without ever throwing an obvious error.

Beyond the canonical tag, check whether your theme or any installed app is generating separate crawlable links to each variant, for instance a colour swatch that changes the page URL and creates a new, distinct link a crawler can follow independently, rather than updating the page in place with JavaScript. If variant swatches behave this way, a crawler can discover and attempt to index each combination as if it were a separate page, working against the canonical tag rather than with it.

The Search Console check described above should be repeated after making any of these changes, not just once at the start. Canonical and indexation signals take time to be reprocessed, so treat this as a fix you verify weeks later rather than one you confirm the same day, and note the date you made the change so you know how long to wait before concluding it did or did not work.

Internal linking on Shopify stores is consistently lopsided, and usually in a way that hurts.

Products are reachable from collections and search. Collections are reachable from navigation. Editorial content, where it exists, tends to link to individual products.

That last habit is the problem. A blog post about choosing walking boots should link to the walking boots collection, because the collection is the page that should win the category query. Linking to one product instead spends the link on a page that was never going to rank for the category and deprives the page that could.

Where internal links should point

ContentShould link toCommon mistake
Category or buying guideThe collectionOne specific product
Product comparisonBoth products, and the collectionOnly the winner
How-to contentThe collection, plus one relevant productNothing at all
Product pageIts collection, via breadcrumbsNo breadcrumb
CollectionAdjacent collectionsNothing

Breadcrumbs deserve specific attention. They are the most reliable product-to-collection link on a store, and many themes either omit them or render them without markup. Adding them is usually a small template change, it benefits shoppers who want to browse sideways, and it emits BreadcrumbList structured data that clarifies your site hierarchy at the same time.

Schema, and where it should come from

Product schema — price, availability, condition, reviews where genuine — should be rendered server-side in the page source, so a crawler sees it without executing JavaScript.

Two things to check before adding anything:

What your theme already emits. View source on a product page and look. Modern themes frequently emit product schema, and installing an app to add it produces two conflicting copies.

Whether it matches the visible page. Schema stating a price the page does not show is worse than no schema, because it undermines trust in everything else you mark up.

Out-of-stock and discontinued products

What you do with products that are no longer available is a genuine SEO decision, and the default — deleting them — is usually the worst option.

A product page that has been live for two years has accumulated links, search history and sometimes rankings. Deleting it discards all of that and produces a 404 for everyone who arrives from an old link, an old email or a bookmark.

The better options, in order of how permanent the absence is:

Temporarily out of stock: keep the page live. Show that it is unavailable, offer a notify option, and suggest alternatives. The page keeps its rankings and is ready when stock returns. Removing and recreating it later starts from zero.

Permanently discontinued, direct replacement exists: redirect to the replacement. The link equity transfers and the customer lands somewhere useful.

Permanently discontinued, no replacement: redirect to the collection. Less ideal than a direct replacement but far better than a 404, and the shopper arrives among relevant alternatives.

Seasonal products: keep the page year-round. A page that vanishes each spring and reappears each autumn never accumulates anything. Keep it, mark it unavailable, and let it build history across seasons.

Availability schema must match reality

Whatever you do, the structured data has to agree with the page. An out-of-stock product still declaring availability in its schema is exactly the kind of mismatch that erodes trust in all your markup — and on shopping surfaces it produces a listing that sends buyers to something they cannot purchase.

The order to work in

  1. Audit field completeness across the catalogue. This is a bulk problem, so treat it as one.
  2. Move specifications out of images into text.
  3. Decide the variant indexation question and stop generating what you do not want.
  4. Add original detail to commercially important products only.
  5. Fix internal linking, particularly breadcrumbs and editorial link targets.
  6. Verify schema is present once, server-side, and accurate.

Steps one to three are mechanical and finite — they have an end state, and once reached they stay reached. Steps four and five are ongoing, but only across the products that matter commercially, which is what keeps the work sustainable rather than endless.

For the structural work at collection level, see SEO and AI search. Product data for AI surfaces is covered in the same archive, and page design in storefront and design.

Frequently asked questions

Should every product variant have its own URL?
Usually not. Variants that represent genuinely different search intent — a different capacity, a different format — can justify their own indexable page.
How long should a Shopify product description be?
Long enough to state the facts a buyer needs and no longer. Length is not the metric; completeness and structure are.
Does duplicate manufacturer copy hurt product pages?
It makes ranking harder, because your page is then one of many carrying identical text and nothing distinguishes it.
Where should product schema come from?
Ideally your theme, rendered server-side in the page source so a crawler sees it without executing JavaScript.
What is the highest-impact product page SEO fix?
For most catalogues, moving specifications out of images and into text, and filling the empty structured fields.

Building a Shopify app or a SaaS product?

ByteInfy designs, builds and ships them. Tell us what you are making.

Chat on WhatsApp

Or reach us directly

About the author

Aashish Kaushik

Founder

Builds Shopify apps and SaaS products at ByteInfy.

More from Aashish

Get new articles by email

No more than one a week. Unsubscribe in one click.

Comments

Comments are reviewed before they appear.

Keep reading

A woman makes a contactless payment at a stylish Berlin café, emphasizing technology and modern retail.

Fixing Shopify's Duplicate Content Problem

Shopify creates several URLs for the same product, and handles the obvious half itself. The half it does not handle is where your crawl budget goes.

16 October 2026 · 7 min readRead
Businessman packing products and managing an online store from his desk with a laptop.

Image Alt Text for Shopify SEO, Done at Scale

A store with 800 products has thousands of images. Alt text written one at a time never finishes, and rules applied blindly produce keyword soup.

13 October 2026 · 8 min readRead
A man shops using a smartphone at a grocery store, holding a red basket filled with groceries.

Shopify Collection Page SEO: Fixing the Structural Problems

Category queries are won by collection pages, and most Shopify collections are a heading, a filter bar and a grid. That is the largest untapped surface on most stores.

30 September 2026 · 7 min readRead
WhatsApp