URL migration / handoff guide

Turn redirect, canonical and sitemap checks into a URL migration handoff

Keep 301/308 redirects, the destination canonical and sitemap inclusion in one table. Separate fixture strings from live reachability and search processing.

Separate four states

This guide can pass only the values and handoff rows checked in local fixtures.

StateMeaningNext action
VerifiedSynthetic redirect, canonical and sitemap values match expectationsWrite old and new URLs into the owner table
StaleCanonical or sitemap still references the old URLGive the repair to the publishing owner
MissingDestination or sitemap inclusion is absentFill the gap before cutover
UnknownLive redirect chain, crawler access and indexing were not fetchedKeep the boundary visible

Compare three values in one row

old URL → 301/308 → destination, the destination canonical and sitemap.xml inclusion are separate values. One match is not proof that the migration is complete.

301 → /guide
canonical → /guide
sitemap → /guide
A verified synthetic row.
canonical → /old/guide
sitemap → missing
live chain: UNKNOWN
Do not mix stale, missing and unknown.

Hand it to the owner

Record the old URL, new URL, redirect state, canonical state, sitemap state and owner action on one row. Live redirects and search processing require a separate check.

old: https://old.example.invalid/guide
new: https://new.example.invalid/guide
action: update canonical and sitemap

The fixtures are static. This guide never fetches or executes the old URL, new URL, robots.txt or sitemap.xml.

What this guide does not guarantee

It does not guarantee a live redirect chain, crawler access, authentication, rankings, indexing, social previews or migration completion. Do not turn unknown into verified.