Before the relaunch: test system against live
The date is set, the test system is running, sign-off is in. What nobody has checked: whether every page that brings visitors today will answer at the same address tomorrow. Notice that only after the switch and the redirects come weeks too late — Google has seen the old URLs as 404 by then, and the positions lost that way do not come back on their own. Between staging and production there is no redirect to follow; both sites have to be crawled and compared page by page.
How to go about it in JMX
- Open Environments. In the Environments tab (the Apply section) enter the live URL and the test URL. If you have just crawled the live site, tick Use the current crawl as the live site and save yourself the second run.
- Fill in the test access. Basic auth, Ignore the test environment’s robots.txt, Accept invalid certificates — these three apply to the test system only, the live site is crawled untouched. Then Start comparison.
- Work through the eight verdicts. Every page gets exactly one: Unchanged, Path changed, Missing on test, Test only, Status differs, Indexability differs, Content changed, Metadata changed. Whatever else is outstanding on the same page shows in the Differences column.
- Read Match and Confidence. JMX looks for moved pages in nine rungs of decreasing certainty — from the identical path through byte-identical source, fingerprint and title to a grown slug (
/datenschutz→/datenschutzerklaerung) and plain path similarity. Which rung caught it is in the Match column, how much it is worth in Confidence. - Generate redirects. The button next to Export writes a finished
.htaccess, nginx.conforweb.configfrom every row with a changed path. Code is set to 301, Live from % defaults to 90; anything below that comes along commented out. - Search for the staging hostname. In the Search tab, look for the test hostname in Source. It hides in image paths, scripts and tracking snippets, and otherwise travels into the live system with everything else.
- Check robots.txt and sitemap beforehand. Under Settings → Crawl → Custom robots.txt (draft) the file you have not deployed yet governs the crawl instead of the live one, effect on the AI crawler overview included. The Sitemap check tab holds the new
sitemap.xmlagainst the one served live, without crawling.
What to watch out for
A high Parity is not a sign-off. The comparison deliberately stays quiet about what it knows as an expected difference: the domain, and noindex on the test system — a staging site open to search engines would be the worse mistake. What counts is reported the other way round: noindex live but not on test, and a canonical pointing at the other environment. A page that moved and answers with 404 at the same time shows up as “Status differs” and not as “Path changed”; write the redirect first here and you only lead visitors to the error faster.
Below 100 %, a match is an assessment, not proof. 100 % means the same path or byte-identical content; below that JMX inferred it from a fingerprint, a title or the shape of the path, and where two candidates stood equally well, the confidence is split between them. That is exactly what the commented-out lines are for. They are review items, not waste. From 2,000 pages without a counterpart the path search also stops comparing every path with every other and only compares paths that share components — a note above the table says so when that kicks in.
If the site consists of many near-identical pages — categories without products, empty result lists — it pays to switch off Also match moved pages by their content; the moves that were only visible in the content then stay undetected. The environment comparison also answers the question before the switch, not the one after it: whether the indexed old URLs really arrive later is what the Migration tab checks — with the inventory from a crawl, a sitemap, Search Console, a site: query or the Wayback Machine, weighted by the clicks each old URL actually brought in.
What the comparison does not find before the switch, Search Console finds after it — and only once Google has taken up the new URLs, so two to four weeks later.