Upgrading from Craft 2 to Craft 3: Should I update?

The Craft documentation is a great place to start if you are updating from Craft 2 to Craft 3. If you haven’t already, read over the Upgrading from Craft 2 and Changes in Craft 3 pages. You’ll likely refer to these pages throughout the migration process.

The series of articles below are not meant to be a replacement for the docs but to provide a compendium of notes, considerations, and workflow preferences that I’ve found to complement the guides above while upgrading several Craft sites. These articles will cover (links will be added as new articles get published):

  1. Evaluation
  2. Setup & Planning
  3. Update Everything on Craft 2
  4. A Fresh Install
  5. Database Migration
  6. Template Migration
  7. Custom Plugins & Modules
  8. Deploy & Maintain

Evaluation #

Before you agree to upgrade a site to Craft 3, you’ll want to review the site and confirm that it’s possible to do so. One part of this question is if it’s technically possible (which it usually is). The more liking binding consideration is if a budget will be able to cover the work involved.

The primary blockers I’ve run into for sites upgrading to Craft 3 are on sites with lots of custom development and sites using plugins that have not yet been (or will not be) upgraded to Craft 3. Both scenarios result in additional budget considerations as, while the general upgrade process is fairly straightforward and reasonable for most budgets, these scenarios lead to additional custom development considerations.

To start off, open your favorite spreadsheet tool or text editor and review all the plugins on your site. List out each one, do your research, and identify its upgrade path for Craft 3. If a plugin doesn’t have an upgrade path, you’ll need to decide whether you want to wait for the developer to update it (assuming they will) or find an alternative path (such as rebuilding it yourself, assuming they won’t be upgrading it). Both paths are reasonable depending on your project requirements.

This step can be tedious if you have lots of plugins. Craft provides an overview of what it knows about your installed plugins at the bottom of the Craft 2 update page. That information is maintained via the craft2-plugins.php file on the Craftnet repo if you want to propose an update to the information you see there. If you can’t determine your upgrade path from there, you may need to look up various plugins individually.

Craft 3 Plugin Availability

If you’re on an older installation of Craft, be sure to read over the Server Requirements for Craft 3 and make sure you meet the PHP and MySQL requirements. If you don’t, you may have to plan and budget for getting upgraded to a new server as well.

Subscription pricing #

On the business side of things, now is also the time to begin the conversation with your employer or client about Craft 3's new subscription model. This will feel like a big change for many but the subscription model is a much better reflection of the ongoing costs of maintaining a website over time so it's well worth the time to review your pricing, educate your clients, and get folks on board.

While many Craft 2 sites will be grandfathered into licenses that won't have renewal fees, any new plugins added in the future will be subject to the new model so it's worth making sure everyone understands the changes that are happening to the ecosystem up front.

New skill considerations #

For the designers, junior developers, and one-click-updaters out there, there is one more area I’d like to encourage you to plan ahead for: your skill set.

Be honest with yourself and honest with your clients or employer. While you may really, really want to upgrade to Craft 3, don’t let the pretty UI fool you. Craft continues to be a custom CMS and requires a certain amount of development knowledge to use and maintain properly. Craft 3 introduces an entirely new architecture and relies on technologies like Composer that may test your skill set when things go wrong.

If you are not using a repository like git to manage your codebase and deploying your updates using a deployment tool, it may be best to first take the time to learn and become comfortable with those skills.

Plan some time for a contractor or coach in the budget to help level-up and avoid common problems along the way. Straight Up Craft offers integrated coaching and training services and there are several qualified agencies and developers in the Craft community who can help you out too.

Don't miss any Craft tips, tricks, and community updates