🎉 USE O CUPOM DESCONTO-FULL | 10% OFF acima de R$ 100,00

Como corrigir o loop Update WordPress Database

Time Full Services Time Full Services
Tipo Erro interno do WP
Nome do erro Como corrigir o loop Update WordPress Database
Severidade Atenção
Descrição O loop Update WordPress Database acontece quando o WordPress pede para atualizar o banco a cada visita e a tela nunca é superada, mesmo depois de clicar no botão. Em geral é causado por cache servindo a tela antiga ou por um descompasso na versão do banco que a rotina de atualização não consegue gravar.

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.
Antes de começar: Antes de editar a opção db_version no phpMyAdmin, exporte um backup da tabela wp_options. Gravar um número de versão errado pode disparar rotinas de upgrade indevidas ou deixar o site preso numa versão de banco incompatível.

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
PHP
// 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.

Perguntas frequentes

O que é a tela Update WordPress Database?
É a tela que o WordPress mostra quando a versão do banco gravada na opção db_version difere da versão que o código instalado espera. Ela roda a rotina que ajusta a estrutura do banco para a nova versão. Normalmente aparece uma vez após atualizar o core.
Por que a tela volta mesmo depois de eu clicar no botão?
Porque, no loop, ou a tela vem do cache (e não reflete o banco já atualizado), ou a nova db_version não é gravada por causa de object cache em memória ou permissão de escrita. O WordPress continua achando que precisa atualizar e mostra a tela de novo.
Limpar o cache realmente resolve o loop?
Na maioria dos casos sim. A tela de atualização costuma ser cacheada pelo plugin de cache ou pelo CDN, então você vê uma cópia antiga mesmo após o banco já estar atualizado. Limpar todos os caches faz o site voltar a servir a página correta.
Para que serve a URL upgrade.php?step=1?
Ela dispara diretamente a rotina de atualização do banco do core, sem passar pela tela que pode estar em cache. Acessar seudominio.com/wp-admin/upgrade.php?step=1 força o processo a rodar de novo de forma limpa e costuma concluir a atualização travada.
Onde fica a versão do banco no WordPress?
Na tabela wp_options, na linha em que option_name é 'db_version'. O número ali precisa corresponder à versão esperada pela sua instalação do WordPress. Se ele estiver defasado e não atualizar sozinho, é o que mantém o site preso na tela de atualização.
Posso editar a db_version direto no banco?
Pode, com cuidado e backup antes. No phpMyAdmin, ajustar o valor de db_version na wp_options para o número correto pode quebrar o loop. Mas grave o número certo: um valor errado dispara rotinas de upgrade indevidas ou deixa o banco numa versão incompatível.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes