WordPress to a DXP: Keep Your Permalinks and Crawl Budget

If you're moving WordPress to a modern DXP and you want to keep the rankings you've spent years earning, the whole game is three moves: keep the exact same permalink whenever you possibly can, map every URL you're changing to its new home with a single 301, and don't burn the crawl budget Google already hands you. Do those three, and a replatform is a house move. Skip them, and it's a house fire.

Here's the thing nobody tells you before the kickoff call. Google doesn't know you migrated. It doesn't get a memo. As far as it's concerned, one day a bunch of addresses it visited every week just stopped answering the door.

Your permalink is your street address

Think about what actually happens when you change platforms. You've lived at /blog/how-to-brew-cold-brew/ for six years. The mail carrier (Googlebot) knows the route by heart. Then you move, and the new building numbers the same apartment /articles/2024/06/how-to-brew-cold-brew-coffee-guide/ because some default in the new DXP thought a date and a longer slug looked tidier.

Now every link anyone ever built, every bookmark, every citation in an AI answer, points at an address that no longer exists. You didn't lose the content. You lost the forwarding.

So the first rule is boring and it is the most important one: match the old permalink structure exactly if the new platform will let you. WordPress most commonly runs post-name permalinks (/%postname%/), sometimes a date-based structure (/%year%/%monthnum%/%postname%/). Whatever it is, write it down before you touch anything, because the DXP will happily impose its own scheme and nobody will notice until traffic dips three weeks after go-live.

Can't keep them identical? Fine. Then you're forwarding mail, which brings us to the part everyone underestimates.

Redirects are mail forwarding, and chains are lost letters

A 301 redirect is a permanent change-of-address card. Google honors it and, over time, moves the ranking signals to the new URL. Google has confirmed that both 301 and 302 pass ranking signals now, but a 302 says "I'll be back at the old place soon," so use 301 for anything permanent. This is a permanent move. Use the permanent card.

The failure mode isn't forgetting redirects. It's chaining them. Old URL forwards to an interim URL, which forwards to a temporary staging path, which finally forwards to the real one. Each hop is another post office that has to re-forward the letter, and Googlebot follows only so many hops before it gives up and treats the whole thing as broken. Every redirect should go from the old address to the final address in exactly one jump. One hop. Not a scavenger hunt.

And redirect the whole house, not just the front door. The pages you forgot are the ones that quietly earned links: an old PDF, a tag archive somebody deep-linked, a paginated series, that one press release from 2019 that still pulls in referrals. This is the unglamorous inventory work a tool like Replatform Radar exists to do, because a human counting 40,000 URLs by hand will miss the exact 300 that mattered.

Old WordPress URL | Right move | Redirect type
Post kept 1:1 | Match permalink exactly, no redirect needed | None
Post moved to new path | Point old URL straight at new URL | 301, one hop
Merged thin/duplicate posts | Redirect all to the surviving page | 301, one hop
Killed page, no equivalent | Let it 410, don't fake-redirect to home | 410 Gone
Uploaded assets (/wp-content/) | Redirect to new asset path | 301, one hop

That last row on the killed page matters. The instinct is to redirect every dead URL to the homepage so nothing 404s. Don't. Google calls that a soft 404 and treats it as roughly as useful as a 404 anyway, except now you've also told it the homepage is somehow the same thing as an article about cold brew. If a page is genuinely gone with no replacement, let it return 410 and move on. Honesty is faster than pretending.

Crawl budget is how often the carrier bothers to visit

Crawl budget is the thing people either panic about or ignore entirely, and both are wrong. Google's own guidance is clear: most sites don't need to think about it. It becomes real for large sites, roughly ten thousBUG URLs and up that change often, and for the millions-of-pages tier. If that's you, a migration is exactly when you can waste it spectacularly.

Here's how you waste it. You leave 5,000 old URLs bouncing through redirect chains, so every crawl Googlebot spends its visits re-tracing forwarding cards instead of reading your actual content. You ship a fresh XML sitemap that still lists the old URLs. You let faceted navigation on the new DXP spawn a few hundred thousand parameter combinations. The carrier shows up, spends the whole shift on nonsense, and your new pages sit unread for weeks.

Protect the budget the way you'd protect a limited number of visits from someone who's doing you a favor. Submit a clean sitemap of the final URLs on day one. Kill the chains. Keep your robots.txt sane so Googlebot isn't crawling infinite calendar archives. Ask your DXP whether it's generating URL parameters you didn't order (it probably is).

So what would I actually do?

I'd treat the permalink map as the single most important artifact of the whole project, more than the design, more than the content model. Freeze the old URL inventory before anyone builds anything. Match structure where you can, 301 in one hop where you can't, 410 the genuinely dead, and hand Google a clean sitemap the moment you flip the switch. If you only have budget to do one thing well, do the redirect map, because a beautiful new DXP that Google can't re-find is just an expensive private diary.

You spent years teaching the internet where you live. Don't move out and leave the forwarding card blank.
,