Migrate from Craft CMS to Astro or Next.js
Craft 4 security support ended on 30 April 2026, and Craft 6 is being rebuilt on Laravel. If your site needs a major upgrade anyway, move it to Astro or Next.js instead: the same design, your sections and entries in Sanity or Payload, and every URL kept.
Yegparian PLLC (opens in a new tab)Signs it is time to leave Craft
Craft is a well-made CMS, and most Craft sites were built with care by an agency. These are the moments teams tell us it stopped fitting.
Your site runs on Craft 4 or 3
Craft 4 security support ended on 30 April 2026, and Craft 3 two years before that. New vulnerabilities are no longer fixed for either.
The upgrade is a project of its own
Craft 3 cannot jump straight to 5, and Craft 5 turns Matrix content into entries. Templates and plugins have to be checked at every step.
Craft 6 is another platform change
Craft 6 moves from Yii to Laravel and needs PHP 8.5. Every plugin needs a new major version before your site can follow.
The agency that built it has moved on
Twig templates, custom modules and plugin settings only one team understood. Every change now starts with someone learning the codebase.
Hosting and licences need constant care
A PHP server and a database to patch, plus Craft and plugin licences with yearly update fees, even when the content does not change.
What happens to your Craft features
Pick what your site relies on today. Each feature becomes part of the site itself, or turns out not to be needed.
- Sections and entry typesSanity schemas or Payload collectionsSingles, channels and structures map almost one to one. Every entry type and its fields move into a schema in code.
- Matrix and nested entriesPage-builder blocksEach block type becomes a block editors compose pages from, built once in code so every page stays on brand.
- Assets and volumesAssets in the CMSImages and files are re-uploaded with their folders, alt text and focal points, served resized from a CDN.
- Categories, tags and globalsReferences and settings documentsCategory trees become references, and global sets become a single settings document editors can find.
- Freeform or FormieA form built into the siteValidated on the server, filtered for spam and sent to your inbox, CRM or Slack. Complex workflows are scoped per project.
- SEOmaticSEO fields in the CMSTitles, descriptions, social images and structured data become fields per page, with sitemaps generated from the content.
- Multi-site and localisationBuilt-in localisationSites and languages become translations per field or per document in Sanity or Payload, with their own URLs and hreflang.
- Retour and redirectsRedirects in the configEvery entry URL and existing redirect is mapped to its new home in the hosting config, versioned with the code.
- Craft CommerceCommerce, scoped separatelyShops move to Shopify or another commerce platform behind the same front end. The audit says what moves where.
What changes when you leave Craft
Astro and Next.js decide how pages are built. Sanity and Payload are where your team edits. We recommend a pair after the audit.
| Feature | Astro + Sanity | Next.js + Payload | Craft CMS |
|---|---|---|---|
| Security and licensing | |||
| No PHP server to patch | Node.js app for /admin | ||
| Security updates for your version | Ended 30 Apr 2026 on v4 | ||
| No yearly update fees for the CMS or plugins | Plan-based | ||
| Content | |||
| Structured, reusable content | |||
| Nested blocks for page building | |||
| Live preview while editing | |||
| Multi-site and multilingual content | |||
| Performance and upkeep | |||
| Pages served pre-built from a CDN | With static caching or a CDN | ||
| Ships only the JavaScript a page needs | Per route | Depends on your templates | |
| Major upgrades without reworking plugins | New plugin versions for 6 | ||
Sites we've already moved
Different stacks for different jobs: a law firm on Next.js and Payload, a residential launch and our own studio on Astro and Sanity.
Yegparian PLLC
WordPressNext.js + Payload
An Austin trial litigation firm. Practice areas, matters and insights are Payload collections, and every page is pre-rendered and served from the edge.
yegparianpllc.com (opens in a new tab)25 Cuba
WordPressAstro + Sanity
A new residential address in Canary Wharf. Apartments, amenities and galleries are edited in Sanity, and the site ships as static Astro pages.
25cuba.com (opens in a new tab)Celerart
WebflowAstro + Sanity
Our own studio site. Every one of the 164 old URLs was carried over or redirected, and all content is now edited in Sanity.
celerart.com (opens in a new tab)
How we move a Craft site
Your Craft site stays live until the new one is ready. The switch is a DNS change, not a weekend of downtime.
Audit
Audit
We crawl every URL, list every section, entry type, Matrix field, plugin, form and integration, and export your rankings, so nothing is lost by accident.
Content model
Content model
Sections, entry types and Matrix blocks become a clean schema in Sanity or Payload, shaped around how your editors actually work.
Content import
Content import
Entries, assets, categories and their relations move by script through Craft’s GraphQL API or straight from the database. Rich text is converted and internal links rewritten.
Front end
Front end
We rebuild the design in Astro or Next.js, template by template, and check every page against the old one. Design-led sites stay design-led.
Redirects and launch
Redirects and launch
Every old URL gets a permanent redirect to its new address. Metadata, sitemaps and structured data are compared before the DNS switch.
Handover
Handover
Your team gets a walkthrough of the new editor and hosting. Then the Craft server is switched off for good.
Questions about leaving Craft
It is a fair option, and the audit will compare both. Craft 5 is supported until the end of 2031. From Craft 3 you go through 4 first, Matrix content becomes entries, and every plugin needs a compatible version. Moving to Astro or Next.js costs a similar effort and ends the licence and plugin renewals.
Craft 6 is a Laravel package, with 6.0.0 expected around the end of 2026 or early 2027. Craft 5 sites can upgrade with a command-line tool, but each plugin needs a new major version first. If you are still on Craft 3 or 4, that is a third upgrade in a row.
WordPress swaps one PHP server for another, plus a plugin stack to keep patched. Your Craft content is already structured in sections, entry types and Matrix fields. A headless CMS keeps that structure, where WordPress would flatten it into posts and pages.
Not if the move is planned. Every URL keeps its address or gets a permanent 301 redirect, built from your entry URLs and existing redirects. Titles, descriptions, structured data and sitemaps are carried over and checked before launch.
By script, through Craft’s GraphQL API or straight from the database: entries, Matrix blocks, assets, categories, globals and every site or language. Everything becomes structured content in Sanity or Payload, and internal links are rewritten to the new URLs.
Yes. We rebuild it component by component from your Twig templates and the live site, and check every page against the original. If a refresh is due, the audit is a good moment to plan it.
It depends on the number of sections, entry types, plugins and languages. After the audit you get a fixed scope and timeline, and the Craft site stays live until launch day.


