13 min de leitura · Guia técnico
Desativar WP-Cron sem quebrar WordPress é trocar o acionamento automático por visitas por uma tarefa cron real que chama o arquivo wp-cron.php em intervalos regulares. Para fazer isso com segurança, siga estes passos:
- Faça backup do site e confirme acesso ao gerenciador de arquivos, FTP, SSH ou cPanel.
- Edite o arquivo wp-config.php e adicione a constante DISABLE_WP_CRON antes da linha final de carregamento do WordPress.
- Crie um cron real no painel de hospedagem ou no crontab do servidor para executar wp-cron.php.
- Teste a chamada manual do arquivo wp-cron.php e confirme que não há erro de PHP.
- Acompanhe publicações agendadas, backups automáticos e rotinas de plugins por algumas execuções.
Pré-requisitos
- Acesso ao arquivo wp-config.php do WordPress por gerenciador de arquivos, FTP, SFTP, SSH ou painel de hospedagem.
- Permissão para criar tarefas agendadas no painel da hospedagem ou acesso ao crontab do usuário no servidor.
- URL principal do site WordPress e confirmação de que o arquivo wp-cron.php existe na raiz da instalação.
- Backup recente dos arquivos do site antes de editar configurações sensíveis.
- Conhecimento básico para editar arquivos PHP sem alterar a estrutura do WordPress.
- Opcional: acesso aos logs do PHP para diagnosticar falhas depois da alteração.
Desativar WP-Cron sem quebrar WordPress: quando faz sentido
Desativar WP-Cron sem quebrar WordPress faz sentido quando você quer que tarefas internas, como publicações programadas, backups, limpezas e rotinas de plugins, sejam executadas por um agendador previsível em vez de dependerem das visitas ao site. O WP-Cron padrão não é um cron real do sistema: ele é disparado quando alguém acessa o WordPress. Em sites com tráfego irregular, isso pode atrasar tarefas; em sites com muitos acessos e plugins, pode gerar chamadas recorrentes ao PHP em momentos pouco convenientes.
A mudança correta não é simplesmente desligar o WP-Cron. O procedimento seguro é desativar o gatilho interno no wp-config.php e criar uma tarefa agendada externa chamando wp-cron.php em intervalos regulares. Assim, o WordPress continua processando a fila de eventos cron, mas quem decide o momento da execução é o cron real do servidor ou o agendador do painel de hospedagem.
Antes de alterar qualquer arquivo, localize a raiz do WordPress, normalmente onde ficam wp-config.php, wp-content e wp-cron.php. Se você usa FTP para acessar a hospedagem, o artigo Como usar o Filezilla como software FTP da minha Hospedagem? pode ajudar a conectar e navegar pelos arquivos. Se precisa entrar no painel do serviço, veja também Como acessar o painel de gerenciamento dos meus Serviços.
Como editar o wp-config.php para desativar o WP-Cron
Configurar DISABLE_WP_CRON no wp-config.php é o primeiro passo técnico para impedir que o WordPress tente executar o cron a cada visita. Essa alteração deve ser feita com cuidado, porque um erro de sintaxe no arquivo pode deixar o site fora do ar até a correção. Abra o wp-config.php e procure uma linha próxima ao final do arquivo que carrega o WordPress. A constante deve ficar antes dessa linha final.
Atenção: antes de editar o wp-config.php, baixe uma cópia do arquivo original. Não remova outras constantes, dados de banco de dados, chaves de segurança ou configurações existentes. Se o editor do painel tiver opção de desfazer, ainda assim mantenha uma cópia local para restauração rápida.
define("DISABLE_WP_CRON", true);
Output esperado:
Nenhuma saída é exibida ao salvar o arquivo.
O resultado esperado é o site continuar carregando normalmente, sem tela de erro PHP.
Depois de salvar, valide se a linha foi inserida corretamente. Se você tem SSH, pode verificar sem abrir o arquivo inteiro. Substitua o caminho pelo diretório real do seu WordPress.
grep DISABLE_WP_CRON /caminho/do/site/wp-config.php
Output esperado:
define("DISABLE_WP_CRON", true);
Ao rodar este comando, você verá a linha adicionada se a configuração estiver presente. Se nada aparecer, o arquivo editado pode não ser o wp-config.php correto ou a alteração não foi salva. Se aparecer erro de permissão, use o gerenciador de arquivos do painel ou confirme se o usuário SSH tem acesso de leitura ao diretório do site.
Criar cron real para executar wp-cron.php
Cron real do WordPress é a tarefa agendada que substitui o disparo por visitas. Ela precisa chamar o arquivo wp-cron.php em intervalos regulares para que a fila de eventos continue sendo processada. Para a maioria dos sites, intervalos de 5 ou 10 minutos costumam manter publicações agendadas e tarefas de plugins funcionando sem gerar execuções excessivas. O intervalo ideal depende da quantidade de rotinas internas, plugins ativos e recursos disponíveis na hospedagem.
Em painéis de hospedagem, procure a área de tarefas cron ou cron jobs. Crie uma nova tarefa com frequência a cada 5 ou 10 minutos e use uma chamada HTTP silenciosa para o wp-cron.php. Troque o domínio abaixo pelo domínio real do seu site.
wget -q -O - "https://seudominio.com.br/wp-cron.php?doing_wp_cron" >/dev/null 2>&1
Output esperado:
Sem saída no painel ou no terminal.
A opção silenciosa envia a resposta para descarte, então o cron deve apenas concluir sem erro visível.
Se você administra o servidor por SSH, pode editar o crontab do usuário responsável pelo site. Evite criar a tarefa como root quando o ambiente da hospedagem usa usuários separados para cada site, pois isso pode causar arquivos gerados com dono incorreto por plugins de backup, cache ou manutenção.
crontab -e
Output esperado:
O editor do crontab será aberto para inclusão ou alteração das tarefas agendadas do usuário atual.
Dentro do crontab, adicione uma linha como esta para executar a cada 5 minutos:
*/5 * * * * wget -q -O - "https://seudominio.com.br/wp-cron.php?doing_wp_cron" >/dev/null 2>&1
Output esperado:
crontab: installing new crontab
Esse retorno indica que o crontab foi salvo. Em alguns ambientes, a mensagem pode variar ou o painel pode apenas confirmar visualmente a criação da tarefa. O ponto importante é existir apenas uma tarefa ativa para o mesmo site no intervalo escolhido, evitando chamadas duplicadas ao wp-cron.php.
Testar wp-cron.php manualmente depois da alteração
Testar wp-cron.php manualmente confirma se a desativação do gatilho interno não interrompeu as rotinas do WordPress. O teste não garante que todos os plugins estejam saudáveis, mas ajuda a identificar problemas imediatos como bloqueio HTTP, erro de PHP, domínio incorreto ou arquivo ausente. Faça esse teste logo após criar o cron real.
Se você está no terminal, chame a URL do cron uma vez e observe se a requisição termina sem erro. A resposta normal pode ser vazia, porque o wp-cron.php não foi criado para exibir uma página administrativa.
wget -S -O - "https://seudominio.com.br/wp-cron.php?doing_wp_cron"
Output esperado:
HTTP/1.1 200 OK
A resposta pode vir vazia ou sem conteúdo visual relevante.
Se preferir usar curl, o teste também pode ser feito exibindo apenas o código HTTP. Um retorno 200 indica que a chamada chegou ao WordPress sem erro HTTP crítico.
curl -I "https://seudominio.com.br/wp-cron.php?doing_wp_cron"
Output esperado:
HTTP/2 200
ou
HTTP/1.1 200 OK
Depois do teste técnico, valide o comportamento funcional. Agende uma publicação para alguns minutos à frente, verifique se plugins de backup continuam criando tarefas e acompanhe se rotinas automáticas voltam a aparecer nos horários esperados. Em sites com cache, CDN ou regras de segurança, confirme que a URL wp-cron.php não está bloqueada por proteção excessiva.
Boas práticas para agendamento cron no WordPress
Agendamento cron no WordPress deve ser simples, previsível e monitorável. Evite intervalos agressivos sem necessidade, porque cada execução pode iniciar PHP, carregar o WordPress e permitir que plugins processem tarefas. Também evite intervalos longos demais em sites que dependem de publicações programadas, filas de e-mail, rotinas de loja virtual ou backups automáticos.
- Use um intervalo inicial de 5 ou 10 minutos: é suficiente para muitos sites e reduz a dependência de visitas.
- Não duplique tarefas: mantenha uma única chamada ativa para cada instalação WordPress.
- Prefira HTTPS: chame a URL final do site usando o domínio correto e certificado válido.
- Monitore depois da mudança: confira publicações agendadas, backups automáticos e logs do PHP nos primeiros ciclos.
- Documente a alteração: anote onde o cron foi criado, qual intervalo foi definido e quem tem acesso para editar.
Se o site está em hospedagem compartilhada, o painel geralmente oferece uma área própria para tarefas cron. Se está em VPS ou servidor gerenciado, o crontab pode ser a opção direta. Em ambos os casos, a lógica é a mesma: o WordPress não dispara mais o cron em visitas, e a tarefa externa passa a chamar wp-cron.php com regularidade.
Problemas comuns e como resolver
Sintoma: publicações agendadas não são publicadas
Causa: o WP-Cron foi desativado no wp-config.php, mas a tarefa cron real não foi criada, está com domínio errado ou roda em intervalo longo demais. Solução: confirme a existência da tarefa no painel ou no crontab, teste manualmente a URL wp-cron.php e reduza o intervalo para 5 ou 10 minutos se as rotinas estiverem atrasando.
Sintoma: erro 403 ou bloqueio ao chamar wp-cron.php
Causa: regras de segurança, bloqueio por IP, proteção no servidor ou configuração de aplicação podem impedir a chamada HTTP ao arquivo wp-cron.php. Solução: teste a URL no navegador e no terminal, verifique regras de segurança do painel e libere a chamada ao wp-cron.php sem expor arquivos sensíveis do WordPress.
Sintoma: consumo de CPU aumenta depois da mudança
Causa: o intervalo escolhido pode estar curto demais ou há muitos eventos acumulados de plugins sendo processados a cada execução. Solução: aumente o intervalo gradualmente, remova tarefas duplicadas e investigue quais plugins criam rotinas frequentes. Desativar WP-Cron ajuda a controlar o gatilho, mas não elimina tarefas pesadas criadas por plugins.
Sintoma: tela branca ou erro PHP após editar wp-config.php
Causa: a constante foi inserida no local errado, faltou ponto e vírgula ou houve alteração acidental em outra linha do arquivo. Solução: restaure a cópia do wp-config.php, reinsira apenas a linha correta antes do carregamento final do WordPress e salve novamente. Se possível, acompanhe os logs do PHP para identificar a linha exata do erro.
Perguntas frequentes sobre desativar WP-Cron sem quebrar WordPress
É seguro desativar o WP-Cron no WordPress?
É seguro desativar o WP-Cron quando você configura uma tarefa cron real para executar o arquivo wp-cron.php em intervalos regulares. Se apenas desativar o recurso no wp-config.php sem criar a tarefa agendada, publicações programadas, backups, limpezas internas e rotinas de plugins podem parar de executar.
Qual intervalo devo usar no cron real do WordPress?
Para a maioria dos sites, executar o cron real a cada 5 ou 10 minutos costuma ser suficiente para manter publicações agendadas e tarefas de plugins funcionando. Sites com muitas rotinas internas podem exigir um intervalo menor, mas é importante evitar execuções excessivas que aumentem o consumo de CPU e PHP.
Como confirmar se o WP-Cron está funcionando depois da mudança?
Confirme verificando se a tarefa cron foi criada no painel de hospedagem ou no crontab do servidor e se o arquivo wp-cron.php retorna sem erro quando chamado manualmente. Também acompanhe publicações agendadas, backups automáticos e logs do PHP para garantir que as rotinas continuem sendo executadas.
Desativar WP-Cron melhora a performance do WordPress?
Desativar o WP-Cron pode reduzir execuções disparadas por visitas ao site, principalmente em ambientes com tráfego irregular ou muitos plugins agendando tarefas. O ganho depende da quantidade de eventos cron, do tema, dos plugins e dos recursos disponíveis na hospedagem.
Conclusão
- Desative o gatilho interno adicionando DISABLE_WP_CRON no wp-config.php, mas somente depois de ter backup do arquivo.
- Crie um cron real para chamar wp-cron.php em um intervalo adequado, geralmente a cada 5 ou 10 minutos para muitos sites.
- Teste a URL manualmente e acompanhe publicações, backups e logs para confirmar que as tarefas continuam rodando.
Leia também
- Solucionar lentidão no WordPress: causas reais e correções
- Otimizar cache Redis para aplicações PHP no Ubuntu 22.04
- Otimizar PHP 8.3 no Debian 12: OPcache, JIT e pool FPM
Precisa de ajuda com WP-Cron no WordPress?
Uma hospedagem bem configurada facilita a criação de tarefas cron, o acesso aos arquivos do site e o diagnóstico de rotinas automáticas do WordPress. Se você quer mais controle sobre desempenho, agendamentos e manutenção do seu site, avalie uma estrutura preparada para WordPress.