Skip to content
Contact me

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 takeawaysUpdated By

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.

Wikipedia: WordPress

Pavlo Zhydkykh

“For a content site, a database query on every visit is wasted work. I would rather build the pages once and serve plain HTML.”

Pavlo Zhydkykh · Web designer and developer since 2016

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.

WordPress and Astro + Sanity, side by side
CriterionWordPressAstro + Sanity
EditingAdmin with blocks or a page builder, free layout changesSanity Studio with clear fields per page type; new layouts need a developer
HostingPHP server and database to patch, back up and scaleStatic files on a CDN; no server or database to patch
SpeedDepends on the theme, plugins and caching setupStatic HTML, no JavaScript by default, PageSpeed up to 100
Plugins and maintenanceCore, theme and plugin updates; each can break a pageNo plugins; code dependencies updated on purpose, not on a schedule
Cost of ownershipHosting, premium plugin licences and developer hours for updatesStatic hosting and Sanity both have free plans that fit many marketing sites
SEO controlFull, through SEO plugins and server accessFull: 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. 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. 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. 3. SEO plugin data

    Pavlo maps titles, descriptions and canonicals from Yoast or Rank Math into SEO fields in Sanity, post by post.

  4. 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. 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. 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. 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.

From first call to launch in 2 to 4 weeks, step by step
#StepWhenWhat happensYou 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.

01 · Project
02 · Add-ons

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).”

WikipediaStatic site generatorSource ↗

“You can specify a mapping of permanent redirects in your Astro config with the redirects value.”

Astro DocsRoutingSource ↗

“To consider a site move complete, Googlebot will have to visit every URL on your old and new site at least once.”

Google Search CentralSite moves with URL changesSource ↗

“It was an absolute pleasure working with Pavlo. The quality of work he delivered was AMAZING.”

Ed ClarkeFounder, Inturai · Website design and SEOSource ↗

“One of the best contractors I have worked with. Really thoughtful about communication. Would 100% hire again.”

Remi LabelleCOO, Accolade Pro · Web app designSource ↗

“He is amazing in what he contributes, both design-wise and also from the ideas.”

Oliver BockOwner, The B2B Answer · Website design, 2025Source ↗

FAQ

Questions about
WordPress to Astro

Still unsure? Ask your AI about Pavlo Zhydkykh:

ChatGPTPerplexityClaudeGeminiGrok

Q.01

How 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.02

How 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.03

Will 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.04

Who 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.05

What 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.06

What 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.

Pavlo Zhydkykh

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
Kulparkivska St. 200, Lviv 79021, Ukraine +380 93 610 62 68 [email protected]

Page reviewed by Pavlo Zhydkykh · Updated

AI visibility check

  1. 1Website
  2. 2Business
  3. 3Contact
  4. 4Check

Does ChatGPT recommend your website?

Pavlo Zhydkykh asks ChatGPT, Perplexity, Gemini, Claude and Grok 20 questions your buyers ask, and shows where you show up.

Free · report in 48 hours