Initial assessment without passwords Quote before intervention One accountable specialist from start to finish

Errors & Diagnosis

WordPress Database Update Required Loop: When wp-admin Will Not Continue

A repeated database-update screen means WordPress does not see the expected schema version after the upgrade request. Check code/database pairing and writes.

What matters first: WordPress compares the database version stored in options with the version expected by the loaded core files. A loop means the update did not persist, the request uses another database, or code versions differ between nodes.

What this symptom actually tells you

Repeatedly clicking Update can hide a load-balanced or cache problem. The active core version, db_version option and database connection must be checked from the same request path.

Capture evidence before changing anything

  • Record the core version served by the web node and WP-CLI.
  • Read the db_version option from the database WordPress is actually using.
  • Check whether multiple containers or servers run different core releases.
  • Inspect database write errors, object cache and read-replica routing.

Most common causes

  • Mixed code versions: One node expects a newer schema while another serves older files.
  • Wrong database: Web and CLI point at different databases or table prefixes.
  • Write failure: The schema update runs but cannot persist the new version option.
  • Stale object cache: A cached db_version keeps returning after the database changed.

Safe diagnostic and repair sequence

  1. Take a database backup and place the site in a controlled maintenance window.
  2. Align every web node on the same complete core release.
  3. Run the database upgrade once through WP-CLI or the canonical admin route.
  4. Flush the relevant object cache and confirm the stored version from the active database.

How to choose between the likely causes

Do not treat Mixed code versions and Wrong database as interchangeable. One node expects a newer schema while another serves older files. By contrast, web and CLI point at different databases or table prefixes. Use two checks to separate them: Record the core version served by the web node and WP-CLI; and read the db_version option from the database WordPress is actually using. Those observations usually show whether the next safe move is to take a database backup and place the site in a controlled maintenance window or to preserve the current state and widen the investigation.

On a production WordPress site, repeat the failing request while checking a known-good page and the admin area. A fault isolated to one route calls for a narrower rollback than a failure affecting PHP, the database or every request. Record the exact timestamp, affected URL or transaction, last known good state and every change made during diagnosis. That handover is often what separates a repeatable repair from a temporary disappearance of the symptom.

What not to do

Do not manually edit db_version to dismiss the screen. The value is evidence of migrations that may not have run.

How to verify the repair

  • Admin opens without returning to the update screen.
  • Code and database versions match on every node.
  • Core tables and critical plugin operations work after cache and service restart.

A visible symptom disappearing is not enough. Close the incident only when the original failing action, the surrounding business journey and the relevant logs all agree that the fault is gone.

WP REPAIR INCIDENT STANDARD

Reconstruct the incident before fixing it

Repeatedly clicking Update can hide a load-balanced or cache problem. The active core version, db_version option and database connection must be checked from the same request path.

WP RepairDiagnostic model
1Request2PHP / server3WordPress4Component
Follow the chain until you find the first point that stops behaving as expected.
  1. 1

    Record the core version served by the web node and WP-CLI.

  2. 2

    Read the db_version option from the database WordPress is actually using.

  3. 3

    Check whether multiple containers or servers run different core releases.

  4. 4

    Inspect database write errors, object cache and read-replica routing.

What must be verified

  • Admin opens without returning to the update screen.
  • Code and database versions match on every node.
  • Core tables and critical plugin operations work after cache and service restart.

ABOUT THIS SYMPTOM

Frequently asked questions about this guide.

Is it safe to just edit the db_version option directly to skip this screen?+

No. That value reflects whether required schema migrations actually ran, and editing it manually only hides the warning without completing the update. The site can then run on a data structure some plugins don't expect, causing subtler failures later.

Why does clicking 'Update WordPress Database' repeatedly not fix the loop?+

Repeated clicking treats the symptom, not the cause. If web nodes are running mismatched core versions, or if the web request and WP-CLI are pointed at different databases, the update can appear to run yet never persist correctly, so the loop returns on every admin visit.

Could an object cache be responsible for this loop even after the database was actually updated?+

Yes. A stale cached copy of the db_version value can keep returning after the real value in the database has changed, making WordPress think an update is still required. Flushing the relevant object cache and re-checking the stored version from the active database resolves this.

Does this loop always mean something is wrong with the WordPress core files?+

Not always. It can just as easily point to a wrong database connection, where the web server and CLI environment are targeting different databases or table prefixes, rather than any problem with the core code itself.

BEFORE YOU SEND THE REQUEST

Frequently asked questions.

Do you ask for passwords in the form?+

No. The public form never requests access. Secure credentials are requested only after the scope and quote are approved.

Who reviews the incident?+

The request goes to Jordi Ensenyat, founder of Code Barcelona and a WordPress specialist with more than 15 years of experience.

Is anything changed before the quote?+

No. Visible symptoms and scope are reviewed first. Intervention begins after approval and with a rollback path prepared.

Do you work internationally?+

Yes. WP Repair handles WordPress and WooCommerce incidents in English and Spanish through a remote service.

Assess my incident