Case study
View case studyJamb
We rebuilt Jamb on Sanity and Next.js, merging two legacy PHP sites into one calm catalogue without losing the SEO equity their antique and reproduction collections had built up.

From Joomla to Craft CMS
Last verified:
Key pain points
Joomla sits in the same category as WordPress, except somehow even harder to explain to anyone under 40. If your C-suite is filled with boomers who think “PHP developer” is still a personality type, Joomla will make them feel right at home. You might also have a vested interest in making your hosting provider very rich, because nothing about this platform is light, modern, or low-maintenance.
The dev experience still feels trapped in a pre-composer, pre-type-hints era. Migrations are a genuine horror story: extensions break, templates implode, and you’ll often rebuild the whole site because Joomla decided versioning should be a personality test. The community is smaller, the documentation is hit-and-miss, and the admin panel feels like a UI from a government portal that accidentally became a CMS. Performance on shared hosting is questionable at best, workflow is clunky, and there is barely any modern DX. But if you really, truly want Joomla… we’ll point you to another agency or just sit down with us for half an hour and we'll talk you out of your biggest digital regret.

Steep learning curve
Joomla makes even simple tasks feel like you’re onboarding into a new corporate ERP system. If you’re not already fluent in its quirks, prepare to lose a weekend (or three).

Outdated coding standards
Still clinging to older PHP conventions, missing modern practices, and generally stuck in a time capsule. If you enjoy fighting your own tools, you’ll love it.

Complex migration process
Upgrading versions feels less like an update and more like a full-blown rebuild. Random extensions break, templates combust, and you’re left questioning your career choices.

Extension compatibility issues
Half the ecosystem works… depending on your version, your template, the time of day, and whether Mercury is in retrograde. Reliability is not its strong suit.

Limited template selection
Unless you’re aiming for “government website from 2011,” the design ecosystem doesn’t give you much to work with.

Interface complexity barriers
The admin panel still feels like an escape room puzzle. Everything is technically there, but actually finding or using it is another story.
Key advantages
Craft CMS is one of those platforms we genuinely respect from a developer standpoint. The content modelling is best-in-class for a traditional CMS. You define sections, entry types, and fields with real precision, and the authoring experience maps cleanly to the underlying data structure. If your content team needs a CMS that actually reflects how the site is built, Craft delivers that better than most. The Twig templating layer is clean and predictable, and the admin UI is fast and intuitive once editors get past the initial learning curve.
Where Craft really shines is in the middle ground between simple marketing sites and full-blown enterprise builds. It's flexible enough to handle complex content architectures without the bloat of something like WordPress, and the built-in GraphQL API means you can use it headless if you want to pair it with a modern frontend. The plugin ecosystem is smaller but noticeably higher quality than what you'd find in WordPress, and the Composer-based workflow means your whole project can live in version control properly.
We've seen agencies build genuinely impressive work on Craft, especially for content-heavy sites where editorial workflows matter. If your team includes developers and you want a CMS that rewards careful architecture, Craft is a solid choice. It's not trying to be everything to everyone, and that focus shows.
That said, we'd typically recommend a headless CMS like Sanity for most of the projects we take on. Craft is at its best when you're comfortable with PHP and want a tightly integrated traditional or hybrid setup. If you're building on Next.js or a modern JavaScript stack, you'll find more natural fits elsewhere.

Exceptional content modelling
Craft's field and section system gives you precise control over your content structure. You can model complex relationships between content types without fighting the CMS.

Clean authoring experience
The admin panel is fast, well-organized, and maps directly to how content is structured. Editors can work efficiently once they understand the layout.

Built-in GraphQL API
Craft ships with a native GraphQL API, so you can use it headless without plugins or workarounds. It's deeply integrated and well-documented.

Composer-based modern workflow
Everything is managed through Composer, so your project, plugins, and dependencies all live in version control. Deployments through CI/CD pipelines work smoothly.

Higher quality plugin ecosystem
The plugin store is smaller than WordPress but the quality bar is noticeably higher. Plugins are better maintained and less likely to break your site on update.

Granular user permissions
Built-in role and permission management is detailed and flexible. You can lock down exactly what each editor can see and do without needing third-party plugins.
Tell us what you're building. We reply within one working day — Jono or someone on the team picks up every message personally.
Join the growing list of successful migrations