An update to WordPress, a plugin, the theme or PHP, and the site is no longer itself: layout in pieces, a white screen, a form that stopped working. Rolling back is done component by component, keeping everything the site has received since, orders and messages included. Here are the steps, in order.
.maintenance file at the site root.Four things get updated on a WordPress site, and each one rolls back differently: WordPress core, the plugins, the theme, and the server’s PHP version, which your host upgrades on its own schedule. To find out which one moved:
wp plugin list
ls -lt wp-content/plugins | head
The first command lists plugins with their version and status; the second lists plugin folders from most recently modified to oldest. Match them against the time the site changed.
After an update, CSS and JavaScript files change, and a cache can keep serving the old ones. The result looks like a failure: layout in pieces, menus that no longer open. Clear, in this order, your caching or optimisation plugin’s cache, your host’s cache if it offers one, then your browser’s, and reload. If the site comes back, the update was not the problem.
During an update, WordPress creates a .maintenance file at the site root and shows "Briefly unavailable for scheduled maintenance. Check back in a minute." When the update is interrupted, the file stays behind. WordPress ignores it ten minutes after the time recorded inside it; to skip the wait, or if the message persists, delete it over SFTP or with your host’s file manager. Its name starts with a dot, so turn on hidden files to see it.
Then go to Dashboard > Updates: the item whose update was interrupted needs to be run again, or reinstalled at its previous version.
Reinstalling the previous version replaces the plugin’s files and keeps its settings, which live in the database.
wp plugin install plugin-name --version=2.4.1 --force
WordPress already rolls back on its own in two cases. Since version 6.3, when a plugin or theme update fails partway through, the old version is put back. Since version 6.6, when an automatic update of an active plugin causes a fatal error, WordPress reinstalls the previous version. An update that completes and breaks a feature without a fatal error still has to be rolled back by hand.
wp theme install theme-name --version=3.1.0 --force
A theme update replaces all of its files. Changes made directly in the theme’s files, in functions.php or a stylesheet for instance, therefore disappear with every update. The backup taken before the update lets you recover them; to keep them for good, they belong in a child theme, which updates to the parent theme leave untouched.
WP-CLI reinstalls a specific core version:
wp core update --version=7.0 --force
A major core update can also change the database structure, which this command leaves as it is. The safer route is often to keep core up to date and roll back the incompatible plugin or theme instead. If going back on core is unavoidable, do it from a full backup taken before the update.
Hosts move PHP forward as older versions stop receiving security fixes. An old plugin or theme can then stop on a fatal error. Hosting panels usually let you choose the site’s PHP version:
That switch is a troubleshooting step: a PHP version without security fixes leaves the site exposed. According to the official schedule on php.net, PHP 8.1 has received no security fixes since 31 December 2025, PHP 8.2 receives them until 31 December 2026 and PHP 8.3 until 31 December 2027. WordPress recommends PHP 8.3 or newer.
A restore puts the files and the database back to the state of the backup. Everything the site has received since is lost: orders, form messages, comments, sign-ups, published posts.
With Serenity by Simafri, we create your professional website, host it, secure it and keep it up to date. You write to us, we take care of everything. Domain name and professional email included.
Reinstall the previous version: with WP-CLI, wp plugin install plugin-name --version=number --force; without WP-CLI, download the previous version’s archive and upload it from the Add Plugins screen, choosing to replace the current plugin. The plugin settings, stored in the database, are kept.
In two cases. Since WordPress 6.3, a plugin or theme update that fails partway through leaves the old version in place. Since WordPress 6.6, an automatic update of an active plugin that causes a fatal error is rolled back. An update that completes and breaks a feature without a fatal error is rolled back by hand.
Either a cache is still serving the old CSS files, and clearing the caches is enough; or changes had been made directly in the theme files, and the update replaced them. In the second case, they can be recovered from the backup taken before the update, and then moved into a child theme.
Updates also fix security holes, and a site that gets them late stays exposed for longer. The setup that holds is an update applied first to a test copy, with a backup right before. A plugin that causes trouble can have its auto-updates switched off until a fix ships.
Simafri
Let's talk about your project
Tell us what you need in a few words: we will get back to you quickly.
Thank you! Your request has been sent. We'll get back to you shortly.
Prefer email? Write to us at support@simafri.com.