Craft CMS 5: Upgrade or Rebuild?
by Ian Ebden in Craft CMS.
With Craft CMS 6 expected to arrive in the not-too-distant future, you might assume it's worth waiting before upgrading an older website. But in all likelihood, Craft CMS 5 will probably remain the most widely used and supported version for the next few years, and many organisations are still running websites built on Craft CMS 3 or 4.
Whether it's for improved security, ongoing support, PHP compatibility or simply reducing technical debt, there's still every reason to plan an upgrade to Craft 5. The question isn't whether you should upgrade—it's how.
DesignKarma has completed many Craft CMS 5 upgrade projects, and I've found there are two proven approaches. The first follows the official in-place upgrade path recommended by the Craft CMS team. The second involves creating a fresh Craft CMS 5 installation and migrating the existing project across, including much of the site's underlying configuration.
Both approaches can deliver an excellent outcome. The challenge is understanding which is the better fit for your particular website, based on age, complexity and technical health of the existing website. Let's take a look at the pros and cons.
| Official Upgrade Path | Fresh Craft 5 Build & Migration | |
|---|---|---|
| Approach | Upgrade the existing website in place | Build a new Craft 5 project and migrate the existing website |
| Best suited to | Well-maintained websites with minimal technical debt | Older websites, complex projects or sites requiring technical housekeeping |
| Pros | Faster, retains the existing project structure, minimal disruption | Clean installation, removes legacy issues, opportunity to modernise architecture |
| Cons | Legacy issues may remain, older dependencies can complicate the upgrade | Requires more planning, testing and content migration |
Option 1: Following the Official Upgrade Path
The official Craft CMS documentation describes an in-place upgrade. This involves updating Craft CMS itself, PHP requirements, Composer dependencies and plugins in a controlled sequence until the project is running on Craft CMS 5.
For websites that have been kept reasonably current, this is often the quickest and most straightforward route.
However, older websites can present additional challenges. Plugins may no longer be supported, Composer dependencies may conflict, and years of incremental changes can make troubleshooting more time-consuming than expected.
Option 2: A Fresh Craft CMS 5 Build
The second approach is one I've used successfully on several recent client projects.
Rather than upgrading the existing installation directly, I create a brand-new clean Craft CMS 5 project and then migrate the website across.
At first glance this sounds like rebuilding the website from scratch—but it usually isn't.
One of the biggest surprises for me was discovering how much of the existing project can be carried across. The existing Project Config (config/project) can often be migrated into the new Craft CMS 5 installation, bringing with it sections, entry types, fields, Matrix configurations, Globals and many other project settings. Instead of manually recreating the content model, you're effectively giving it a clean, modern Craft 5 foundation.
Templates, modules and front-end assets can then be migrated across, while content is imported from the existing website using tools such as Feed Me or a bespoke migration script.
The end result is a website that looks and behaves almost identically from the user's perspective, but benefits from a completely fresh technical foundation.
Why I Like This Approach
For websites that have accumulated years of updates, plugins and legacy code, starting with a clean Craft CMS 5 installation has several advantages. You're able to:
- review every plugin and decide whether it's still needed
- remove deprecated packages and unused code
- modernise the Composer setup
- adopt the latest project structure
- upgrade PHP alongside Craft
- simplify future maintenance
Perhaps most importantly, you're making conscious decisions about what deserves to come forward into the new project, rather than carrying everything across automatically.
Which Approach Should You Choose?
There's no universal answer. Every Craft CMS website has its own history. Some are ideal candidates for an in-place upgrade. Others benefit from starting with a fresh Craft CMS 5 foundation while preserving the existing content and design.
If your website is technically healthy and has been maintained regularly, following the official upgrade path may be the quickest and most cost-effective solution.
However, if the project is several years old, has accumulated technical debt, or would benefit from some architectural improvements, a fresh Craft CMS 5 build with content migration can often produce a cleaner and more maintainable result.
Before recommending either approach, I always review the website first. That allows me to assess the current project structure, plugin compatibility, hosting environment and overall technical health before deciding which route is likely to deliver the best long-term outcome.
If you're considering upgrading to Craft CMS 5, I'd be happy to review your website and recommend the approach that's most appropriate for your project. Get in touch now.
FAQs
Thanks for reading