How to migrate a website to WordPress the safe way

Split the migration into three phases on different days, in a staging environment, with the live site untouched until cutover. Lose nothing, break nothing.

Read this first — what HTMLtoWP does in this migration. HTMLtoWP automates Phase 1 only: turning your existing site's design into a real WordPress theme. It does not auto-import every page of content from your old CMS — that's Phase 2, which uses platform-specific exporters. And it doesn't change your DNS — that's Phase 3. Knowing the split upfront makes the migration to WordPress feel small, because each phase is one focused job.

Phase 1 · Days 1–2

Migrate the design (your WordPress theme)

Your existing site has a design that you (or your visitors) like. The first task is recreating that design as a real WordPress theme — without a designer doing it from scratch.

Get the source HTML for the most representative page (usually the homepage) — from the live URL, your hosting, or your static site generator's output folder. Then convert it: paste the URL into HTMLtoWP and download a complete WordPress theme matching your design.

Full conversion walk-through: How to convert HTML/CSS to a WordPress theme. If your starting point is more specific:

Phase 2 · Days 3–7

Migrate the content (pages and posts)

Theme handles the look. Content — every page, post, and product — needs to move separately. The right approach depends on where your content currently lives:

  • WordPress.com or self-hosted WordPress — use the built-in Tools → Export XML and the destination's Tools → Import. Cleanest path: 90% works automatically.
  • Wix, Squarespace, Weebly — each has an exporter (varying quality). For Squarespace, the WordPress XML export route works for blog posts. Pages usually need manual recreation.
  • Webflow — Webflow's CMS export is JSON; use a plugin like WP All Import to map fields to WP custom post types.
  • Static HTML site — for fewer than 20 pages, manual copy/paste into Pages is fastest. For more, use HTML Import 2 or WP All Import with a CSV.
  • Custom CMS / database — export to CSV or XML, then WP All Import with field mapping.

Do this in a staging WordPress install, not your live site. Confirm each page renders correctly before moving on.

Phase 3 · Cutover day

DNS, redirects, and going live

Theme works, content is in. Now point the world at the new site without losing search rankings or returning customers:

  • Set up 301 redirects for every old URL → new URL. /about.html/about/, /blog/post-1.html/blog/post-1/. The Redirection plugin handles this in WP admin. This preserves your SEO equity.
  • Update DNS to point to your new host. TTL changes can take 24–48 hours to propagate — schedule cutover for a low-traffic window.
  • Test broken links with a free crawler (Screaming Frog free tier covers up to 500 URLs).
  • Submit the new sitemap to Google Search Console and Bing Webmaster Tools.
  • Watch 404s for the first week — anything Google reports, add a redirect for.

Where to bring in help

For sites with custom plugins, integrations, or complex back-end work, a WordPress developer is still the right call for those pieces. The theme conversion just doesn't need to be one of them.

Phase 1 is where most migrations stall. Phases 2 and 3 are platform-specific work — Phase 1 is one upload.

Phase 1 of any migration to WordPress — the theme.

Convert your existing site's design into a real WordPress theme — in minutes, whether you're running the migration yourself or alongside a developer.

Try HTMLtoWP →