Pre-upgrade tasks

Before starting the upgrade check your system for compatibility with a newer TYPO3 version.

  • Before you upgrade to the next major version, make sure you have run all Upgrade Wizards of the current TYPO3 major version.
  • Check for deprecations: Enable the deprecation log and let it log all deprecations for a while.
  • Alternatively (or additionally) run the extension scanner and handle deprecations (below).
  • Check installed extensions for versions compatible to the target TYPO3 version
  • Try the upgrade on a development system first or create a parallel instance

Check that all system requirements for upgrading are met:

Make A Backup

Make a backup first! If things go wrong, you can at least go back to the old version. You need a backup of

  • all files of your TYPO3 installation (by using FTP, SCP, rsync, or any other method)
  • the database (by exporting the database to an SQL file)

Also, you may prefer to upgrade a copy of your site first, if there have been a lot of changes and some of them might interfere with functions of your site. See the changelog to check that.

For more detailed information about TYPO3 backups see Backup strategy in TYPO3 Explained.

Update Reference Index

Without command line

Still in your old TYPO3 version, go to the System > DB check module and use the Manage Reference Index function.

Click on Update reference index to update the reference index. In case there is a timeout, and you do not have CLI access (see above) you might have to run the update multiple times.

Check the ChangeLog

In addition to the deprecations you may want to read the information about important changes, new features and breaking changes for the release you are updating to.

The changelog is divided into four sections "Breaking Changes", "Features", "Deprecation" and "Important". Before upgrading you should at least take a look at the sections "Breaking Changes" and "Important" - changes described in those areas might affect your website.

The detailed information contains a section called "Affected Installations" which contains hints whether or not your website is affected by the change.

There are 3 different methods you can use to read the changelogs:

  1. Look through the changelogs online. This has the advantage that code blocks will be formatted nicely with syntax highlighting.
  2. Read the changelogs in the backend: Upgrade > View Upgrade Documentation. This has the advantage that you can filter by tags and mark individual changelogs as done. This way, it is possible to use the list like a todo list.
  3. Read the changelog in the Extension Scanner (as explained above).
Upgrade Analysis

The "Upgrade Analysis" in the Install Tool

Resolve Deprecations

If you notice some API you are using is deprecated, you should look up the corresponding changelog entry and see how to migrate your code corresponding to the documentation.

Since TYPO3 v9 an extension scanner is included, that provides basic scanning of your extensions for deprecated code. While it does not catch everything, it can be used as a base for an upgrade. You can either access the extension scanner via the TYPO3 admin tools (in the Backend: Module "Upgrade" > "Scan Extension Files") or as a standalone tool (https://github.com/tuurlijk/typo3scan).

The extension scanner will show the corresponding changelog which contains a description of how to migrate your code. See Check the ChangeLog for more information about the changelogs and how to read them.

In addition, you can use the tool typo3-rector to automatically refactor the code for a lot of deprecations.

Convert Global Extensions

Changed in version 12.0

The support of global extensions was removed with TYPO3 v12.0. Convert them to local ones.

Global extensions used to be saved in folders inside typo3/ext/, such as typo3/ext/news. In current versions of TYPO3, this location should no longer be used. Instead, use local extensions below typo3conf/ext/.

To convert a global extension to a local one, do the following:

  • Go to the Admin Tools > Extensions backend module.
  • Uninstall the global extension.
  • On a filesystem-level of the installation (for example, via SSH shell or S/FTP), delete the directory including files and subdirectories of the corresponding extension directory in typo3/ext/.
  • Reinstall the extension from the TYPO3 Extension Repository, which will put it into typo3conf/ext/.