Como corrigir o loop Update WordPress Database
O que é o loop Update WordPress Database?
Depois de atualizar o core, o WordPress compara a versão do banco armazenada na opção db_version com a versão que o código espera. Quando elas diferem, ele mostra a tela ‘O WordPress precisa atualizar seu banco de dados’ e roda a rotina wp_upgrade ao clicar no botão. No loop, essa rotina termina mas a nova versão não é gravada (ou a tela vem do cache), então o WordPress acha que ainda precisa atualizar e mostra a tela de novo, a cada visita, prendendo o site nesse passo.
Como identificar
- A tela “O WordPress precisa atualizar seu banco de dados” reaparece toda vez, mesmo após clicar em “Atualizar banco de dados do WordPress”.
- Em inglês, a mensagem “Update WordPress Database” volta em loop a cada acesso ao site ou ao painel.
- Após clicar e ver “Atualização concluída”, a tela de atualização volta no próximo carregamento.
- O loop começou logo depois de uma atualização do core do WordPress ou de uma migração de servidor.
Como prevenir
- Antes de atualizar o core, limpe o cache de página e o do CDN para a tela de upgrade não ser cacheada
- Em sites com Redis ou Memcached, esvazie o object cache logo após cada atualização do WordPress
- Após migrar de servidor, confirme que a db_version do banco bate com a versão do core instalado
Erros relacionados
Causa
Plugin de cache de página ou CDN servindo a versão em cache da tela de atualização, que nunca reflete o banco já atualizado Object cache persistente (Redis ou Memcached) com a opção db_version antiga em memória, ignorando o valor já gravado no banco Opção db_version na tabela wp_options não sendo atualizada por permissão de escrita insuficiente no banco Migração que trouxe um banco com db_version diferente da versão do core instalado no novo servidor Tabela wp_options corrompida, impedindo a gravação do novo número de versão ao fim da rotina de upgrade
Como resolver
- Limpe todos os caches: limpe o cache do plugin de cache, o cache do CDN (como Cloudflare) e o cache do navegador. Como a tela de atualização costuma ser cacheada, isso sozinho resolve boa parte dos loops.
- Esvazie o object cache, se houver: se o site usa Redis ou Memcached, esvazie o object cache. A opção db_version pode estar presa em memória com o valor antigo, mesmo já atualizada no banco.
- Force a rotina de atualização pela URL: acesse diretamente seudominio.com/wp-admin/upgrade.php?step=1 no navegador. Essa URL dispara a rotina de upgrade do core sem depender da tela em cache.
- Confira a db_version no banco: no phpMyAdmin, abra a tabela wp_options e localize a linha option_name = 'db_version'. Compare o valor com o esperado pela sua versão do WordPress e ajuste se estiver claramente defasado.
- Desative o cache temporariamente: se o loop persistir, adicione no wp-config.php a constante que desliga o cache (veja o bloco de código), complete a atualização e só depois reative o cache.
// wp-config.php - desliga o cache temporariamente para quebrar o loop.
// Coloque ANTES da linha "That's all, stop editing!".
define( 'WP_CACHE', false );
// Se usa object cache persistente (Redis/Memcached) e o problema continua,
// desative o plugin de object cache removendo o arquivo:
// wp-content/object-cache.php
// depois acesse wp-admin/upgrade.php?step=1 e reative o cache no fim.














