Fixing the WordPress "Database Update Required" loop
You click "Update WordPress Database," it succeeds, and then it asks again - forever. Here's how to break the loop, in order of least to most invasive.
Itâs one of the more maddening WordPress states: you log in, WordPress insists the database needs updating, you click the button, it says itâs done - and then immediately asks again. The admin becomes a revolving door and you canât get any real work done.
Work through these in order. The early steps are harmless; the later ones touch files and the database, so back up first before you get to those.
1. Clear your browser and any caching
The simplest cause: youâre being served a stale page. Clear your browser cache (or try an incognito window), and if you run a caching plugin or a CDN, purge those too. Sometimes the update genuinely completed and youâre just looking at a cached prompt.
2. Disable plugins to find a conflict
A misbehaving plugin can re-trigger the prompt. Via SFTP or your hostâs file manager, rename /wp-content/plugins to /plugins_off. That deactivates everything at once. If the loop stops, rename it back and re-enable plugins one at a time until the culprit reappears.
3. Check file permissions
Wrong permissions can stop WordPress from writing the flag that says âupdate done.â Files should be 644 (or 640), directories 755 (or 750). Your host can set these in bulk if youâre unsure.
4. Verify wp-config.php
Incorrect database credentials can cause the update routine to fail silently and loop. Confirm the database name, username, password and host in wp-config.php match what your hosting panel shows.
5. Run the built-in database repair
Add this line to wp-config.php:
define( 'WP_ALLOW_REPAIR', true );
Then visit https://yourdomain.com/wp-admin/maint/repair.php, run Repair Database, and - importantly - remove the line again afterwards. Leaving it in place is a security risk, since that page is accessible without logging in while the flag is set.
6. Update WordPress core manually
If core files are corrupted, replace them. Download the latest WordPress, unzip it, and upload everything except wp-content and wp-config.php over your existing install via SFTP. This refreshes core without touching your content or settings.
7. Rule out PHP and .htaccess
Make sure your host is running a PHP version your WordPress supports, and check .htaccess for a stray redirect that could be bouncing the update page. Regenerating .htaccess (Settings â Permalinks â Save) is a safe reset.
8. Read the error logs
If itâs still looping, the server error log usually names the real problem - a fatal error in a plugin, a memory limit, a failed query. Your host can point you to the log if you canât find it.
When to stop and call someone
If youâve reached the manual-core-replace stage and itâs still looping, something deeper is wrong - a broken table, a half-finished migration, or a hosting misconfiguration. Thatâs the point to stop poking a live site and get help, especially if itâs a site that makes you money.
Stuck in exactly this loop right now and the siteâs down? We take over broken WordPress sites and get them stable - usually the same day.