WORDPRESS TO ASTRO OR NEXT.JS
WordPress to Astro or Next.js, with every URL kept
Drop the plugin updates and the page builder. We rebuild your site on Astro or Next.js, move posts, pages and media into a CMS your editors like, and redirect every URL that earns traffic.
WordPressAstro or Next.jsWORDPRESS → ASTRO · NEXT.JS

TYPICAL TIMELINE
2 to 6 weeks, set by the page count
COST
From $2,500; ten pages run $6,500 to $14,500
SEO RISK
Low to medium: WordPress paths can usually be kept exactly
MOVES CLEANLY
Posts, pages, media, categories, authors and SEO fields
MUST BE REBUILT
Theme, page-builder layouts, plugins and forms
IN SHORT
A WordPress to Astro or Next.js migration swaps the theme and plugins for a codebase in your repo. Content comes out through the WordPress REST API or an XML export and goes into Sanity, Markdown, or WordPress itself kept as a headless CMS. Pages are rebuilt as components, and every URL keeps its path or gets a one-to-one 301 before launch. We pick Astro or Next.js with you: Astro for content sites, Next.js when the site has logins, dashboards or app-like pages.
WHY TEAMS MOVE
Why teams leave WordPress for Astro or Next.js
01
Plugin upkeep that never ends
Security patches, plugin conflicts and PHP upgrades take developer hours every month, and any update can break a page.
02
Page builders that slow every page
Elementor or Divi markup weighs down each page, so Core Web Vitals stay red however much you cache.
03
Editors waiting on developers
A new landing page means a ticket. With a block-based CMS, editors assemble pages from approved sections themselves.
04
A site that has to do more
Logins, gated docs, calculators and product data feel bolted on in WordPress. In Astro or Next.js they are ordinary pages.
OLD VS NEW
WordPress vs Astro or Next.js, for this move
WordPress
Astro or Next.js
Upkeep
Core, theme and plugin updates are yours
No plugins to patch; dependencies updated in reviewed pull requests
Editing
Gutenberg or a page builder, with layouts that drift
A headless CMS with approved blocks and live preview
Speed
Depends on hosting, caching and plugins
Static or server-rendered HTML, little JavaScript by default
Security
Public login, plugins and PHP are the attack surface
No admin on the public site; the CMS is a separate service
Hosting
A managed WordPress host or a server
Vercel, Netlify or Cloudflare, on your account
Redirects
A plugin or .htaccess rules
Versioned in the repo, served as real 301s
WHAT MOVES, WHAT DOESN’T
What comes across from WordPress
WordPress hands over your content cleanly. The theme and plugins stay behind, so plan for a rebuild of the front end and a careful move of everything you’ve published.
Posts & pages
Pulled through the REST API or the XML export, converted from blocks, then checked page by page.
Media library
Images and files downloaded and re-uploaded to the CMS or an image CDN, with alt text kept.
Categories, tags & authors
Taxonomies and author profiles become CMS documents; their archive URLs are kept or redirected.
SEO fields
Yoast or Rank Math titles, descriptions and canonicals come across; schema is rebuilt per template.
Page-builder layouts
Elementor, Divi or WPBakery layouts don’t export; each template is rebuilt as components.
Forms
Gravity Forms or Contact Form 7 move to a form service or a small API route, wired to your CRM.
Plugins
Each plugin is matched to a native feature, a service or a few lines of code, or retired. Gaps are flagged at the audit.
CONTENT MODEL
How WordPress content maps to Astro or Next.js
WORDPRESS · BEFORE
Posts
Blog posts in Gutenberg blocks or classic HTML.
ASTRO / NEXT.JS · AFTER
Post documents
Post documents in the CMS, rendered by one template at the same URL.
WORDPRESS · BEFORE
Pages
Pages, often laid out with a page builder.
ASTRO / NEXT.JS · AFTER
Pages from blocks
Pages assembled from approved section blocks that editors can reorder.
WORDPRESS · BEFORE
Custom post types & ACF
Custom post types with ACF or Meta Box fields.
ASTRO / NEXT.JS · AFTER
Typed CMS schemas
A schema per type, with validation, so fields can’t be left half-filled.
WORDPRESS · BEFORE
Categories & tags
Taxonomies that group posts and drive archives.
ASTRO / NEXT.JS · AFTER
Reference fields
Category documents referenced from posts, with archive pages kept.
PROCESS AND TIMELINE
How we move a WordPress site to Astro or Next.js
Our usual order for a marketing site with a blog. Sites with many templates or a members area take longer.
1
WEEK 1Audit & URL inventory
Crawl every URL, export the content, and pull rankings and backlinks from Search Console. This list decides what must not move.
2
WEEK 1Content model & redirect map
Turn content types and fields into CMS schemas, and give every URL a fate: keep, 301 or retire.
3
WEEKS 2–3Design system & templates
Tokens and section components in code, then the page templates, reviewed on preview links.
4
WEEKS 3–4Content conversion
Script the import from WordPress, convert blocks, move media, then check every page by hand.
5
WEEKS 4–5SEO parity & QA
Titles, canonicals, schema and sitemap per template; redirects, forms and links tested on the preview.
6
LAUNCH + 4 WEEKSLaunch & watch
Switch DNS early in the week, submit the sitemap, then watch 404s, indexing and rankings daily.
SEO SAFETY
The pre-launch checklist for WordPress
Rankings are lost three ways: broken URLs, missing on-page signals, crawl problems. These four stages close all three.
STAGE 1
Before the build
- URL inventory, every live URL listed by template
- Redirect map, one 301 per changed URL
- Trailing slash and pagination rules decided
- Category, tag and author archives kept or redirected
STAGE 2
During the build
- Titles, descriptions and canonicals per template
- Structured data rebuilt per template
- Internal links rewritten to final URLs
- Image alt text carried over
STAGE 3
Before launch
- Real 301s at the edge, tested with a crawler
- Sitemap and robots.txt checked on the preview
STAGE 4
After launch
- Submit the sitemap and request indexing
- Watch 404s, indexing and rankings daily
FREE MIGRATION PLANNER
Plan your WordPress redirects
Enter your site to list every URL, see which keep their path, and get the 301 redirect map.
Run the planner →FREE SEO & AEO CHECKER
Check your new site for AI answers
See if ChatGPT, Claude, Perplexity and Google AI Overviews can find, read and cite your pages.
Run the checker →FAQ
What WordPress teams worry about
Not sure which move you need?
We’ll look at your site on a 30-minute call.
Book a callCan we keep WordPress as the CMS?
Yes. WordPress can stay on as a headless CMS: editors keep the admin they know, and Astro or Next.js reads content through the REST API or WPGraphQL. It still needs updates, so we usually suggest Sanity unless your team is deeply invested in the WordPress editor.
Astro or Next.js: which should we choose?
Astro for content-led sites: marketing pages, blogs and docs. It ships almost no JavaScript by default. Next.js when the site also needs logins, a customer portal, dashboards or pages built from live data. We recommend one after the audit, and the content model works with either. See Astro vs Next.js.
Will we lose our Google rankings?
Not if the redirects and on-page signals are done right. Most URLs keep their exact path; anything that changes gets a one-to-one 301, and we watch 404s, indexing and rankings daily for four weeks against the pre-launch baseline.
Do our editors have to write Markdown?
No. Most clients get Sanity with live preview and block-based pages, so editing feels like a tidier Gutenberg. Markdown in the repo is an option for developer-run blogs and docs.
What does the migration cost?
From $2,500 for a single page; ten pages run $6,500 to $14,500, at a fixed price agreed after the URL inventory. Posts and CMS items moved by script don't count as pages; templates do. See the website cost calculator.
You've reached the end, so now…
Tell us what you’re building.
Send us your store. Within one business day you get a short Loom from a senior: the three things we'd fix first, what it would cost, and whether we're the right team for it.
- No pitch deck, no discovery-call theatre
- You keep the audit whether or not you hire us
- Fixed-scope quotes, no hourly surprises
Prefer to talk? Book 20 minutes with Haniel or call +1 855-764-4977


