The pre-cutover SEO checklist that survives the move

Before you touch a single DNS record: the three signals most likely to break silently in a replatform are your canonical tags, your hreflang cluster, and your structured data. They break silently because nothing 404s, nothing throws an error, and the page looks perfect to a human. The machines just quietly stop trusting it. This is a checklist for confirming all three survive the move, and it's meant to be run before cutover, while you can still fix things without a rankings graph shaped like a ski slope explaining the situation to your VP.

Imagine you're moving house. Not the fun part, the part three weeks later when the post is still going to your old address, the delivery driver is standing in the wrong doorway, and every box you packed is labelled "stuff." That is precisely what these three signals do for search engines and answer engines. Canonical tags forward your mail. Hreflang tells the driver which door speaks which language. Structured data is the label that says what's actually inside the box without anyone having to open it.

Get them wrong, and the new site is technically live and effectively invisible.

Canonical tags: which of these doors is the real one

A canonical tag (rel="canonical") tells search engines the single preferred URL among a set of duplicates. On a migration, the classic failure is embarrassingly boring: the staging domain leaks into production. Your dev team built the new site on staging.example.com, the CMS templated the canonical off the current host at build time, and now every page on your live site is politely insisting the real version lives on a server nobody outside the office can reach.

I have seen this exact bug on more sites than I can count. It's the peanut-butter-side-down of migrations. It will happen to you if you don't look for it.

Three things to confirm. Every canonical points to the production HTTPS domain, not staging, not HTTP, not a trailing-slash variant that redirects. Every indexable page self-references (its canonical is its own final URL). And no canonical points at a URL that's about to become a 301 or a 404 in the new structure, because a canonical aimed at a redirect is a signal you're actively fighting yourself over.

Hreflang: telling the driver which door speaks which language

Hreflang tells search engines which language and region version to serve. It's the most fragile of the three because it only works if it's reciprocal: if your English page points to the French page, the French page must point back. Break one side of that handshake during a URL restructure and Google ignores the whole cluster.

Codes matter and people get them wrong constantly. Use ISO 639-1 for language (en, fr, de) and optional ISO 3166-1 Alpha 2 for region (en-gb, en-us). It's language first, then region, never the other way around. There is no en-uk; the code is gb. Add an x-default for your fallback. And decide where the tags live: HTML head, HTTP headers, or the XML sitemap. Pick one method and be consistent, because a migration that moves some clusters to the sitemap and leaves others in the head is a migration that has quietly declared civil war on itself.

Structured data: the label on the box

Structured data (schema.org markup, and JSON-LD is the format Google recommends) is how a machine reads what a page is without parsing the prose. It's your box label. On a migration it breaks in two ways: the new templates drop fields the old ones populated, or they emit markup that no longer validates because a required property went missing when the content model changed.

One honest note so you don't over-invest: Google has pulled back on what it rewards. FAQ rich results are now limited to authoritative government and health sites, and HowTo rich results were retired entirely back in 2023. So don't spend cutover week resurrecting FAQ markup for the SERP candy. Do keep Article, Product, Organization, Breadcrumb, and anything an AI answer engine leans on to understand who you are and what you sell, because that's increasingly where your visibility actually lives now.

The three signals side by side

Signal | What it does | How it breaks at cutover | How to verify before go-live
Canonical | Names the preferred URL among duplicates | Staging domain or old URLs leak in; points at a redirect | Crawl staging, confirm every canonical is the final production HTTPS URL and self-references
Hreflang | Maps language/region variants to each other | Return links break; wrong codes; mixed delivery methods | Check reciprocity across the whole cluster and validate every code
Structured data | Tells machines what the page is | New templates drop fields or emit invalid markup | Validate key templates against schema.org; diff old vs new field coverage

Run it on staging, not on Sunday night

Here's the part everyone skips. All three of these are checkable on the staging environment days before cutover, and none of them require the site to be public. Crawl staging, extract the canonical from every page, and diff it against what production emits today. Do the same for the hreflang graph and for structured-data coverage per template. What you're building is a before-and-after picture so precise that when a field vanishes or a domain leaks, you see it as a diff instead of a mystery.

This is exactly the kind of pre-cutover comparison worth automating across a whole site rather than spot-checking twenty pages and hoping the other forty thousand match. It's the job a pre-migration crawl is built to do: score every page's signals so the ones about to break announce themselves while you can still fix them cheaply.

So what would I actually do

I'd treat these three as a hard gate, not a nice-to-have. No cutover until staging proves every canonical points home, every hreflang pair shakes hands, and the structured data on your top templates still validates. Not because Google will punish you next Tuesday, but because these are the labels on the boxes, and moving into a new house where nothing is labelled is how you spend the next quarter opening boxes to find out what's inside. Label the boxes before the truck leaves. Future-you, staring at a flat traffic graph in week three, will want to shake present-you's hand.