🔍 O Mistério das Postagens Agendadas Desaparecidas
Você já percebeu que suas postagens agendadas no WordPress simplesmente não são publicadas no horário programado? Este é um problema comum que afeta muitos administradores de sites WordPress, e a causa geralmente está relacionada ao funcionamento do sistema de agendamento nativo do WordPress: o WP-Cron.
📊 Entendendo a Diferença: WP-Cron vs. Cron Job do Linux
WP-Cron (Padrão do WordPress) | Cron Job do Linux (cPanel) |
---|---|
❌ Executa apenas quando alguém visita o site | ✅ Executa em intervalos precisos, independente de visitas |
❌ Consome recursos a cada carregamento de página | ✅ Usa menos recursos do servidor |
❌ Menos confiável para sites com pouco tráfego | ✅ Altamente confiável e consistente |
❌ Pode falhar devido a plugins de cache | ✅ Não é afetado por plugins de cache |
❌ Performance instável em sites com alto tráfego | ✅ Performance estável em qualquer volume de tráfego |
💡 Dica importante: O WP-Cron não é um verdadeiro trabalho cron do sistema! Ele é uma simulação que depende das visitas ao site para ser acionado.
⚠️ Problemas Comuns com o WP-Cron
O WP-Cron pode falhar devido a vários fatores:
- 🔄 Conflitos entre plugins
- 🌐 Problemas relacionados ao DNS
- 🐛 Erros internos do WordPress
- 🚀 Interferência de plugins de cache
- 🔥 Sobrecarga do servidor
Para sites de médio a grande porte, ou sites que dependem fortemente de tarefas agendadas, substituir o WP-Cron por um autêntico cron job do Linux é a solução mais eficiente.
🛠️ Guia Passo a Passo: Substituindo o WP-Cron por um Cron Job do Linux
Passo 1: Desativar o WP-Cron nativo
- Localize o arquivo
wp-config.php
na pasta raiz da sua instalação WordPress - Abra o arquivo para edição
- Adicione a seguinte linha logo após a tag de abertura
<?php
:
define('DISABLE_WP_CRON', true);
- Salve o arquivo
Passo 2: Configurar um Cron Job no cPanel
Dobre o tráfego orgânico do seu site com Ninja Rank
Conheça o Ninja Rank, melhor Software de SEO para automação de artigos para Blog. Com o Ninja Rank seu negócio irá dominar a busca orgânica.
Clique e saiba mais
- Acesse seu cPanel
- Na seção Avançado, clique em Tarefas Cron
- Em Adicionar novo trabalho Cron, configure:
- Intervalo de tempo: Recomendamos a cada 30 minutos ou 1 hora (evite intervalos menores que 15 minutos)
- Comando: Cole o seguinte código, substituindo
seusite.com
pelo seu domínio real:
wget -q -O - http://seusite.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
- Clique em Adicionar novo trabalho cron
⚙️ O que este comando faz? Ele instrui o servidor Linux a executar o wp-cron.php via wget em intervalos regulares, em vez de depender das visualizações de página.
✅ Verificando se Tudo Está Funcionando
Após configurar o cron job, espere pelo menos um ciclo completo da sua programação para verificar se as tarefas agendadas estão sendo executadas corretamente. Você pode verificar:
- Se as postagens agendadas são publicadas no horário correto
- Se os plugins que dependem de tarefas agendadas estão funcionando normalmente
- Se os backups automáticos estão sendo gerados conforme programado
🚨 Atenção para Servidores com Múltiplas Instalações WordPress
Se você gerencia várias instalações WordPress em uma mesma conta de hospedagem, tome cuidado para escalonar os horários dos cron jobs, evitando que todos sejam executados simultaneamente, o que poderia sobrecarregar o servidor.
Número de Sites | Estratégia Recomendada |
---|---|
2-3 sites | Escalone com 10 minutos de diferença |
4-10 sites | Distribua ao longo da hora |
Mais de 10 sites | Consulte seu provedor de hospedagem |
🔄 Benefícios da Mudança
- ⚡ Melhor desempenho do site – Redução de carga no servidor
- 🔒 Maior confiabilidade – Tarefas agendadas executadas com precisão
- 📈 Maior eficiência – Menos recursos consumidos a cada visualização de página
- 🛡️ Maior estabilidade – Redução de falhas em tarefas críticas