WordPress to Astro
A migration path that keeps every URL, redirect, schema, and editorial flow — and trades 40 plugins for a static site that ships in milliseconds. Content team keeps editing. Stack disappears.
Most WordPress sites are 70% editorial pages, 30% scaffolding, and 100% slow. We move the editorial — posts, taxonomies, redirects, schema, sitemap, OG cards, the whole crawl surface — to Astro. Same URLs, same author flow, none of the plugins.
Full-content migration: posts, pages, taxonomies, ACF fields, custom post types.
Every URL preserved. 301 map signed off by your SEO lead before cut-over.
Astro static build with islands only where they earn it.
Editorial workflow on Decap, Sanity, or plain Markdown — your call.
Lighthouse 100 / 100 / 100 / 100 budget on the top 50 pages.
Cut-over runbook and a rollback path that takes 60 seconds.
Inside the engagement.
- 01
Content extraction
WP REST + custom SQL exporters. Posts, pages, ACF, CPTs, taxonomies, media — everything serialised to Markdown with front-matter, deterministic and re-runnable.
- 02
URL & redirect map
A 1:1 URL map signed off before any code ships. Every legacy permalink resolves; every redirect chain collapses to a single hop.
- 03
SEO continuity
Schema.org JSON-LD, OG, sitemap, robots, canonicals, hreflang — all carried over. We diff against the old site weekly through cut-over.
- 04
Editorial UX
Decap (open-source, free) for solo editors. Sanity for teams. Plain Markdown + GitHub PRs for engineering teams. We pick once and stick to it.
- 05
Forms & comments
Cloudflare Workers or Resend for forms. Giscus or Cusdis for comments. No PHP. No spam queue.
- 06
Edge & search
Cloudflare Pages or Vercel. Pagefind or Algolia for search. Image optimisation through Cloudinary or Astro's own pipeline.
The migration toolchain.
Tested on sites with 40 to 8,000 posts. The bigger the archive, the more these tools earn their keep.
- + BUILDAstro 4+MDXViteTypeScript
- + CONTENT
Decap CMSSanityMarkdownWP REST
- + EDGE
Cloudflare PagesWorkersR2Vercel
- + SEOSchema.orgSitemapPagefindPlausible
From kickoff to handover.
- 01
Audit & URL map
We crawl the live WordPress site, inventory every URL, every plugin, every author quirk. You get a one-page audit and a signed-off 301 map. Nothing else moves until that’s green.
Crawl reportURL mapPlugin inventoryWEEK 1 - 02
Content export
A reproducible export script pulls posts, ACF fields, CPTs, and media into Markdown. Editors review the diff against staging. We re-run until the diff is empty.
Export scriptMarkdown corpusMedia bucketWEEK 2 - 03
Astro build
Templates, layouts, islands, search, schema, OG cards. We build against the migrated content from day one — no Lorem Ipsum.
Astro repoStaging URLLighthouse budgetWEEK 3–5 - 04
Cut-over + monitor
DNS swap on a Tuesday. We watch GSC and analytics for two weeks; nothing rolls back. Editorial team trained on the new flow before we leave.
Cut-over runbookRollback pathEditor trainingWeek 6–8
No, when it's done right. We sign off the 301 map before any code ships, run schema and sitemap diffs weekly through cut-over, and watch GSC for two weeks afterwards. On the last six migrations, organic traffic was flat or up within two weeks.
Three good options. Decap CMS — free, open-source, GitHub-backed. Sanity — best for multi-author teams with workflows. Plain Markdown + PRs — for engineering-led teams. We pick one in week one and don't look back.
Replaced with a Cloudflare Worker or Resend endpoint. Submissions land in your inbox or a database; spam is filtered server-side. No PHP, no plugin update Tuesdays.
Not in this engagement. WooCommerce is a different surface area — we'd move it to Shopify, Medusa, or a headless setup, and that's a separate scope.
Most editorial sites take 4 to 8 weeks. The variable is content volume and how custom your ACF fields got over the years. We give you a fixed fee and timeline after the audit in week one.
Yes. The Astro repo is plain TypeScript, the content is plain Markdown. We hand over a runbook and run a 90-minute walkthrough. You can ship a typo fix on day 31 without us.
Leave WordPress on your own terms.
Tell us your URL and your post count. We’ll send a one-page audit and a fee letter within three working days.