Upgrading from ExpressionEngine 2¶
Third-party add-ons from v2 will not work with ExpressionEngine 3. Check with each add-on author to see if there are updates available. If you maintain your own add-ons, please see the 3.0 Conversion Guidelines.
Add-ons that you will not be using in v3 must be uninstalled and refactored out of your site before upgrading. ExpressionEngine 3 will not be able to run incompatible code to uninstall those add-ons after upgrading. For example, the Playa & Matrix Importer can be used to convert those third-party field types to native ExpressionEngine Relationship and Grid fields, and should be run while still on v2.
1. Backup and Prepare¶
- Clear the cache in ExpressionEngine by going to . Select All Caches and click Submit.
- Back-up your ExpressionEngine database.
- Back-up all of your ExpressionEngine files and directories.
- Download the latest release of ExpressionEngine (either ExpressionEngine Core or the standard edition, whichever your site is currently running) and unzip the files to a folder on your computer.
- Take your site offline:
system/expressionengine/utilities/offline.htmlto your web root directory (the same place you have your main
index.html. Now your visitors will see the “offline” page while you update your site.
2. Copy Files¶
Now copy the following files from the backup of your current site to the newly downloaded ExpressionEngine 3.x directory:
- If you have any languages other than English in your Control Panel, copy all files and directories except
- If you have the forum module installed, copy the directory
- If you have the wiki module installed, copy the directory
- If you save templates as files, copy all files and directories from
We recommend putting ExpressionEngine 3 compatible third-party add-ons into the
system/user/addons/ directory now.
3. Upload Files¶
On the server, rename the following files and directories:
Then upload the following files and directories:
If you’ve moved your system directory, make sure to change both
admin.php to point to the correct directory.
If you have MSM installed using subfolders, make sure to update the
admin.php files in those folders as well.
4. Check Permissions¶
You need to enable write access to the following files and folders. In a worst-case scenario that would be
666 for files and
777 for directories. You should check with your web host to see if more restrictive permissions can be used to allow PHP to write to files and directories. See File Permissions for details.
Make this file writable:
Make these directories (and their subdirectories) writable:
Provide all permissions to the IIS user for following directories (and their subdirectories):
5. Run Upgrade¶
Go to your site’s control panel URL (typically found at
http://example.com/system/) and follow the on-screen instructions to upgrade ExpressionEngine.
6. Clean up¶
Remove or rename the offline
index.htmlfile from your site.
If the updater could not automatically rename the installer, rename or remove
The installer directory can be safely removed after installing ExpressionEngine.
Review any Version Notes since they outline any version-specific changes that you may need to make to your installation.
Review our best practices for recommendations on protecting your installation against common security risks.
Go to the Add-On Manager and run the updates for any of your compatible add-ons.
Control Panel Location:
You’re Done! ExpressionEngine is now fully upgraded.