DEV Community

sepideh jafari
sepideh jafari

Posted on

What an E-Commerce Migration Taught Me About Technical SEO

Moving an e-commerce website to a modern framework sounds like a development project.

From an SEO perspective, it can be much more than that.

A migration can change URLs, rendering behavior, canonical tags, pagination, structured data, internal links, redirects, sitemaps, and even which pages search engines are able to discover.

That means a website can become technically faster and cleaner while simultaneously becoming harder for Google to understand.

Working on e-commerce SEO has made me increasingly skeptical of one assumption:

A successful deployment does not necessarily mean a successful migration.

The application can work perfectly for users while search engines see a very different website.

URLs Are Part of the Product

Developers often think about URLs primarily as routes.

Search engines see them as documents.

That difference becomes important during a migration.

Imagine an old product page has accumulated rankings, backlinks, historical signals, and internal links over several years.

The new application launches with a cleaner URL structure.

From a development perspective, this may be an improvement.

From an SEO perspective, however, we immediately need to know:

Did the old URL redirect correctly?
Is the redirect permanent?
Does it point directly to the equivalent new page?
Are internal links still referencing the old URL?
Is the new URL included in the sitemap?
What canonical does the new page declare?

A URL change isn't simply a routing decision once search engines have already discovered the old version.

It becomes a migration decision.

Redirects Need a Map, Not Guesswork

One of the easiest ways to lose organic visibility during a migration is treating redirects as something to configure after launch.

Redirect planning should happen before the migration.

Ideally, every important old URL should have a known destination.

For large stores, that means working with groups such as:

Old product → New product

Old category → New category

Old brand page → New brand page

Removed product → Relevant replacement or appropriate parent page

Not every URL deserves a redirect to the homepage.

In fact, sending large numbers of unrelated URLs to the homepage can create a confusing experience for both users and search engines.

The destination should preserve intent whenever possible.

Canonicals Can Quietly Break an Otherwise Good Migration

Canonical problems are particularly dangerous because the page itself may look completely normal.

A product loads.

The title is correct.

The description is there.

Users can buy it.

But somewhere in the HTML, the canonical points to the wrong URL.

Now the application and the SEO signals disagree about which document should be indexed.

I've learned to treat canonical validation as a separate migration test rather than assuming it is correct because routing works.

For important templates, I want to verify:

Product canonical
Category canonical
Brand canonical
Pagination behavior
Parameterized URLs
Protocol and hostname consistency

One incorrect template can affect thousands of URLs.

That's the difference between page-level SEO and platform-level SEO.

E-Commerce Sites Create URLs Very Easily

Online stores naturally create multiple ways to reach products.

Filters, sorting, pagination, categories, brands, colors, availability states, and tracking parameters can all affect URLs.

This is useful for users.

It can become complicated for crawlers.

Suppose a category offers filters for brand, price, color, and availability.

If every possible combination creates a crawlable URL, a relatively small product catalog can produce a very large crawl space.

The important question isn't whether filters should exist.

They should.

The question is whether every filter state needs to become a search-engine-accessible page.

Some filtered pages may represent valuable search demand.

Others are simply temporary interface states.

Treating both groups identically can create unnecessary indexation and crawling.

A Real E-Commerce Example

I've been dealing with many of these questions while working on the SEO of AsanGSM, an e-commerce website focused on mobile repair tools and equipment.

The project became particularly interesting from a technical SEO perspective because the website moved from WordPress to a Next.js-based architecture.

That kind of migration makes it necessary to look beyond rankings and individual keywords.

You have to examine the entire system:

URL behavior, redirects, canonicals, pagination, sitemaps, structured data, crawl paths, and the relationship between the old architecture and the new one.

It reinforced something I now consider fundamental:

A framework migration should include an SEO migration plan from the beginning.

SEO shouldn't arrive after the new application is already live.

Sitemaps Should Describe the Website You Want Indexed

A sitemap isn't just a giant list of URLs the application happens to know about.

It should represent the URLs you actually want search engines to consider.

That means an XML sitemap shouldn't casually include:

redirected URLs,
non-canonical URLs,
parameter variations,
pages intentionally excluded from indexing,
broken pages,
or duplicate routes.

If a URL is in the sitemap while another SEO directive says it shouldn't be indexed, you're sending conflicting signals.

At scale, those inconsistencies matter.

A useful sitemap should be boring.

Mostly clean, canonical, indexable URLs returning successful responses.

Structured Data Needs Migration Testing Too

Structured data is another area where migrations can create silent regressions.

The visible product page may survive the migration perfectly while Product or Offer markup becomes incomplete.

For an e-commerce website, structured data can include information such as:

product name,
price,
availability,
currency,
offers,
ratings,
and other product properties.

This data shouldn't be treated as decoration.

It should be generated from reliable product information and validated after deployment.

A migration checklist that only verifies the visible frontend is incomplete.

The machine-readable version of the page matters too.

Crawling the New Website Is One of the Best Reality Checks

Looking at individual pages in a browser isn't enough.

A crawler gives you a different view of the website.

Suddenly you can see patterns:

hundreds of redirects,

unexpected parameter URLs,

missing canonicals,

duplicate titles,

broken internal links,

non-indexable URLs inside the sitemap,

or templates generating inconsistent metadata.

This is why crawling before and after a migration is so valuable.

Humans inspect pages.

Crawlers expose systems.

And most serious technical SEO problems are systemic.

Next.js Doesn't Automatically Solve SEO

Next.js is powerful.

It gives teams excellent options for rendering, routing, metadata, performance, and application architecture.

But using Next.js doesn't automatically make a website SEO-friendly.

You can build an extremely fast application that still has poor canonical logic.

You can implement server-side rendering while exposing thousands of unnecessary URLs.

You can achieve excellent performance while accidentally removing valuable internal links.

Technology provides capabilities.

Architecture determines how those capabilities are used.

That's why I don't think the useful question is:

“Is Next.js good for SEO?”

A better question is:

“Has this Next.js implementation been designed with search behavior in mind?”

Search Console Becomes More Valuable After Migration

A crawler tells you what your website exposes.

Search Console tells you how Google responds to it.

After a migration, I pay particular attention to changes in:

indexed pages,
excluded pages,
discovered URLs,
crawled URLs,
canonical selection,
sitemap processing,
structured data reports,
and organic landing pages.

Not every fluctuation is a disaster.

Search engines need time to process major changes.

But unexpected patterns can reveal problems that weren't visible during development.

The goal isn't to panic over every graph.

It's to compare expected behavior with actual behavior.

The Bigger Lesson

E-commerce migrations sit at the intersection of development, UX, data, and search.

That's what makes them difficult.

A developer can successfully migrate the application.

A designer can successfully migrate the interface.

A product team can successfully migrate the catalog.

And the project can still lose important search signals if nobody owns the SEO migration.

The safest approach is to treat SEO requirements as part of the migration specification itself.

Before launch, know:

which URLs are changing,
where old URLs will redirect,
which pages should be indexable,
how canonicals will be generated,
how filters and pagination behave,
what enters the sitemap,
how structured data is produced,
and how the new site will be monitored after deployment.

Modernizing the technology is valuable.

Preserving the meaning and discoverability of the website while doing it is what makes the migration complete.

Top comments (0)