wordpress cron

Agendamento Perdido no WordPress! Como resolver?

Uma das funções do WordPress que mais facilita nossas vidas é o agendamento de posts. Com ele podemos criar nossas publicações e agendá-las para irem ao ar em um horário que seja mais conveniente para nosso público alvo. Dessa forma nossos posts podem ser publicados até enquanto estamos dormindo!

Nas primeiras vezes é comum você ficar “vigiando” se o post vai ser publicado mesmo e tudo vai sair nos conformes, mas depois de 2 ou 3 publicações com sucesso você começa a ficar mais tranquilo e deixa de verificar minuto-a-minuto se o post está o ar.

Aqui é que mora o perigo, vez ou outra a instalação do WordPress apresenta o famoso bug do Agendamento Perdido (Schedule Missed). Você prepara suas publicações, agenda e quando vai ver…

agendamento perdido no wordpress

A partir deste momento nenhum outro agendamento em seu site funciona!

Esse bug do WordPress não tem situação especial para acontecer nem versão específica, ele pode tanto aparecer após uma atualização de versão como também pode aparecer da noite pro dia no seu site que estava perfeito até ontem.

Na internet existem diversas “soluções” para o problema. As 2 mais tentadas na comunidade são as seguinte:

Substituição do arquivo wp-cron.php

Dizia-se que a substituição do arquivo pelo da versão 2.6.5 faria com que os agendamentos voltassem a ser respeitados. Alguns usuários dizem que este método funciona.

Alteração no wp-config.php

Uma outra alternativa muito tentada é a inclusão da linha

 define('ALTERNATE_WP_CRON', true);

direto em seu arquivo de configuração do WordPress. Assim como na primeira alternativa, alguns usuários dizem ter sucesso com isso e outros não.

A solução final

Eu mesmo já passei por esse problema duas vezes no mesmo site. Tentei ambas as possibilidades acima dentre outras como configuração de CRON direto no servidor e etc mas nada resolveu o problema… exceto nosso amigo sLa, desenvolvedor do plugin WP Missed Schedule.

O plugin é bem simples e não requer nenhuma configuração por parte do usuário, basta ativá-lo e já está funcionando. Após ativado ele verifica minuto-a-minuto se há algum post em seu site com o status de agendamento perdido, caso haja ele se encarrega de forçar – e efetivamente – fazer a publicação.

Aos que se preocupam com o consumo do servidor podem ficar tranquilos, pois a cada minuto o plugin pega 5 posts da sua lista e faz a verificação, logo não há sobrecarga.

E uma dica final a respeito do plugin é que ao ativá-lo ele vai publicar todos os posts antigos que já estão com o agendamento perdido, não só os futuros posts.

Posts Similares

  • Campo de Imagem

    Campo de Imagem

    O campo de Imagem permite que uma imagem seja selecionada e enviada para o servidor, utilizando a API nativa do WordPress para upload de imagens, o plupload. Campos adicionais deste tipo de campo Valor Retornado: Define o tipo de retorno dos dados. Você pode escolher entre Objeto (array de dados), URL da imagem (string), ou ID…

  • Campo de Upload de Arquivo

    O campo de Upload de arquivo permite que um arquivo seja selecionado e enviada para o servidor, utilizando a API nativa do WordPress para upload, o plupload. Campos adicionais deste tipo de campo Valor Retornado: Define o tipo de retorno dos dados. Você pode escolher entre Objeto (array de dados), URL do arquivo (string), ou ID do arquivo (int); Biblioteca:…

  • the_field()

    the_field()

    Imprime o valor do campo especificado, da mesma forma que um “echo get_field($field_name)” faria, mas simplificando isso 🙂 Parâmetros $field_name: nome do campo a ser retornado. Exemplo: “page_content” (obrigatório) $post_id: Especifica o ID do post  onde o seu valor foi digitado. O padrão é pegar o do post atual, do loop que você está. Você também pode…

  • Otimize seu banco de dados WordPress com o Wp-Optimize

    A cada trabalho implementado em WordPress, tento descobrir uma nova função, maneira de fazer ou plugin que supra minhas necessidades, e em um dos últimos trabalhos que fiz me surgiu a necessidade de algum plugin para otimizar o banco de dados do WordPress eliminando revisões de posts. O espaço em disco do banco de dados…

  • Front-end Editor

    Front-end Editor é um plugin que permite fazer alterações no conteúdo de seu site diretamente dele, sem a necessidade de entrar no admin apenas para corrigir um erro de digitação ou editar tags e categoria. Melhor do que falar sobre ele é ver o vídeo abaixo, ele já diz tudo.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

12 Comentários

  1. É, o calcanhar de Aquiles do WP é justamente o Cron. A maneira que ele lida com o Cron, por tentar ser compatível com todos os servidores, é horrível.

    Atualmente, tudo que vc faz no site dispara o Cron. Além das programações normais que ele faz no Cron (para checar plugins, por exemplo), a CADA INTERAÇÃO com a página, seja feita pelo administrador ou pelo visitante, ele dispara o Cron.

    Ou seja: cada vez que vc muda de página no painel adm, ele dispara. Cada vez que alguém visita outra página do seu site, ele dispara.

    Solucionamos isso na empresa onde trabalhava personalizando o acesso ao Cron, uma vez que nosso servidor permitia o acesso ao mesmo.

    Nunca entendi pq o WP não tem a opção de desligar esse acesso constante ao Cron.

    1. Sim, o Cron hoje é uma das coisas que precisam urgente de uma revisão no WordPress. Existem desenvolvedores que optam por não o utilizarem e usam alternativas via funções ou até mesmo com agendamento de tarefas no cron do servidor.

      O problema é que alguns servidores cobram por tarefa agendada e no geral não é todo mundo que conhece bem o WordPress a ponto de se aventurar a customizar ou tentar alternativas para o cron.

  2. Tô aqui depois de um bom tempo rs pra perguntar o seguinte: essa solução traz de volta o agendamento, mas ele não funciona mais no compartilhamento automático via plugin, como o do Jetpack.

    Sabe de alguma solução que não só traga o agendamento de volta como permita que ele volte a funcionar nos compartilhamentos?