Case Study
View Case StudyTray.ai
Migrating hundreds of thousands of pages, re-platforming and extending for the leading composable AI integration platform

From Craft CMS to Sanity
Key pain points
The elephant in the room is PHP. Craft requires a traditional LAMP-style hosting setup with PHP 8.2+ and MySQL or Postgres, which immediately rules out the serverless and edge-first hosting that modern JavaScript frameworks thrive on. You're managing servers, configuring OPcache, tuning database connections, and dealing with all the operational overhead that comes with self-hosted PHP applications. For teams already working in the JavaScript ecosystem, this is a hard sell.
Major version upgrades are genuinely painful. Craft doesn't support skipping major versions, so migrating from Craft 2 to 5 means stepping through every version in between. Each jump brings breaking changes to Twig templates, PHP requirements, and plugin compatibility. We've seen agencies spend weeks on upgrades that should have been straightforward. The Team tier starts at $279 per project and the Pro tier costs $399, plus $99 annual renewals for both. A free Solo tier exists for single-user projects, but costs still add up for agencies, especially when you factor in plugins and the recent trend toward stricter licence enforcement in the control panel.
The community, while passionate, is relatively small compared to WordPress or even newer headless CMS platforms. When you hit an edge case or need help with a niche plugin, you may find yourself digging through GitHub issues rather than finding a ready answer. And while Craft Cloud exists as a managed hosting option, it's still maturing and doesn't yet match the deployment experience you'd get with platforms like Vercel or Netlify.

PHP hosting requirements
You need a traditional server with PHP 8.2+, MySQL or Postgres, and proper configuration. No serverless, no edge deployment, no modern hosting shortcuts.

Painful major version upgrades
You can't skip major versions, so upgrades mean stepping through each release with breaking Twig, PHP, and plugin changes along the way.

Smaller community and ecosystem
The community is dedicated but small. Finding answers to niche problems often means digging through GitHub issues or waiting on forum responses.

Licence costs add up
The Team tier is $279 per project and Pro is $399, both with $99 annual renewals, plus paid plugins on top. A free Solo tier exists for single-user projects, but costs add up quickly for agencies managing multiple client sites.

Learning curve for non-developers
Craft assumes your team includes developers. Content editors coming from WordPress or simpler tools will need time to adjust to the more structured interface.

Twig templating limitations
Twig is clean but limited compared to modern component frameworks. Complex UI logic gets awkward, and you're locked into whatever Twig version Craft supports.
Key advantages
You know where our bias' lies. We think Sanity is literally the best headless content management out there. The schema is code-based, so it can be easily versioned, scaled, and extended without a heap of third-party hoops to jump. Providing you build it with a solid foundation, which we always recommend Turbo Start Sanity, it's going to be the most valuable hub for content you can imagine.
It's got a very unique tooling called the Live Content API, which in simple terms means
when you press publish, its live.
No issues with caching, and a single API usage that scales perfectly with multichannel content delivery.
It also offers one of the best editorial experiences in the industry with Presentation and customizable content structures. We're obviously huge fans of it, and we've pivoted our business with it when we realised how ahead it is.

Real time collaboration
You write, your teammate tags in, adds citations, and updates the same doc without stepping on each other. It’s the fastest way to ship content without the “who has edit access?” chaos.

Live preview block building
With Sanity, you don’t have to guess what your page might look like. Real-time previews update the moment you type. It’s a 1:1 mirror of your site before it ever goes live, so your campaigns look right the first time.

Meta tags, structured content
Sanity’s structured content gives Google clean data and rich schema, so your pages surface higher without manual hacking. Automated schema, smarter metadata, and better rankings.

Better media management
A blazing-fast media library with first-class support for Cloudinary, Mux, Wistia and more. Upload, drag-and-drop, preview without wrestling with assets, and waiting for spins of doom.

Automated social sharing
Ever wanted to share one update, and automatically populate every social platform? Welcome to the future we've built that. Why should social media be a chore.

Automated image generation
Sanity keeps your subject centred and sharp like a tiny author thumbnail or a full-page hero banner. There are no awkward crops, or chopped heads. Your visuals just look right everywhere.
Book a meeting with us to discuss how we can help or fill out a form to get in touch
Join the growing list of successful migrations
Case Study
View Case StudyMigrating hundreds of thousands of pages, re-platforming and extending for the leading composable AI integration platform

Case Study
View Case StudyFrom Sanity overages to instantaneous publishing, we brought Mario Testino into the fast lane, and did it in style.

Case Study
View Case StudyHelping the UAE's most prolific Pay in 4 merchants scale their design system and composable infrastructure.

Case Study
View Case StudyHow we helped the fastest growing online cycling community, push the editorial velocity to new heights.
