WordPress migration

Migrating from WordPress to a Hand-Coded Site

For small business owners - dental clinics, accounting firms, allied health, trades, law firms - who are running a WordPress site and want off the plugin maintenance treadmill. You'll keep your content and SEO via the WXR export and 301 redirects, drop the plugin and security update burden, and hit 90+ PageSpeed (measured on Google PageSpeed Insights desktop at delivery). WordPress exports cleanly, so this is one of the more straightforward platform migrations.

45 → 91

PageSpeed after Serene Family Dental WordPress migration

90+

PageSpeed guaranteed at handover

No more plugins.

No more updates. SEO preserved via 301s.

Why people leave WordPress

The specific pain points that bring WordPress users to us.

These are the concrete platform constraints small businesses cite when they migrate off WordPress. Each one is a real cost or risk, not a vague limitation.

  • The update treadmill never stops

    WordPress core, your active theme, and every installed plugin release updates independently. A plugin update can break a theme. A theme update can break a layout. Skipping updates leaves known vulnerabilities unpatched. Most small business owners have neither the time nor the technical depth to manage this responsibly, and find out the hard way when something stops working.

  • Security exposure - /wp-admin is a target

    WordPress runs over 40% of all websites globally, which makes it the most actively probed CMS. The login URL at /wp-admin is publicly known and constantly hit by bots looking for unpatched plugins or weak passwords. A hand-coded static site has no login page, no database, no PHP execution - the attack surface is effectively zero.

  • PageSpeed floors at 40-65

    Every WordPress page request triggers PHP execution, database queries, theme rendering, and plugin processing before the browser sees a single byte. WordPress sites with 10+ active plugins routinely score 40-65 on PageSpeed Insights without serious optimisation work. Getting consistently above 80 requires a caching plugin, image optimisation, a CDN, and ongoing performance tuning.

  • "Free" platform with $500-$1,500 in hidden costs

    WordPress core is free. A premium theme is $50 to $200. Essential plugins (SEO, forms, caching, security, backup) add another $100 to $500 per year. Managed WordPress hosting that doesn't embarrass you on PageSpeed runs $20 to $50 per month. A developer to fix things when they break adds more. Three years of "free" WordPress typically costs $500 to $1,500 in plugins and hosting alone.

  • Plugin conflicts you can't predict

    Every plugin is third-party code running inside your site. Two well-behaved plugins can conflict in production because they patch the same WordPress hook. Diagnosing the conflict requires a developer who understands both plugins. The risk grows with every plugin added - and small business sites typically run 10-25 plugins.

  • Hard to maintain at handover

    A WordPress site built by one developer typically requires the same developer (or one with matching WordPress experience) to maintain. A hand-coded static site is just HTML, CSS, and JavaScript - any developer can pick it up. The handover cost and lock-in risk are lower.

Migration honesty

What carries over - and what doesn't.

WordPress's WXR export is the cleanest content export of the four major platforms. Most content survives the migration intact. The plugin ecosystem, however, does not.

What carries over

  • ✓ All pages, posts, and custom post types (via WXR export)
  • ✓ Categories and tags (mapped to listing pages)
  • ✓ All images and media uploads (re-optimised to WebP)
  • ✓ Your existing domain
  • ✓ SEO authority and Google rankings (via 301 redirects)
  • ✓ Brand assets - logo, colour palette, type direction
  • ✓ Yoast / RankMath SEO settings (translated to hand-coded JSON-LD)
  • ✓ Form submission destination (email, webhook, CRM)

What doesn't carry over

  • × The WordPress admin dashboard (you'll edit content via PagesCMS)
  • × Your active theme and child theme customisations (replaced with hand-coded design)
  • × All plugin dependencies (replaced with hand-coded equivalents or static-site services)
  • × WooCommerce (replaced with Shopify or static product pages)
  • × Membership / restricted-content plugins (audited case-by-case)
  • × Comments database (most small business sites archive comments - flagged in scoping)
  • × Page builders (Elementor, Divi, WPBakery) - layouts rebuilt cleanly in hand-coded HTML

The migration process

Seven steps from WordPress to live hand-coded site.

No surprises. Every step is timed, scoped, and reviewed with you before the next one starts.

  1. 1 Discovery and scoping call Free 30-minute call. We audit your current WordPress site, list active plugins, identify WooCommerce / Membership / Forms dependencies, agree the tier, and fix the price.
  2. 2 Content audit and URL mapping We crawl your current WordPress site, list every published URL including taxonomy archives and attachment pages, and map each old URL to its new destination. Posts with no traffic over the last 12 months are flagged for archive or consolidation.
  3. 3 Content export (WordPress WXR) WordPress exports all posts, pages, custom post types, taxonomies, and attachments as a WXR (WordPress eXtended RSS) XML file from Tools > Export. Cleanest export of the four major platforms - structured, predictable, and complete.
  4. 4 Hand-coded rebuild 1 to 3 weeks depending on tier. Hand-coded HTML, CSS, JavaScript. WebP images. JSON-LD schema (translated from your Yoast or RankMath settings). PagesCMS connected to your GitHub repo for ongoing content editing. WordPress plugins are replaced with hand-coded equivalents or static-site services at this stage.
  5. 5 Preview and revisions You see the new site on a staging URL before anything goes live. Round of revisions, content updates, copy tweaks. We confirm PageSpeed hits 90+.
  6. 6 DNS cutover and 301 redirects Point DNS at Cloudflare Pages. Activate 301 redirects from old WordPress URLs (including any /wp-content/uploads/ paths still being linked to) to the new hand-coded URLs. Link equity and rankings transfer.
  7. 7 Cancel WordPress hosting (after 7 days stable) Only cancel WordPress hosting after the new site has been live and serving correctly for at least 7 days. We keep a copy of the WXR export and a static snapshot of the old site as an archive in case anything needs to be referenced later.

SEO continuity

Will I lose my Google rankings when I migrate?

This is the question that holds most WordPress owners back. The answer is no - not if URL mapping and 301 redirects are implemented properly. Google's own documentation treats a 301 redirect as a near-full pass of link equity from the old URL to the new one.

WordPress URL structures vary - /category/post-slug/, /?p=123, or pretty permalinks like /post-slug/ depending on your permalink settings. Where URLs are clean we mirror them in the rebuild and no redirect is needed. Where they need to change, we list every old URL in the URL map and write the redirect rules into the Cloudflare Pages _redirects file at cutover.

Serene Family Dental's PageSpeed went from 45 to 91 after we migrated their WordPress site (measured on Google PageSpeed Insights desktop at delivery), and search rankings held through the cutover. Faster site, same rankings, no more plugin updates.

What changes when you migrate

WordPress today vs hand-coded after the migration.

A side-by-side of what your day-to-day looks like before and after migrating off WordPress. Squarespace, Wix, and Webflow columns are kept for context - each has its own dedicated migration page.

Feature Webstallion WordPress Squarespace Wix Webflow
PageSpeed score 90+ guaranteed 40-65 55-80 50-75 70-85
Monthly platform fee $0 $0 core + plugins/themes $23-46 AUD/mo $17-55 AUD/mo $23-39 USD/mo
3-year platform cost $0 (hosting only) $500-1,500 (plugins/hosting) $828-1,656 AUD $612-1,980 AUD $828-1,404 USD
Code ownership You own every file Content yours; theme/plugins licensed Squarespace controls site Wix controls site Export available; CMS data tied to Webflow
If you stop paying Site stays live Stays live (own hosting) Site goes down Site goes down Site goes down
Design flexibility Unlimited, built to spec Constrained by theme/builder Constrained by template Drag-and-drop within template Class-driven "Webflow look"
Maintenance burden None - static files Core, themes, plugins, security Platform-managed Platform-managed Platform-managed
Hack/breach risk Very low (no login, no DB) Highest - most targeted CMS Low - platform-managed Low - platform-managed Low - platform-managed
Schema / SEO control Full - custom JSON-LD Full via plugins Limited to platform exposure Limited structured data Good via custom code embed
Content editing PagesCMS (free) WP admin dashboard Squarespace editor (subscription) Wix editor (subscription) Webflow CMS (subscription)

Pricing in AUD for Squarespace and Wix (AU-displayed prices may vary by IP); USD for Webflow (CMS to Business Site Plans). All vendor pricing verified May 2026; subject to change by the vendor. WordPress core is free; 3-year cost reflects premium themes, paid plugins, and managed hosting required for a production small business site. PageSpeed ranges are typical desktop scores as of May 2026; mobile scores typically run lower and depend on the theme, plugins and content.

A real WordPress migration

Serene Family Dental - migrated from WordPress to 91 PageSpeed.

Serene Family Dental came to us with a WordPress site scoring 45/100 on PageSpeed Insights. It was slow on mobile, hard to navigate, had no proper online booking flow, and required regular plugin and security maintenance they had no time for.

We mapped every URL, exported via WXR, and rebuilt from scratch - hand-coded HTML, CSS, and JavaScript. No plugins, no database, no WordPress admin. The rebuilt site scored 91/100 on PageSpeed Insights at delivery. They edit content through PagesCMS when needed. Search rankings transferred via 301 redirects through the cutover.

Read the full case study

"We had been putting up with our old website for too long - it was slow, hard to update, and we weren't happy with how it represented our practice. Param rebuilt it from scratch and it's been a completely different experience. Faster, cleaner, and our patients comment on it."

Serene Family Dental - Ropes Crossing, NSW · Scale package

Pricing

Migration cost is your tier price plus a small import fee.

Packages lean from $799 (Lean - 5 pages, about 2 weeks), $1,500 (Starter - 15 essential pages), $2,500 (Growth - 35 pages, blog setup), $4,500 (Scale - up to 100 pages, multi-location). Migration cost is typically the tier you'd choose anyway, plus a small migration-content-import fee that we quote on the scoping call once we've audited the WordPress site's plugin list, page count, and any custom post types.

See full tier details →

Migration questions

What people ask before migrating off WordPress.

Will I lose my Google rankings if I migrate from WordPress?

No - not if URL mapping and 301 redirects are handled properly. Before launch we list every existing WordPress URL (pages, posts, taxonomy archives, attachment pages) and map each one to its destination on the new hand-coded site. At cutover, 301 redirects activate in Cloudflare Pages so link equity and rankings transfer. Google treats 301 redirects as a near-full pass of authority. Serene Family Dental's PageSpeed went from 45 to 91 after we migrated their site, and search rankings held through the cutover.

How long does a WordPress migration take?

From scoping call to live site is typically 2 to 4 weeks. WordPress migrations are usually straightforward because WordPress exports content as a structured XML file (WXR). Starter (15 essential pages) is about 2 to 3 weeks. Growth (35 pages) about 3 to 4 weeks. Scale (up to 100 pages) about 4 to 5 weeks.

Can I keep my domain when I leave WordPress?

Yes. Your domain is separate from your WordPress install. Whether your WordPress is self-hosted (you control the hosting) or on WordPress.com, the domain is held at a registrar - we point its DNS at Cloudflare Pages and the existing domain keeps working. If the domain is registered through WordPress.com itself, we move it to a standard registrar during the migration.

What happens to my WordPress blog posts, pages, and forms during the migration?

WordPress exports all posts, pages, custom post types, categories, tags, and images as a WXR (WordPress eXtended RSS) XML file via Tools > Export. We use that as the content source for the hand-coded rebuild - every post becomes a static page, taxonomy archives become listing pages, and attachments come across as WebP-optimised images. Forms move to a static-site form handler (Cloudflare Workers, Formspree, or a direct email endpoint) instead of WPForms/Contact Form 7/Gravity Forms.

What if my WordPress site has more pages than your tier covers?

We size the tier to the actual page count. Scale covers up to 100 pages. WordPress sites often have a long tail of legacy posts that no longer earn traffic - we audit the content first, archive or consolidate the dead weight, and only migrate what's worth keeping. If you're beyond Scale's range even after the audit, we move you to a custom-quoted tier.

When do I cancel my WordPress hosting?

Not until the new hand-coded site has been live and stable for at least 7 days. We do DNS cutover first, confirm 301 redirects are firing, check the new site is serving and indexing properly, and only then do you cancel your WordPress hosting subscription. We also keep a copy of the WXR export and a static backup of the old site as an archive in case anything needs to be referenced later.

What happens to my WordPress plugins - WooCommerce, WPForms, Yoast, ACF?

Each plugin has a hand-coded equivalent or a clean replacement. WooCommerce is replaced with Shopify (we offer Shopify builds) or static product pages depending on volume. WPForms / Gravity Forms / Contact Form 7 are replaced with a static-site form handler. Yoast SEO settings translate directly to JSON-LD schema we hand-write into each page. Advanced Custom Fields content gets exported as JSON or migrated into the static page templates. We audit the plugin list on the scoping call so the replacements are scoped before we start.

WordPress migration

Ready to leave WordPress?

Get a free 30-minute migration scoping call. We'll audit your current WordPress site, map URLs, and quote the migration before you commit.

Get a quote Call now