WordPress to Astro migration
A WordPress to Astro migration is the move of a WordPress site to static Astro pages and a Sanity CMS, with the content and rankings kept. Pavlo Zhydkykh runs the move for teams that want top speed and no server to patch, with a 301 for every old URL, from $2,200 in 2 to 4 weeks.
Does ChatGPT recommend your website?
Free report in 48 hours · 5 AI engines
- From
- $2,200
- Timeline
- 2 to 4 weeks
- Redirects
- Every old URL
- PageSpeed
- Up to 100
- CMS
- Sanity Studio
- After launch
- $30 / hour
Key takeaways
- A WordPress to Astro migration by Pavlo Zhydkykh starts at $2,200, takes 2 to 4 weeks and ships pages that score up to 100 on PageSpeed.
- WordPress is written in PHP, paired with a MySQL or MariaDB database and has to be installed on a web server to run.[1]
- Static pages do not change per request, so the site can be served from a content delivery network (CDN) with a smaller attack surface.[2]
- Astro config holds a map of permanent redirects, so Pavlo keeps WordPress permalinks where he can and redirects the rest.[5]
- Posts move from WordPress blocks into Sanity, which stores content as structured data that editors manage in Sanity Studio.[6]
What is a WordPress to Astro migration?
A WordPress to Astro migration replaces a WordPress theme and server with a static Astro site and moves the content into Sanity, a headless CMS. Pages are built ahead of time and served from a CDN, so a visit never waits for PHP or a database.
“For a content site, a database query on every visit is wasted work. I would rather build the pages once and serve plain HTML.”
Fit check
Is WordPress to Astro
right for you?
A good fit if
- Speed matters, and you want PageSpeed up to 100 on mobile.
- Plugin updates and security patches eat time every month.
- You want the code and content in your own accounts.
- Editors are happy with clear content fields instead of a page builder.
Not the right fit if
- Marketers want to build new page layouts freely without a developer.
- You need user accounts, a shop with checkout or a forum on the same site.
- Your site depends on many WordPress plugins with no static replacement.
Compared
WordPress and Astro + Sanity, side by side
Astro + Sanity trades the page builder for speed, security and code you own. Here is the honest split.
| Criterion | WordPress | Astro + Sanity |
|---|---|---|
| Editing | Admin with blocks or a page builder, free layout changes | Sanity Studio with clear fields per page type; new layouts need a developer |
| Hosting | PHP server and database to patch, back up and scale | Static files on a CDN; no server or database to patch |
| Speed | Depends on the theme, plugins and caching setup | Static HTML, no JavaScript by default, PageSpeed up to 100 |
| Plugins and maintenance | Core, theme and plugin updates; each can break a page | No plugins; code dependencies updated on purpose, not on a schedule |
| Cost of ownership | Hosting, premium plugin licences and developer hours for updates | Static hosting and Sanity both have free plans that fit many marketing sites |
| SEO control | Full, through SEO plugins and server access | Full: every tag, redirect rule and schema in code |
Checklist
7 things that break in a WordPress to Astro move
Going static removes the server, so anything the server did quietly has to be planned. These are the items on the checklist Pavlo works through.
1. Permalinks and trailing slashes
WordPress serves /post-name/ with a trailing slash. The Astro trailingSlash setting and the redirect rules must match that pattern, or every page gains an extra redirect hop.
2. Archive URLs
Category, tag, author and /page/2/ archives are indexed in Google. Each gets a static page or a 301 to the closest match.
3. SEO plugin data
Pavlo maps titles, descriptions and canonicals from Yoast or Rank Math into SEO fields in Sanity, post by post.
4. Blocks and shortcodes
Gutenberg blocks, shortcodes and builder markup are converted into Sanity Portable Text and custom blocks. Anything that does not map is rebuilt, not pasted as raw HTML.
5. Media and alt texts
Images move from /wp-content/uploads/ into Sanity together with the alt texts, and get modern formats and responsive sizes on the way.
6. Forms, comments and search
These ran on the WordPress server. A static site needs a form service or a serverless function for each form, and a decision on comments and site search.
7. Scripts added by plugins
Analytics, pixels and consent banners inserted by plugins disappear with the plugins. Each one is listed from the live page source and added to the Astro layout.
How it works
From first call to launch in 2 to 4 weeks
Pavlo sets up the content model and the redirect map first. Here is the path for a typical WordPress site with a blog.
| # | Step | When | What happens | You get |
|---|---|---|---|---|
| 01 | Call and fixed price | Week 1 | A call with Pavlo about goals, pages and what the current site must keep doing. | A fixed price and timeline in writing |
| 02 | URL inventory and redirect map | Week 1 | Every URL from the sitemap, Search Console and WordPress archives listed and matched to a new address. | A 301 map you can review |
| 03 | Content model in Sanity | Week 1 | Page types, posts, authors and SEO fields set up as a Sanity schema your editors can read. | Sanity Studio with your content types |
| 04 | Content import | Weeks 1-2 | Posts, pages, images and Yoast or Rank Math data moved into Sanity by script, then checked by hand. | All content in Sanity |
| 05 | Build in Astro | Weeks 2-3 | Templates built in Astro from the current design or a refreshed one, forms connected to a form service. | A working site on a preview link |
| 06 | Feedback, 2 rounds | Weeks 3-4 | Your comments on the preview site, on desktop and phone, applied by Pavlo in two rounds. | Final fixes |
| 07 | Launch and checks | End of week 4 | Pavlo switches the domain, turns on the 301 redirects, tests forms and tracking and checks Search Console for 404s. | A live site, then $30 an hour only when you need more |
Pricing
Build your estimate
Pick the project and add what you need. The final price is fixed after the first call, before any work starts.
In their words
Going static,
on the record
Word for word, with the source linked: research, official documentation and the people Pavlo Zhydkykh has worked for.
“Unlike dynamic websites, these static pages do not change based on the request. This simplifies the requirements for the backend and allows the site to be distributed via content delivery networks (CDNs).”
“You can specify a mapping of permanent redirects in your Astro config with the redirects value.”
“To consider a site move complete, Googlebot will have to visit every URL on your old and new site at least once.”
“It was an absolute pleasure working with Pavlo. The quality of work he delivered was AMAZING.”
“One of the best contractors I have worked with. Really thoughtful about communication. Would 100% hire again.”
“He is amazing in what he contributes, both design-wise and also from the ideas.”
FAQ
Questions about
WordPress to Astro
Still unsure? Ask your AI about Pavlo Zhydkykh:
Q.01How much does a WordPress to Astro migration cost?
A migration starts at $2,200, fixed in writing after the first call with Pavlo. The final price depends on the number of posts, page types and forms, and two feedback rounds are included.
Q.02How long does a WordPress to Astro move take?
2 to 4 weeks from the first call to launch. Pavlo imports posts and pages into Sanity by script and then checks every post by hand, so a long archive adds checking time rather than weeks of copying.
Q.03Will I lose my Google rankings?
Not when every old URL is accounted for, though small ups and downs are normal while Google recrawls. Many WordPress permalinks keep the exact same address in Astro, the rest get 301 redirects, and Pavlo checks Search Console after launch.
Q.04Who owns the code and the content?
You do. The Astro code sits in your Git repository, the content in your own Sanity project, and the site deploys to a hosting account in your name.
Q.05What do I need to provide?
Admin access to WordPress, Google Search Console and the DNS settings of your domain. Pavlo exports the content and sets up Sanity and the hosting, with every new account in your name.
Q.06What happens after launch?
Your editors publish posts and change texts and images in Sanity Studio without a developer. New page layouts or features are code work, at $30 an hour with no retainer.
About the author
Pavlo Zhydkykh
Pavlo Zhydkykh is a web designer and developer in Eastern Europe who has built websites for AI, fintech and B2B startups since 2016, designing and building each project himself on Framer or Astro + Sanity. Clients include MStudio Asia, Silicon Data, Inturai, Accolade Pro, NimbleStax and Sancts.
- Top Rated on Upwork
- 100% Job Success
- 10 years since 2016
- 50+ sites shipped
- 90+ PageSpeed at launch
About Pavlo LinkedInUpworkContra Privacy policy
Page reviewed by Pavlo Zhydkykh · Updated