#

Maintenance

Subscribe
Maintenance October 29, 2026·11 min read

How to Update WordPress Safely Without Breaking Your Site

Check compatibility and make sure you have a backup you can restore. Test PHP changes, uncertain plugins, and anything involving live customer data on staging first. After updating, test what your visitors use, and stop if a check fails.

Choose an update path that fits your site

WordPress update decisions

Before you click Update, work out what will change and what a failure would interrupt. A routine plugin update on an informational site needs less preparation than a PHP upgrade on a store that is processing orders. Record which version you will return to if the release fails.

Read the release notes for the component and see whether the update fixes a security issue or is routine maintenance.

SituationUpdate approachReason
Routine, known-compatible component updateMonitored update after basic preparationFew parts of the site are affected
Major WordPress change or multiple dependent updatesSupervised update, with staging when neededMore interactions to test
PHP upgrade or aging custom codeDependency review, then staging before productionCode written for the old PHP version can fail on the new one
Store, membership site, or other transactional websiteStaging plus a plan to preserve live dataOrders, accounts, and submissions keep arriving
Time-sensitive security fixPrompt patching with a recovery point readyWaiting also carries risk

On a brochure site, the contact form can be the most important feature. The plugin that runs it deserves close attention even when its update looks small.

Website change risk

Check compatibility across WordPress, plugins, themes, and PHP

WordPress compatibility checks

WordPress core, your active plugins, the theme, custom code, PHP, and the database server all have to work together after the change. An update notice only tells you a new release exists. You still have to check whether it fits the rest of your installation.

The WordPress requirements page recommends PHP 8.3 or greater, MariaDB 10.11 or greater or MySQL 8.0 or greater, and HTTPS.

WordPress core's PHP compatibility matrix covers core only. Plugins, themes, and custom PHP code have their own requirements and can fail even when core supports your PHP version.

  • WordPress core: Record the installed and proposed versions and read the release notes.
  • Plugins: Check each active plugin affected by the change for its version requirements and dependencies.
  • Theme and custom code: Look for vendor compatibility statements, direct customizations, and code that relies on older PHP behavior.
  • Server stack: Record your PHP and database versions and the versions your host or administrator proposes.
Plugin version requirements

A self-hosted site owner facing a host-driven PHP 8.2 to 8.3 change wrote on r/Wordpress, “I'm not sure where to go from here - I can see that some of the error messages have to do with specific plugins, but I'm not sure what to do about that.”

Error messages that name a plugin, like the ones this owner saw, only tell you where to look, and so does a scanner flag. Compare the reported location with the plugin's or theme's requirements and changelog, then separate deprecation or compatibility warnings from fatal errors you can reproduce. An abandoned commercial theme can need repair or replacement before a runtime change can go ahead.

Hold the production change until you resolve any fatal compatibility problem you have reproduced. Test warnings with unclear effects on staging.

Create a recovery point you can use

WordPress backup verification

Before a production update, secure a recovery point that covers both your files and your database. The WordPress backup documentation treats them as separate components.

A database export without those files can leave the recovered site incomplete. A folder of plugin files cannot restore the database.

  • Database: Confirm the backup includes your site's database.
  • Files: Include uploads, themes, plugins, and the configuration the installation needs.
  • Timestamp, storage, and access: Know when the backup was taken, where it is held, and who can retrieve it.
  • Restore path: Know the process and credentials you need to recover the site, and check whether you have ever tested a restore.
Complete backup contents

The timestamp matters on any site that accepts new data. Restoring an older database can erase orders, contact submissions, registrations, and other records created after the backup. A store restored from yesterday's database needs a separate way to preserve today's orders.

Test risky changes without overwriting live data

WordPress staging environments

Staging gives you a separate copy of the site for testing uncertain changes.

A Hostinger VPS operator described the setup on r/Wordpress: “I’m running a WordPress site on a Hostinger VPS and currently have a staging environment on a subdomain (staging.domain.com) and the live site on domain.com.”

While you update the staging copy, the live site keeps receiving orders, registrations, and form submissions in its own database. A full database push from staging can replace those newer records with older data. Kinsta documents this risk in its own staging deployment workflow.

What changedState involvedDeployment decision
Plugin, theme, or core filesApplication codeDeploy the changed files at the versions you tested
ConfigurationFiles or database optionsFind where the changed settings are stored and move them from there
Database schema or plugin dataPersistent structure or recordsRun the required migration or a controlled transfer
Orders, accounts, and submissionsNew live production recordsKeep everything created since you copied staging
Generated output or cachesEnvironment-specific derived contentCheck the output on production after deployment
Staging database changes

A file-only deployment suits a code change that leaves persistent data alone. Some plugin updates also change tables or stored settings, and those need a data migration too.

Update WordPress core, plugins, and themes

WordPress update controls

WordPress 7.2 Beta 1, released on October 20, 2026, is a testing release meant for testing environments, not for normal stable production updates.

With the checks done and a recovery point in place, apply each update through the supported WordPress dashboard, your host's controls, or WP-CLI. Note which component you changed and whether its updater reported an error.

Use the WordPress dashboard

  1. Update core: Sign in to wp-admin, open Dashboard → Updates, and use the WordPress update button for the stable release you are installing.
  2. Update a plugin: Open Plugins → Installed Plugins and click Update Now next to any plugin with an update. Dashboard → Updates also lists plugin updates.
  3. Update a theme: Open Appearance → Themes, select the theme, and use its update control.
  4. Complete a database update: If WordPress prompts for a database upgrade after a core update, follow the on-screen action and wait for it to finish.
  5. Clear caches: If the site uses page or other caches, clear them through your caching controls so later checks show fresh output.

The WordPress updating guide covers the core dashboard flow and the related completion steps.

Plugin theme updates

Let dependencies set the order. A plugin with a stated WordPress version requirement, for example, can need the core update first.

Updates can replace the original software files, so direct edits to WordPress core or to an updated parent theme's files can be lost. Account for those customizations before updating.

Use WP-CLI when you administer the installation

If you have the right access and permissions on the installation, WP-CLI offers matching commands:

  • WordPress core: wp core update
  • A selected plugin: wp plugin update <plugin-slug>
  • A selected theme: wp theme update <theme-slug>

If a core update requires a database upgrade, run wp core update-db in the target installation.

Handle PHP as a separate server change

PHP runtime updates

Changing PHP is a hosting or server-administration task. Updating core, plugins, or themes through the dashboard does not change the PHP version your server runs.

Where their requirements allow, bring WordPress core, plugins, and the theme to versions that support the new PHP before switching.

For a PHP 8.2 to 8.3 move, use your compatibility inventory to find the plugins, themes, or custom code that need attention. On managed hosting, look for the PHP selector in the provider's control panel. A self-managed VPS can need a qualified administrator who works with the installed PHP and web services.

Server PHP version

Write down the current PHP version and find out how your host supports switching back.

Make the change through the documented hosting or server control, then confirm which PHP version WordPress is running on.

Test what visitors use

WordPress functional testing

An updater can report success while something visitors rely on is broken. Once the updates are done, test the site's actual functions.

On r/Wordpress, a maintainer with two small-business clients wrote, “I've never had a good nor time-efficient method of checking to ensure nothing is broken after a pass of plugin updates.”

A short, repeatable checklist fixes that. Build yours from the features your site actually has:

FunctionWhat to testPass condition
Public contentOpen the homepage and a typical internal pageContent and navigation load as expected
AdministrationSign in with an authorized accountThe dashboard and the controls you need open
Contact or lead captureSend a safe test form submissionThe message or record reaches its destination
Customer accountsLog in or use account functionsThe account flow completes
Store functionsRun cart and checkout without creating a real chargeEach stage works
Updated plugin featureUse the function the changed plugin providesThe feature behaves as it did before
Error signalsReview error messages or logsNo new fatal failure in the flows you checked
Website smoke tests

A company brochure site needs its contact form, navigation, and administrator sign-in tested. A WooCommerce store adds cart, checkout, and customer-account paths. Include the updated plugin's central function when the site relies on it.

Record the checks you ran, whether each passed or failed, and the components and versions you changed. A pass covers only the flows you tested, on the day you tested them.

Identify the failure before choosing recovery

WordPress update failures

If an update fails or a feature breaks, stop making changes until you know which kind of failure you have.

One maintainer working on a live client store posted this on r/Wordpress: “Unfortunately after updating Yoast SEO plugin the website crashed and it returned a white screen.”

A white screen like that belongs in the last row below.

What you observeLikely causeFirst response
Update operation remains activeNormal installation or maintenance workLet it finish and do not interrupt it
Maintenance notice persists after the updater stopsStale .maintenance fileConfirm the updater is inactive, then use the documented maintenance recovery
Plugin or theme installation failsInstaller failure that can qualify for supported rollbackCheck the update status and the available recovery mechanism
Installation finishes but a feature failsApplication regression or compatibility faultInvestigate the affected feature and its errors
Site or dashboard becomes inaccessibleCritical error or access problemUse the administrator and hosting recovery path
WordPress failure diagnosis

WordPress 6.3 introduced rollback protection for certain failed manual plugin and theme updates. The WordPress 6.3 rollback explanation covers that installation-time protection. It does not cover completed updates that later break functionality, custom-code changes, or persistent database changes.

A “Briefly unavailable for scheduled maintenance” message that won't go away can point to the .maintenance file. Do not remove it or touch update files unless the updater has stopped.

Use the updater's result and any error logs to choose between supported component recovery, targeted troubleshooting, and restoring a complete backup.

Regain access when wp-admin is unavailable

WordPress admin recovery

A critical error can lock you out of wp-admin and tell you that recovery instructions went to the site's administrator email. You can lack control over that inbox or the hosting account. Find out who owns the administrator email and the hosting access, follow the recovery instructions or ask hosting support, and give any plugin or theme problem to an authorized administrator for targeted critical-error troubleshooting.

Decide which updates to automate

WordPress automatic updates

Automatic updates work when the site has dependable recovery and someone can respond to failures. Supervised updates give you more control over staging and the timing of high-stakes changes. Which components are affected, what the business relies on, and how well the site is monitored set the right mix.

Plugin auto-update controls sit under Plugins → Installed Plugins, where each entry offers Enable auto-updates or the matching disable control. For themes, open Appearance → Themes, select the theme, and use its automatic-update setting.

Your installation's configuration and your host's policy set core update behavior. A managed provider can apply or defer certain WordPress releases through its own controls, so check your host's settings too.

Automatic update settings

On a simple brochure site with recovery access and monitoring, automated updates cut manual work. A transactional site, or one that runs a plugin you are unsure about, can warrant supervised updates and staging for major releases. Security fixes need prompt attention either way.

  • Coverage: Decide which core, plugin, and theme updates run automatically and which you supervise.
  • Ownership: Assign a person or team to receive failure notices and respond.
NoScript Team