This website migration case study uses a small, deliberately constructed catalogue to demonstrate redirect testing. It is a controlled technical example, not a client traffic result. The source files and tests are included so the decisions can be inspected and repeated.

Discuss your projectSee selected work

The example moves a furniture catalogue from older product and category paths to a simpler structure. It includes a renamed category, a replacement product, a removed product without an equivalent and an unchanged article. These cases require different decisions; treating all of them as homepage redirects would lose useful meaning.

The short version

When a site moves, old links must still work. Each old page needs a clear plan. It can point to a new page, stay where it is, or be marked as gone. Sending everything to the homepage is the common mistake. It looks tidy, but people and search engines lose the page they came for.

This example shows that plan on a small, made-up furniture shop. It lists every old page, the decision for each one and the reason. Then a set of tests checks the plan. The tests look for loops, for links that point to pages that do not exist, and for lazy homepage redirects.

You can download the files and run the tests yourself. They do not touch a live site. They only check that the plan makes sense before anyone changes a server.

The same steps work on a real shop. The list is just longer. Start early, keep the list in one place, and test it before launch day, not after.

The migration decisions

The migration decisions
Old route Decision Reason
/catalog/chairs/ Redirect to /collections/chairs/ The category has a direct equivalent
/item/oak-chair-v1/ Redirect to /products/oak-chair/ The same product has a new route
/item/desk-old/ Redirect to /products/desk/ The example defines a genuine replacement
/item/retired-lamp/ Return a removed-page response No equivalent is provided in this fixture
/guides/chair-sizing/ Keep the existing route The useful article does not need to move

What the tests check

The test suite verifies that mapped destinations exist in the fixture, redirects reach their destination directly, no route points to itself and no cycle is present. It also checks the deliberate removed-page decision and preserves the unchanged guide.

Migration test fixture: Old URL, Reviewed destination, Verified response.

Negative tests introduce a loop, an unknown destination and a blanket homepage redirect. They confirm that the validator rejects those faults. Testing only a valid map would prove much less: a validator that accepts everything would pass that single test too.

Download the migration fixture and tests. The pack uses Python’s standard library and includes the exact run command. It validates the example data locally; it does not crawl your website or change redirects on a server.

What this example cannot prove

A valid mapping file is not proof that production serves the intended responses. The deployed server or platform still needs HTTP checks. Product equivalence also requires business judgement: a script can confirm that a destination exists, but cannot know that a replacement chair is suitable for the original buyer.

The fixture does not measure ranking retention, conversion or traffic uplift. Those outcomes require real before-and-after evidence, with dates and other changes recorded. A technically correct migration can still change search performance for reasons beyond redirects.

Use the same method on a real migration

Build the source inventory from a crawl, sitemaps, Search Console, analytics and known external links. Assign an owner to uncertain destinations. Rehearse the mapping on a test environment, then check the deployed responses and update internal links to the final routes.

Keep a record of important old URLs after launch. Monitor them for unexpected errors and check the new site’s canonical and indexing signals. The ecommerce migration SEO checklist covers the wider release process, including content and measurement.

For a Shopify move, see the platform migration guide. For a broader visual and structural change, see website redesign.

Make migration work reviewable

A good handover contains the old-to-new map, exceptions, test evidence, launch checks and rollback responsibilities. That gives the business a way to assess the work beyond whether the homepage looks correct.

Discuss your migration or redirect plan if you need implementation tied to clear acceptance tests.

Related guides