BlogWordPress
WordPress Update Broke My Site: How to Recover in 30 Minutes
Rustam9 min read
If an update just broke your WordPress site, the fix is usually to switch off or roll back the one plugin or theme that caused it. You can do that from the recovery-mode email WordPress sends, or by renaming the plugin's folder through your hosting file manager. If that doesn't work, restore the backup taken before the update. Most cases are sorted in well under 30 minutes once you know which of these you're dealing with.
Below is the order I work through when a site goes down after an update. Follow it top to bottom and stop when the site is back.
Before you touch anything (2 minutes)
Write down exactly what you updated, and in what order. The Updates screen and the plugin list both show version numbers, and your memory of "I clicked update all" won't help much later.
Don't click "update" again hoping it fixes itself. Don't start deleting plugins either. Deleting a plugin from the dashboard can remove its settings, while deactivating or renaming it keeps them.
If the site takes orders or bookings, it's worth putting up a short notice on your social channels or turning on a maintenance page while you work. Then begin.
Step 1: Identify what kind of broken it is (3 minutes)
Open the site in a private browser window, then try to load /wp-admin. What you see tells you where to go next.
"There has been a critical error on this website"
This is a PHP fatal error, almost always from a plugin or theme. Go to step 2.
A blank white page or a 500 error
Usually also a PHP fatal error, but with error display turned off. Go to step 2, and use step 4 if you can't tell which plugin it is.
"Briefly unavailable for scheduled maintenance"
The update was interrupted and WordPress left its maintenance file behind. Open your hosting file manager, find the file called .maintenance in the site's root folder (next to wp-config.php), and delete it. Hidden files may need to be switched on in the file manager settings. That's often the whole fix.
The site loads but the layout is broken
Missing styling, jumbled sections, wrong fonts. This is usually a cache or page builder issue rather than a crash. Go to step 6.
The front end works but the admin or page editor doesn't
Treat it like step 2, but focus on the plugin you updated most recently.
Step 2: Use the recovery mode email (5 minutes)
When a plugin or theme causes a fatal error, WordPress (since version 5.2) emails the site's admin address. The subject is usually along the lines of "Your Site is Experiencing a Technical Issue". It names the plugin or theme that caused the error and includes a special login link.
Click that link and log in. You'll be in recovery mode, where WordPress pauses the faulty plugin for your session. Go to Plugins, deactivate the plugin it named, and exit recovery mode. Check the site in a private window.
Check spam for the email. If it never arrived (common when the admin email is an old address, or the server can't send mail), move to step 3.
Step 3: Disable the plugin through the file manager (5 minutes)
Log into your hosting control panel (cPanel, Plesk, or your host's own dashboard) and open the file manager. You can also use SFTP. Go to wp-content/plugins/.
Find the folder of the plugin you updated and rename it, for example from some-plugin to some-plugin-off. WordPress can't find it any more, so it deactivates it. Reload the site.
If you updated several plugins at once and don't know which one is to blame, rename the whole plugins folder to plugins-off. If the site comes back, rename it back to plugins. All plugins will now show as deactivated. Reactivate them one at a time from the dashboard, checking the site after each one, until it breaks again. That's your culprit. Deactivate it and reactivate the rest.
If the theme was updated and plugins aren't the cause, do the same in wp-content/themes/. Renaming the active theme folder makes WordPress fall back to a default theme, if one is installed. Your design will look wrong, but you'll get into the admin.
Step 4: Read the error log if you're still guessing (5 minutes)
If you can't tell what's causing the error, turn on the debug log. In the file manager, open wp-config.php and find the line with WP_DEBUG. Replace it with these three lines, above the line that says "That's all, stop editing":
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Reload the broken page, then open wp-content/debug.log. Look for a line starting with "PHP Fatal error". It will include a file path such as wp-content/plugins/some-plugin/includes/file.php, which tells you exactly which plugin or theme failed.
A message about a function or syntax that doesn't exist sometimes means the new version needs a newer PHP version than your host is running. The plugin's page on WordPress.org lists its minimum PHP version. You can change PHP in most hosting panels (in cPanel it's usually under MultiPHP Manager or "Select PHP Version"), but test that on staging if you can, because raising PHP can break other old plugins.
When you're done, set WP_DEBUG back to false and delete debug.log. Leaving the log publicly reachable is a small security risk.
Step 5: Roll back to the version that worked (5 minutes)
Once you know which plugin broke things, you have two choices: leave it off until a fix is released, or install the previous version. If the plugin does something essential (forms, checkout, the page builder), rolling back is usually better.
For free plugins from WordPress.org, open the plugin's page, click "Advanced View", and pick an earlier release from the "Previous versions" dropdown at the bottom. Download it, delete the broken plugin folder via the file manager, and upload the old version. The WP Rollback plugin does the same from the dashboard if you can still get into the admin.
For Elementor, Elementor's help centre documents a Version Control tool under Elementor's Tools settings that reinstalls an earlier version. For Crocoblock's JetPlugins, Crocoblock's help centre explains the Change Version option under Crocoblock > Update & Installation. For other premium plugins, older versions are usually in your account on the vendor's site.
One warning. A rollback replaces the plugin's code, but if the new version already changed the database, going back may not fully undo it. If the site still misbehaves after a rollback, go to step 7.
Step 6: If the layout is broken, clear the caches (5 minutes)
Broken styling after an update is usually stale CSS being served from a cache. Clear them in this order:
- The caching plugin (LiteSpeed Cache, WP Rocket, W3 Total Cache or similar).
- Your page builder's generated files. In Elementor this is under Elementor's Tools settings. Newer versions label it "Clear Files & Data" and older versions "Regenerate CSS & Data".
- Server cache in your hosting panel, if your host has one.
- Your CDN, such as Cloudflare ("Purge Everything").
- Your own browser. Test in a private window.
If the layout is still broken after all five, it's a real compatibility problem. Roll back the builder or add-on you updated (step 5). I go deeper into this in maintaining an Elementor + Crocoblock website.
Step 7: Restore the backup (10 minutes or more)
If nothing above worked, restore the backup taken just before the update. Most hosts keep daily backups in the control panel, and plugins like UpdraftPlus can restore from inside WordPress if you can still log in.
Restore both files and database, so the code and data match. If you run WooCommerce or take form submissions, note the backup's time first: any orders or entries after it will be lost from the site. Export recent orders or check your payment provider and email notifications so you can recreate anything missing.
No usable backup? This is the point where I'd stop experimenting and get help, because each extra attempt makes the damage harder to unpick.
Once the site is back
Don't update the faulty plugin again until its changelog or support forum shows a fix. Check its WordPress.org support forum, because if an update broke your site, it probably broke others too. If you report it, include your WordPress, PHP and plugin versions plus the error from debug.log.
If auto-updates are on for that plugin, turn them off for now. WordPress 6.6 added automatic rollback for plugin auto-updates, but according to the core team's merge proposal it works by checking the homepage for a PHP fatal error. It won't catch a broken layout, form or checkout.
How to stop this happening again
Most update disasters trace back to the same three missing habits.
Update on staging first. Run the updates on a copy of the site, check the key pages and forms, then repeat on live.
Back up immediately before updating. Daily backups are good, but a backup from ten minutes ago is better than one from last night.
Update in small batches. "Update all" on 20 plugins makes step 3 slow. Doing the page builder and its add-ons separately from everything else makes the culprit obvious.
My WordPress maintenance checklist has the full routine, if you want to run it yourself.
When to call someone
If the site makes you money, you have no recent backup, or the error points at something like the database or WooCommerce rather than a single plugin, it's sensible to get help rather than keep trying things. I offer one-time support at an hourly rate for exactly this, and ongoing website maintenance plans where updates are tested before they reach your live site. Contact me here, with the error message and what you updated, and I'll tell you what I'd do next.
FAQ
Why does WordPress say "There has been a critical error on this website"?
It means PHP hit a fatal error, usually caused by a plugin or theme that was just updated or is incompatible with your PHP version. Check the admin email inbox for the recovery mode link, or disable the plugin by renaming its folder in wp-content/plugins.
Can I undo a WordPress plugin update?
Yes. Install the previous version from the plugin's WordPress.org page (Advanced View, then Previous versions), use the WP Rollback plugin, or use the vendor's own tool, such as Elementor's Version Control or Crocoblock's Change Version option. Database changes may not be reversed, so a backup is the safer fallback.
Will I lose content if I disable a plugin?
Deactivating or renaming a plugin's folder keeps its settings and data in the database. Deleting a plugin from the dashboard may remove them, depending on the plugin. While you're troubleshooting, deactivate or rename, don't delete.
How do I fix a site stuck in maintenance mode after an update?
Delete the .maintenance file in the site's root folder using your hosting file manager or SFTP. You may need to show hidden files to see it. Then run the interrupted update again.