An indisputable strong point of Joomla and Wordpress CMS (Content Management System) is the ability to easily update their source code and that of their extensions by simply clicking a button in the backend. Wordpress allows minor and major updates to be carried out automatically, unlike Joomla, which informs the webmaster by email, but ultimately leaves it up to him to choose the right time to do so. Both approaches have their advantages and disadvantages. However, Wordpress users can deactivate this function and Joomla users can use external services to automatically or globally update their extensions.
Regular and methodical maintenance of your CMS allows you to gradually resolve any problems and ensure the security and performance of the website over the long term. Permanently updated, the statistics communicated by the Joomla and Wordpress CMS show that too many webmasters do not correctly or completely update their application, their PHP version and their database management system. MySQL, despite the insistent messages displayed in the administration console, probably for fear of breaking the site or some of its functionalities.
The risk of encountering a major problem when carrying out updates is low, if the site was designed from the start without modifications to the core files, with extensions programmed in accordance with CMS best practices and was installed correctly on its hosting, but it's worth spending some time understanding how to plan them:
1) It is important to perform a full backup of files and database regularly. A backup also allows the site to be installed on a temporary server (staging) and to test a “Release candidate” version or a major update without risk for the site in production.
2) All relevant updates are accompanied by a “Changelog”, a list of modifications. It will indicate in particular the specifications required by the new version, the risks of incompatibility, the functionalities added or abandoned, possibly the modified files. Not reading the documentation is one of the most common mistakes. The webmaster will also keep his own log of updates and features of the site to waste less time next time.
3) Extensions whose source code may no longer be compatible with the latest version of the CMS should be updated. If the extension has been abandoned by its developer, it will be necessary to disable it during the update process or replace it with another one. If the abandoned extension continues to work, then you must check that it is not in a list of vulnerable extensions and that it does not generate (too many) errors during its execution (see point 5). You must completely uninstall unused extensions and delete all files and tables from the database. I have seen CMS crash several times because of extensions or frameworks that are disabled, but not completely uninstalled. Even if it is not always practically feasible, better training in web languages and learning to correctly use what is already available in the core is a better solution than installing a hodgepodge of extensions.
4) The template / theme used by the CMS is a particular extension which is often the main cause of problems. Not only may it no longer be up to date, but overrides in the Joomla HTML folder or in the Wordpress Child theme are not automatically synchronized with new versions. An override is a PHP/HTML/CSS/Javascript or other file that has been customized and will not be replaced by the update. This work of synchronizing modified files must be done regularly using, for example, tools like diff, compare (Visual Studio) or my favorite BBEdit (Mac). Joomla 4 now comes with its own diff tool to update overrides. It is also important to keep a basic template/theme in reserve on your system, so that you can enable it and check the origin of the problem, or even use it as a temporary solution.
5) BAM, a problem arises. Most hosting providers offer logs recording the most recent errors, so you can trace the origin of the problem. Then, it is necessary to know how to access the file system with SFTP software (FileZilla), on the command line (SSH) or through the host's administration interface. This makes it possible, for example, to adjust the level of error display, to enable CMS debugging tools which display, in particular, the uncompressed versions of scripts and bottlenecks in the execution process, to disable a recalcitrant plugin, to read logs recorded in the file system or to perform routine manipulations in configuration files like wp-config.php, configuration.php, .htaccess or robots.txt. Knowing how to directly access the database with phpMyAdmin allows you to change the active template/theme if the latter has crashed the CMS or modified a lost user password. Finally, the browser developer tool can provide valuable information about files not found (404), blocked by the server (403) or errors in the Javascript code.
In truth, update problems are rather rare when the site has been correctly created and installed, its maintenance carried out regularly and technical monitoring of new versions is carried out. If the site owners are not able to carry out these tasks on their own, they should make sure that a developer can help them in case of problems, because hosts do not provide technical support on applications installed by third parties. So, plan your CMS updates and stay calm.