Planifier un article WordPress à l’avance est simple. Vous terminez le montage, vous fixez une date et vous êtes libre de vous concentrer sur autre chose. Le problème est que WordPress omet parfois de publier ces articles programmés, ce qui peut gâcher votre calendrier éditorial.

La fonctionnalité sous-jacente qui permet de programmer les articles dans WordPress s’appelle un « cron », et à l’occasion il ne fonctionne pas comme prévu. Cependant, il y a plusieurs façons d’éviter que ce problème ne se reproduise à l’avenir.

Dans cet article, nous allons vous montrer à quoi ressemble l’erreur de publication échouée et approfondir les raisons pour lesquelles elle se produit. Ensuite, nous discuterons de deux façons de résoudre le problème, afin que votre site Web ne vous laisse jamais tomber à nouveau lorsque vous planifiez un article. Allons-y !

Qu’est-ce que l’erreur de publication programmée échouée de WordPress

Lorsque vous terminez un nouvel article dans WordPress, vous avez plusieurs options sur ce qu’il faut faire ensuite. Vous pouvez l’enregistrer comme brouillon, le publier immédiatement et, bien sûr, le planifier pour une date ultérieure.

D’habitude, tout le processus se déroule sans problème. La date arrive, et WordPress vérifie s’il y a des articles à publier. Si c’est le cas, il va de l’avant et les rend publics. En attendant, vous pouvez vous détendre et vous concentrer sur d’autres aspects de l’exploitation de votre site et de votre entreprise.

Cependant, il arrive parfois que WordPress n’atteigne pas la date de publication que vous avez fixée. Lorsque cela se produit, vous verrez une erreur comme celle-ci si vous consultez votre onglet Articles :

Erreur de publication échouée dans WordPress
Erreur de publication échouée dans WordPress

Vous pouvez toujours accéder à ces articles et les publier manuellement. Cependant, WordPress ne vous informe pas lorsqu’il y a une erreur de publication programmée. Cela signifie que si vous voulez éviter tout soucis, vous devrez revérifier si vos articles sont passés à l’heure que vous avez fixée, ce qui va à l’encontre de l’objectif de les planifier à l’avance.

Pourquoi l’erreur de publication programmée échouée de WordPress se produit

WordPress utilise les tâches cron pour planifier les tâches qu’il doit exécuter à des moments précis. Dans les systèmes UNIX, ces ‘crons’ sont aussi appelés ‘schedulers’, et ils ont une variété d’utilisations. Par exemple, vous pouvez utiliser un cron pour exécuter une commande ou un script, ou – comme avec WordPress – pour publier un article.

Le problème avec les crons WordPress, c’est qu’ils ne sont pas des « vrais crons » au vrai sens du terme. Comme beaucoup d’hébergeurs web ne fournissent pas aux utilisateurs l’accès aux paramètres du serveur, cela signifie que vous ne pouvez pas configurer vos crons pour qu’ils fonctionnent au niveau du système. WordPress contourne cette limitation en utilisant des crons simulés. Au lieu de les faire fonctionner à un intervalle défini, WordPress s’appuie sur les visites des utilisateurs pour déclencher ces faux crons.

En d’autres termes, chaque fois qu’un utilisateur visite votre site Web, le système de gestion de contenu (CMS) vérifie s’il y a des tâches cron en attente qu’il doit exécuter. C’est une solution intelligente, mais elle présente aussi un inconvénient évident : si votre site Web n’est pas visité au bon moment, le CMS ne publiera pas vos articles comme prévu. C’est à ce moment-là que l’erreur d’horaire manquée va se manifester.

Même si votre site reçoit un afflux constant de visiteurs, cela ne signifie pas que vous êtes à 100% à l’abri de l’erreur de publication programmée échouée dans WordPress. Si votre site Web tombe temporairement en panne, par exemple, ou si vous utilisez un plugin de cache, il y a toujours une chance que vos crons WordPress ne fonctionnent pas comme prévu.

Comment réparer l’erreur de publication programmée échouée dans WordPress (2 méthodes)

En ce qui concerne les erreurs WordPress, celle-ci est assez facile à corriger. Dans les sections suivantes, nous allons explorer deux méthodes que vous pouvez utiliser pour éviter les articles manqués, l’une impliquant un plugin, et l’autre dépendant de votre serveur.

1. Utiliser le plugin Scheduled Post Trigger

Idéalement, WordPress vérifierait périodiquement s’il n’a pas manqué des dates de publication et s’en occuperait pour vous. Malheureusement, ce n’est pas une fonctionnalité que le CMS inclut en standard. Cependant, c’est le genre de fonctionnalité que vous pouvez facilement ajouter en utilisant le bon plugin, et c’est là que Scheduled Post Trigger intervient :

Plugin de déclenchement des articles planifiés
Plugin de déclenchement des articles planifiés

La façon dont ce plugin fonctionne est que chaque fois que quelqu’un visite votre site Web, il vérifie si WordPress n’a pas manqué des dates de publication programmées récemment. S’il trouve des exemples de l’erreur de publication programmée échouée, il prend ces articles et les publie tout de suite.

En d’autres termes, le plugin fonctionne en ajoutant une tâche cron qui vérifie votre site web pour les tâches cron manquées. Cette approche peut sembler un peu redondante, mais elle fonctionne. De plus, le plugin ne nécessite aucune configuration spéciale et commencera à faire son travail automatiquement une fois que vous l’aurez installé et activé.

2. Gérez les tâches cron directement via votre serveur

Si votre plan d’hébergement vous donne accès aux paramètres de votre serveur, vous pouvez configurer les tâches cron pour qu’elles fonctionnent à ce niveau. Pour que cette approche fonctionne, cependant, vous devrez d’abord désactiver les crons WordPress pour éviter les conflits.

Pour ce faire, accédez à votre site Web par FTP en utilisant un client tel que FileZilla. Naviguez jusqu’à votre dossier racine, et cherchez le fichier wp-config.php à l’intérieur :

Fichier wp-config.php
Fichier wp-config.php

Cliquez avec le bouton droit de la souris sur le fichier et sélectionnez l’option Afficher/Modifier. Maintenant, ajoutez la ligne de code suivante avant la fin du fichier :

define('DISABLE_WP_CRON', true);

Sauvegardez les changements dans votre fichier wp-config.php, et c’est tout pour la première étape. Ensuite, vous devrez implémenter des crons manuels via votre serveur, ce que la plupart des fournisseurs vous permettent de faire en utilisant votre panneau de contrôle d’hébergement.

Par exemple, si vous avez accès à cPanel, il devrait y avoir une option appelée Cron Jobs sous un de ses onglets :

Tâches Cron via cPanel
Tâches Cron via cPanel

En utilisant cet outil, vous pouvez facilement programmer de nouvelles tâches cron à exécuter à intervalles réguliers. En règle générale, tous les intervalles plus fréquents que cinq minutes sont exagérés, et une tâche cron exécutée sur ces temps va mettre inutilement votre serveur à rude épreuve.

Gardez à l’esprit, cependant, que même si votre hébergeur web peut vous aider à planifier les crons au niveau du serveur, vous devrez toujours définir manuellement les tâches à exécuter. Cela implique l’écriture de commandes UNIX, ce qui signifie que vous devrez les mettre à jour si vous voulez configurer vos crons manuellement.

Une autre alternative est d’utiliser un hébergeur qui s’occupe des crons pour vous.

Chez Kinsta, nous configurons vos tâches cron WordPress pour qu’elles s’exécutent au niveau système avec des intervalles de 15 minutes. Dans la grande majorité des cas, des intervalles de 15 minutes permettront d’accomplir le travail. Cependant, si vous en avez besoin, vous pouvez toujours contacter le support technique et nous demander de réduire l’intervalle à cinq minutes.

Résumé

La programmation des articles est une fonctionnalité clé pour la plupart des utilisateurs de WordPress. Cette fonctionnalité simple vous permet de ne pas avoir à définir manuellement des rappels pour publier des articles. Au lieu de cela, WordPress s’en occupe pour vous, ou du moins il devrait s’en occuper. Si la tâche cron associée ne se lance pas correctement, alors votre article pourrait ne pas voir le jour jusqu’à ce que vous le publiez vous-même.

Il y a deux façons de corriger l’erreur de programmation échouée de WordPress. Vous pouvez :

  1. Utiliser le plugin Scheduled Post Trigger.
  2. Gérer les tâches cron directement via votre serveur.