WordPress biedt een handige functie om blogs in te plannen. Zo kan je makkelijk vooruit werken en blogs op een later moment automatisch laten publiceren. Gebruik jij deze functie ook? Dan heb je vast al wel gemerkt dat er iets kan foutlopen. Je krijgt dan de melding ‘missed schedule post’. Waar komt deze melding vandaan en hoe kan je dit oplossen? Ik geef je graag een woordje uitleg.
Waarom krijg ik de ‘missed schedule post’ error?
Normaal gezien, wanneer je een post op een later moment wil publiceren, gebruikt WordPress hiervoor de technologie genaamd ‘Cron’ of ‘WordPress Cron’. Cron is de naam van een taakplanner die in Linux wordt gebruikt.
Wanneer echter je server of plug-ins de Cron beïnvloeden, kan het zijn dat WordPress je ingeplande post niet meer online kan plaatsen. Eenmaal het vooropgestelde moment voorbij is, zal WordPress de blog niet meer uit zichzelf publiceren.
Dit probleem komt bij niet veel WordPress gebruikers voor. Als het wel voorkomt, is het vaak een van debelangrijkste issuesop die website. Gelukkig is het een probleem dat relatief makkelijk op te lossen is.
Oplossen van het probleem met een cronjob
Er zijntwee manieren die ik gebruik om dit probleem op te lossen. De ene is het instellen van een cronjob en de andere is door een plug-in te activeren op je WordPress website.
Wat is een cronjob?
Een cronjob is niets meer dan eentaak die ingepland staat in je WordPress website. Niet alleen je blogs worden hiermee ingepland, maar ook plug-ins of je server gebruiken cronjobs om bijvoorbeeld om de zoveel tijd een back-up te maken.
In zijn standaard configuratie gebruikt WordPress geen echte cronjobs. Iedere keer dat een pagina wordt geladen, zal WordPress een wp-cron.php bestand laten lopen. Ondanks dat deze virtuele cronjob handig is, heeft het toch zijn nadelen:
- Het laden van het bestand iedere keer dat een nieuwe pagina wordt ingeladen, is onnodig veel werk. Zeker voor websites met veel verkeer zal dit voor vertraging zorgen.
- Ook voor websites met weinig verkeer is het nadelig. Het zal de laadtijd van een pagina vertragen en brengt andere nadelige gevolgen met zich mee zoals het missen van scheduled posts.
Om dit probleem op te lossen, is het handig om de virtuele cronjobs uit te schakelen en echte cronjobs in te stellen.
Virtuele WordPress cronjobs uitschakelen
Om de virtuele WordPress cronjobs uit te schakelen, volg je bestvolgende stappen:
1. Log in op je account via DirectAdmin, cPanel of SHH.
2. Ga naar je cPanel File Manager en open het wp-config.php bestand in een teksteditor. Het bestand staat meestal in de public_html directory.
3. Voeg de volgende zin toe aan het bestand:
define('DISABLE_WP_CRON', true);
Zorg dat je deze zin zeker toevoegt boven de laatste zin:
/* That’s all, stop editing! Happy publishing. */ */
4. Sla je wijzigingen op en sluit de teksteditor. Je virtuele cronjobs zouden nu uitgeschakeld moeten zijn.
Een echte cronjob instellen voor je WordPress website
Ook hiervoor hebben we cPanel weer nodig:
1. In het ‘advanced’ onderdeel klik je op cronjobs
2. Als je mails wil ontvangen, kan je onder ‘cron email’ je mailadres ingeven. Je krijgt dan een melding iedere keer als je cronjob loopt. Dit is niet verplicht.
3. Onder ‘Add new cron job’ in de instellingen, selecteer je ‘twice an hour’. Hierdoor zal je cron om de 30 minuten lopen, wat een efficiënte manier is.
4. In de ‘Command’ tekst box, typ je de volgende lijn:
cd ${HOME}/public_html; /usr/local/bin/php -q wp-cron.php
5. Vervolgens klik je op ‘add new cronjob’ en je instellingen zijn geactiveerd.
Het oplossen van het probleem met een plug-in
Een andere manier om het probleem op te lossen is met een gelijknamige plug-in, namelijk de WP missed schedule plug-in. Je kan hem eenvoudig downloaden en activeren in je plug-in dashboard van je WordPress website. Hij werkt volledig autonoom en heeft geen verdere instellingen nodig.
Hoe werkt dit dan? De plug-in checkt je website iedere 15 minuten om te zien of er scheduled posts zijn die niet live zijn gegaan. Als hij er vindt, zet hij de status zelf om van ‘scheduled’ naar ‘published’ om alsnog de blog te publiceren.
De tool werkt voor blogs, maar ook voor andere pagina’s en zelfs custom paginatypes. Hij is ook zo gebouwd, dat het je website niet vertraagd.
Bij deze weet je dus wat je moet doen als je nog een keer de ‘missed schedule post’ error ziet op je website. Het is een fout die makkelijk op te lossen is en normaal gezien ook eenmalig. Wanneer je of de cronjob hebt ingesteld of de plug-in hebt geactiveerd, zou de error niet meer voor moeten komen.
Heb je toch nog vragen of problemen met je WordPress website? Aarzel dan niet om mij te contacteren. Ik help je graag!