E‑Commerce SEO Migration: Product and Category Pages in Next.js

Hero image for E‑Commerce SEO Migration: Product and Category Pages in Next.js. Image by Tem Rysh.
Hero image for 'E‑Commerce SEO Migration: Product and Category Pages in Next.js.' Image by Tem Rysh.

In Brief

Product and category URLs are important revenue paths within your ecommerce application, not just templates. Before moving them to Next.js, map product, category, filtered, variant, discontinued, campaign, and redirect URLs, then make sure that you have protected canonicals, schema, product data, internal links, and outofstock rules. Real catalogue data should drive the test.

Ecommerce migrations are unforgiving because the URLs are not just pages. They are revenue paths.

A product page may have backlinks, paid traffic, organic rankings, customer bookmarks, review snippets, merchant data, and internal links from multiple categories. A category page may be the main landing page for a highintent query. A filtered page may be a useful shopping state or a crawl trap.

Moving product and category pages to Next.js can improve speed, flexibility, content control, and frontend architecture. It can also break search visibility if URL, canonical, product data, schema, and internal linking rules are treated as implementation details.


Inventory Product and Category URL Patterns

Start by exporting the current URL estate.

Include:

  • product detail pages
  • category pages
  • collection pages
  • brand pages
  • filtered URLs
  • search result URLs
  • paginated URLs
  • discontinued products
  • variant URLs
  • campaign landing pages
  • old redirects
  • sitemap URLs
  • organic landing pages from Search Console

Group URLs by intent. A category landing page, a faceted filter state, and a product variant should not be handled the same way.

Google's ecommerce SEO guidance is a useful external baseline, but the migration needs a sitespecific URL policy.


Decide Product URL Stability

Product URLs need clear rules.

Questions to answer:

  • does the product URL include category path?
  • what happens when a product moves category?
  • do variants get their own URLs?
  • what happens when a product is discontinued?
  • do outofstock products stay indexable?
  • how are duplicate products handled?
  • how are canonical products chosen?

For many stores, stable product URLs without category dependency are safer. Category paths can change as merchandising changes. If the product URL changes every time the category changes, redirects and canonicals become noisy.

That said, some stores have categoryled URL strategies for good reasons. The point is not one universal rule. The point is choosing one deliberately before migration.


Treat Category Pages as Landing Pages

Category pages often carry more SEO value than teams realise.

A good category page should have:

  • clear h1
  • useful introductory copy where appropriate
  • product grid
  • crawlable product links
  • subcategory links
  • buying guidance where useful
  • stable sorting and pagination rules
  • canonical URL
  • structured breadcrumbs
  • internal links from navigation and content

Do not migrate category pages as empty product grids. If the old page had useful copy, internal links, or merchandising context, preserve or improve that value.


Handle Faceted Navigation Before Implementation

Facets can generate a huge URL space.

Decide which filter combinations are:

  • indexable landing pages
  • crawlable but not indexable
  • internal shopping states
  • blocked or nofollowed
  • canonicalised to parent category
  • represented by curated category pages instead

The draft on faceted navigation SEO in headless commerce covers this in detail. For migration work, the important part is that the policy must exist before components are built.

If the filter UI updates URLs, make sure the team knows which of those URLs search engines should discover and how they should behave.


Preserve Product Data and Schema

Product schema can support richer search results, but only when it matches visible product content.

Check:

  • product name
  • description
  • images
  • price
  • availability
  • brand
  • SKU or GTIN where available
  • variants
  • reviews and ratings where visible and compliant
  • breadcrumbs
  • canonical URL

Do not mark up hidden product data or stale prices. If price and availability update from Shopify or another commerce engine, schema needs to use the same reliable source.

Structured data should be part of template acceptance criteria, not something added after launch.


Plan Discontinued and Out‑Of‑Stock Products

Discontinued products need a policy.

Options include:

  • keep page live with alternatives
  • redirect to replacement product
  • redirect to category
  • return 404 or 410
  • keep page indexable for support or informational value
  • noindex while retaining for users

Outofstock products are different from discontinued products. If the item returns soon, the page may need to stay live and indexable. If it is gone permanently, a replacement path may be better.

The wrong policy can remove useful longtail traffic or keep dead pages in search results too long.


Ecommerce internal linking is product discovery.

Check:

  • navigation
  • category links
  • subcategory modules
  • product cards
  • breadcrumbs
  • related products
  • recently viewed products
  • buying guides
  • editorial links
  • sale or campaign links
  • footer links

If the new site relies heavily on clientside filtering or infinite scroll, make sure important products and categories still have crawlable links.

For headless builds, React components can accidentally turn links into buttons or state updates. That may work for users, but it weakens discovery.


Test Migration with Real Product Data

Do not validate only with clean fixtures.

Use products with:

  • many variants
  • missing images
  • long titles
  • special characters
  • discounts
  • outofstock states
  • discontinued status
  • multiple categories
  • reviews
  • rich descriptions
  • missing optional fields

That is where product templates break. Production catalogue data is rarely as neat as the design system examples.


Wrapping Up

An ecommerce SEO migration to Next.js needs more than a fast product grid.

The migration has to preserve product URL value, category landingpage meaning, canonical decisions, faceted navigation policy, product schema, internal links, and discontinuedproduct rules. Those decisions affect search visibility and revenue, so they need to be made before launch.

Next.js can be an excellent frontend for ecommerce. It still needs a commerceaware migration plan.

Key Takeaways

  • Inventory product, category, filtered, variant, and discontinued URLs before migration.
  • Choose product URL and canonical rules deliberately.
  • Treat category pages as landing pages, not just product grids.
  • Define faceted navigation policy before implementation.
  • Keep product schema aligned with visible, current product data.
  • Test templates with messy production catalogue data.

Planning a platform change?

I help teams make difficult platform work clearer, from architecture decisions and migrations to launch recovery, performance, and search visibility.