Work Services Journal About Contact
Warsaw Contact

Moving a Site Off WordPress to Static: The Checklist I Follow

Moving a working WordPress site to static files is not a design project, it is a migration, and migrations fail quietly. The visual side is the easy part: export the HTML, ship it, done. What actually determines whether the move goes smoothly is a short list of unglamorous things that are easy to forget under deadline pressure and expensive to fix after the old site is gone. Here is the checklist I run through every time.

Map every URL before you touch anything

Before I export a single page I pull a full URL list from the live WordPress site: every post, page, category, tag, and any custom post type archive that gets traffic or backlinks. Google Search Console's Pages report and the XML sitemap both help here, and so does a simple site crawl. This list is the thing the whole migration gets checked against afterward, so I build it first, not as an afterthought once something is already missing.

Redirects, one for one

Every URL on that list gets a destination on the new static site, even if the destination is just the closest matching page. Where the URL structure changes, I write explicit 301 redirects, old path to new path, and test every single one before cutover, not after. A handful of broken redirects after launch quietly bleeds both search rankings and anyone who had the old link bookmarked or linked from elsewhere. I would rather spend an extra hour on the redirect map than find out from a client that their best backlink now 404s.

Forms need a new backend

WordPress forms, whether a plugin or Elementor's own form widget, submit to PHP running on that server. A static site has no PHP to submit to, so every form needs a new home before launch, not during a support ticket after. I wire these to a static-friendly form handler or my own backend ahead of the cutover, and I test every form on the new site with a real submission before calling the migration done, not just a visual check that the form renders.

Search Console and the sitemap

I add the new static site as a property in Google Search Console before launch, ready to go the moment DNS points there, and submit its sitemap immediately after cutover. Search Console's main job for the first few weeks is telling you if the redirect map missed anything: the Pages report will start showing crawl errors or unexpected 404s if a URL fell through, so I check back on it regularly rather than assuming the redirects worked and moving on.

Keep the old site reachable, briefly

I do not delete the WordPress install the moment the static site goes live. DNS propagation is not instant, some visitors and bots hold onto cached results longer than you would like, and email routing is often tied to the same domain and needs to keep working through the switch. I leave the old install reachable on a private URL for a short window after cutover, purely as a safety net, before it gets decommissioned for good.

Verify, then decommission

Once the new site is live I check the redirect list end to end, confirm forms are delivering, confirm analytics is tracking on the new domain, and watch Search Console for a week or two before I consider the migration actually finished. Decommissioning WordPress is the last step, not something that happens the same day as cutover.

None of this is complicated on its own. It is just a list that is easy to shortcut under a deadline, and the one part of a static migration that genuinely needs discipline rather than design taste. If you are weighing a move off WordPress and want a second pair of eyes on the plan, get in touch.

Let’s build

Have a project in mind?

Get in touch