Het is erg makkelijk om in WordPress een bericht in te plannen. Als je klaar bent met de bewerking, stel je een datum in en je kan je richten op andere zaken. Het probleem is echter dat WordPress soms verzuimt om deze geplande berichten te publiceren, wat je redactionele planning nogal in de war kan schoppen.

De onderliggende functionaliteit die het plannen van berichten in WordPress mogelijk maakt, wordt een “cron” genoemd en deze loopt soms niet helemaal zoals verwacht. Er zijn echt er een aantal manieren om ervoor te zorgen dat dit probleem zich in de toekomst niet weer voordoet.

In dit artikel laten we zien hoe deze Missed Schedule-foutmelding eruitziet en bespreken we in detail waarom dit gebeurt. Daarna bespreken we twee manieren om het probleem op te lossen, zodat je website je nooit meer zal teleurstellen wanneer je een bericht inplant. Laten we beginnen!

Wat de WordPress Missed Schedule foutmelding is

Wanneer je het schrijven van een nieuw bericht afrondt in WordPress, heb je verschillende publicatie-opties. Je kan het bericht opslaan als concept, het meteen publiceren en, uiteraard, de publicatie ervan inplannen.

Meestal verloopt het hele proces zonder problemen. De datum arriveert en WordPress controleert of er berichten moeten worden gepubliceerd. Als die er zijn doet WordPress wat ze beloofd heeft en maakt ze de artikelen openbaar. In de tussentijd kan jij achterover leunen en je concentreren op andere aspecten van het runnen van je site en je bedrijf.

Echter, soms mist WordPress de door jou ingestelde publicatiedatum volledig. Wanneer dat gebeurt, zie je een fout als deze als je het tabblad Berichten bekijkt:

WordPress Missed Schedule foutmelding
WordPress Missed Schedule foutmelding

Je kan de berichten in kwestie natuurlijk openen en ze handmatig publiceren. WordPress laat je echter niet weten wanneer een ingepland bericht niet is gepubliceerd. Dit betekent dat je een double-check moet uitvoeren om er zeker van te zijn dat de artikelen zijn gepubliceerd als je niet in de problemen wil komen met je publicaties. Dit is natuurlijk erg knullig en juist iets wat je niet wil doen wanneer je artikelen inplant.

Waarom de Missed Schedule foutmelding optreedt in WordPress

WordPress gebruikt cronjobs om taken in te plannen die op specifieke tijden moeten worden uitgevoerd. In op UNIX gebaseerde systemen worden deze ‘crons’ ook wel ‘schedulers’ genoemd en ze kunnen op verschillende manieren worden gebruikt. Je kan bijvoorbeeld een cron gebruiken om een opdracht of script uit te voeren, of – zoals bij WordPress – om een bericht te publiceren.

Het probleem met crons bij WordPress is dat ze niet ‘echte crons’ zijn, in de ware zin van het woord. Omdat veel webhosts hun gebruikers de toegang weigeren tot serverinstellingen, betekent dit dat je je crons niet kan configureren om op systeemniveau te worden uitgevoerd. WordPress omzeilt die beperking door gesimuleerde crons te gebruiken. In plaats van ze op een bepaald interval te laten draaien, vertrouwt WordPress op bezoekers om deze nepcrons te activeren.

Met andere woorden, elke keer dat een gebruiker je website bezoekt, controleer het contentmanagementsysteem (CMS) of er nog openstaande cronjobs zijn die uitgevoerd moeten worden. Dit is een slimme oplossing, maar heeft ook een duidelijk nadeel – als je website niet op het juiste moment wordt bezocht, publiceert het CMS je berichten niet wanneer jij dat wil. Dit is het moment waar deze verachte foutmelding de kop opsteekt.

En zelfs als je sites een constante toestroom aan bezoekers ontvangt, betekent dat niet automatisch dat jouw WordPress-site immuun is voor deze Missed Scheduled-foutmelding. Als je website vaak (kort) downtime heeft, of bijvoorbeeld een cachingplugin gebruikt, dan bestaat de kans dat je WordPress-crons niet naar behoren werken.

Gepland artikel niet gepubliceerd? 2 Methodes om de Missed Schedule foutmelding in WordPress op te lossen

Echter, wat WordPress-foutmeldingen betreft, is deze vrij eenvoudig te fiksen. In de volgende secties gaan we in op twee methodes die je kan toepassen om gemiste berichten te voorkomen. Eén methode maakt gebruik van een plugin en de ander vertrouwt op je server.

1. Gebruik de plugin Scheduled Post Trigger

In het ideale geval controleert WordPress op specifieke intervallen of ze publicatiedata heeft gemist en zorgt ze ervoor dat dit alsnog gebeurt. Helaas is dit geen feature die de CMS standaard bevat. Het is echter wel een feature die je me gemakkelijk kan toevoegen met behulp van de juiste plugin en dat is waar Scheduled Post Trigger de hoek om komt:

Plugin Scheduled Posts Trigger
Plugin Scheduled Posts Trigger

De plugin werkt op zo’n manier dat de plugin controleert of WordPress recentelijk geplande publicatiedata heeft gemist, elke keer als iemand je site bezoekt. Als dit inderdaad het geval is, worden deze berichten meteen gepubliceerd.

Met andere woorden, de plugin werkt door een cronjob toe te voegen die je website controleert op gemiste cronjobs. Deze aanpak klinkt misschien een beetje omslachtig, maar werkt in de praktijk erg goed. Bovendien vereist de plugin geen speciale configuratie en begint deze automatisch met werken zodra je deze installeert en activeert.

2. Cronjobs rechtstreeks via je server beheren

Als je hostingpakket je toegang geeft tot de serverinstellingen, dan kan je je cronjobs configureren om op dat niveau te worden uitgevoerd. Om deze methode te laten slagen, moet je wel eerst de WordPress-crons uitschakelen om conflicten te voorkomen.

Ga hiervoor via FTP naar je website met behulp van een client zoals FileZilla. Navigeer naar je hoofdmap en zoek hierbinnen naar het bestand wp-config.php:

wp-config.php-bestand
wp-config.php-bestand

Klik met de rechtermuisknop op het bestand en selecteer de optie View/Edit. Voeg nu de volgende coderegels toe voor het einde van het bestand:

define('DISABLE_WP_CRON', true);

Sla de wijzigingen op in je wp-config.php-bestand. De eerste stap zit erop. Vervolgens dien je handmatig crons via je server te implementeren, wat de meeste providers je toestaan met behulp van het controlepaneel van je hosting.

Als je bijvoorbeeld toegang hebt tot cPanel, moet er een optie zijn met de naam Cron Jobs onder een van de tabbladen:

Cronjobs via cPanel
Cronjobs via cPanel

Met deze tool kan je eenvoudig nieuwe cronjobs plannen die met vaste intervallen worden uitgevoerd. Als vuistregel zijn intervallen die vaker voorkomen dan vijf minuten overbodig en cronjobs die op dit interval lopen zullen je server onnodig belasten.

Houd echter wel in de gaten dat je webhost je kan helpen om crons op serverniveau te plannen, maar dat je nog steeds wel zelf moet instellen welke dat je handmatig wil uitvoeren. Dit betekent dat je UNIX-opdrachten moet kunnen schrijven, en dat je kennis hierover wellicht moet afstoffen, voordat je je crons handmatig kan configureren.

Een ander alternatief is om een webhostingprovider te vinden die crons voor je kan verzorgen.

Hier bij Kinsta configureren we jouw WordPress-cronjobs om op systeemniveau met intervallen van 15 minuten te worden uitgevoerd. In de overgrote meerderheid is een interval van 15 minuten meer dan genoeg om de klus te klaren. Als het echter in jouw geval nodig is om een interval te verlagen naar vijf minuten, dan kan je altijd een verzoek indienen en contact opnemen met onze support.

Samenvatting

Het kunnen inplannen van berichten is een belangrijke functie voor de meeste WordPress-gebruikers. Deze eenvoudige functionaliteit zorgt ervoor dat je geen reminders in je agenda hoeft te plaatsen om handmatig je berichten te publiceren. Het wordt in plaats daarvan allemaal door WordPress gedaan. Zo zou het in elk geval moeten zijn. Als je bijbehorende cronjob niet correct wordt geactiveerd, dan betekent dat je bericht het daglicht pas ziet als jij handmatig het bericht hebt gepubliceerd.

Er zijn twee manieren om de Missed Scheduled-foutmelding in WordPress op te lossen. Je kan:

  1. De plugin Scheduled Post Trigger gebruiken.
  2. Cronjobs rechtstreeks via je server beheren.