Migration risk is measurable. Give each page a score built from three inputs that actually predict breakage: redirect risk (does the old URL have a clean, single-hop target?), duplicate content (how many near-identical pages compete for the same canonical?), and orphan status (can anything or anyone reach the file at all?). Weight those by how much traffic and authority the page carries, and you get a number that sorts every URL into migrate, rewrite, or kill. No committee required.
Here's the moment that makes people build one of these. You're staring at a spreadsheet of forty thousand URLs with a launch date on it. Someone in the kickoff said, confidently, "we'll just redirect everything one-to-one." Then the crawl comes back and roughly a third of those URLs have no obvious new home, a few thousand are the same press release published under six different paths, and there's a folder of PDFs nothing on Earth links to. One-to-one what, exactly?
So let me pitch you the mental model that fixed this for me: every page is applying for a mortgage on the new house.
The pages are all applying for a loan
Think of it like a lender pulling a credit score. The bank doesn't read your diary. It scores a few signals that reliably predict whether you'll default, then approves you, asks for a co-signer, or shows you the door. Your migration is the bank. Each URL is an applicant. And a lot of them, frankly, have been living beyond their means for years.
The nice thing about a score is that it ends arguments. "I feel like we should keep that page" loses to a number that three people can inspect. (Feelings are how you end up migrating a 2014 holiday hours notice.)
The three signals that actually predict default
Redirect risk is the big one, because a broken redirect is the closest thing to instant traffic loss. Google follows up to ten redirect hops before it gives up, and a modern 301 passes essentially all of a page's ranking signal, so the danger isn't the redirect itself — it's the redirect you never wrote, or the chain that loops, or the one pointing at a page that also got killed. Grade each URL on whether it has exactly one clean target: a single hop, live at the other end, matching intent.
Duplicate content is the co-signer problem. When five near-identical pages compete, Google picks one canonical and the others just dilute the pile. Migrating all five faithfully means you rebuild the confusion brick for brick on the new platform. Grade each page by how big its duplicate cluster is and whether it's the strongest member.
Orphan status is the door-slam. An orphaned file has no internal links pointing to it, which means crawlers reach it slowly or not at all, and humans never do. Some orphans still pull traffic from external links or old bookmarks (keep those). Most are the digital equivalent of a box in the attic you've moved to three houses without ever opening.
Turning that into a number
Score each signal, weight it by the page's value (organic sessions plus inbound link authority), and sum. Something like this, where higher means higher risk of a bad outcome if you migrate it untouched:
| Signal | What raises the score | Weight |
|---|---|---|
| Redirect risk | No clear target, chain over 2 hops, or target also being killed | 35% |
| Duplicate content | In a cluster of 2+, and not the canonical | 25% |
| Orphan status | Zero internal links in; low external links | 15% |
| Page value | High traffic or authority (this multiplies the pain) | 25% |
Value cuts both ways, and that's the whole trick. A high-value page with messy redirects is your top emergency. A zero-traffic orphan duplicate is your easiest kill. The score just does the multiplication your gut was doing badly.
Approved, co-signer, denied
Once every URL has a number, the decisions fall out. Migrate: valuable, clean redirect target, canonical of its cluster. Move it as-is and protect it. Rewrite: valuable but tangled — worth keeping, but consolidate the duplicate cluster into one strong page and map the losers' redirects into it before you touch the new platform. Kill: low value, orphaned, or a duplicate nobody links to. Let it 410, or fold it into a survivor.
The pages that scare me most aren't the obvious junk. They're the ones with respectable traffic and a redirect target nobody bothered to define, sitting quietly in row 9,000 of the spreadsheet where no human eye will ever land. A score drags those into the light automatically. That surfacing job is exactly what a tool like ours is for — you can score a whole site into a migrate, rewrite, or kill plan instead of eyeballing forty thousand rows and hoping.
What the score can't tell you
It won't judge whether the writing is any good. It won't know that legal needs one specific PDF to exist forever even though nothing links to it. It won't feel the strategic weight of a page that gets fifty visits and closes half your enterprise deals. Keep a human override column, and use it sparingly — the whole point is to make you justify the exceptions out loud, not to abolish them.
My honest position: build the score, and let it make the boring ninety percent of your decisions so you have the energy to argue about the interesting ten. I would rather defend a weighted number I can show you than a hunch I can't. The pages that survive a move shouldn't be the ones with the loudest advocate in the room. They should be the ones that filled out the paperwork and cleared the credit check — because the ones you wave through on a feeling are the ones you'll be explaining in the traffic post-mortem.
