Er is niks zo eng als je WordPress website die offline gaat, zeker niet wanneer je daar de angstaanjagende foutmelding “There Has Been a Critical Error on Your Website” bij te zien krijgt.
Wanneer je niet meer bij je site kan, en de front-end van je website helemaal offline is, moet je meteen weten hoe je de kritieke fout kan herstellen. Elke minuut verlies je bezoekers die naar een irritante foutmelding zitten te kijken.
Gelukkig is het oplossen van deze kritieke fout meestal een kwestie van een kleine PHP functie toevoegen, of een problematische plugin verwijderen. In dit artikel zullen we naar verschillende manieren kijken om deze fout op te lossen zodat je website binnen de kortste keren weer online is.
Bekijk onze videogids over het oplossen van de fout “There Has Been a Critical Error on Your Website”
Wat is de oorzaak van de foutmelding “There Has Been a Critical Error on Your Website”?
Wanneer je WordPress al een poosje gebruikt, heb je vast wel eens van de meest berucht foutmelding gehoord: de White Screen of Death. Deze fout zorgt ervoor dat je hele website, soms zelfs inclusief backend, geladen wordt als lege witte pagina.
In nieuwere versies van WordPress is dit lege scherm vervangen door de melding over een kritieke fout, met de tekst “There Has Been a Critical Error on Your Website. Please check your site admin email inbox for instructions.”
Dit is natuurlijk minder angstaanjagend dan wanneer je website gewoon helemaal niks doet, maar de tekst van de fout is nog weinig informatief, waardoor je je nog steeds afvraagt: wat is de oorzaak van deze kritieke fout?
Net als bij de White Screen of Death, heeft het probleem meestal te maken met PHP: of je geheugenlimiet wordt overschreden, of er zit een fout in je code, plugins of thema. Het kan ook zijn dat er fouten in je database zitten.
Alhoewel de foutmelding zelf weinig inzicht biedt, kunnen we zo het aantal oorzaken toch aardig inperken.
Je kan ook eens kijken naar deze WordPress fouten, aangezien een fout zelden alleen komt:
- ERR_CONNECTION_TIMED_OUT — Veroorzaakt door een trage of overbelaste webserver.
- ERR_CACHE_MISS — Wanneer je dit ziet, moet je kijken naar de cache van je website, of PHP tools, zoals je plugins, aangezien dit vaak de oorzaak is.
- 500 Internal Server Error — Een ernstige fout die meestal ontstaat door fouten in de serverbestanden.
- Error Establishing a Database Connection — Probleem in je database of een probleem met je database server.
- HTTP 503 Service Unavailable — Betekent ook meestal een probleem met je server.
- HTTP 502 Bad Gateway — Nog een ander serverprobleem, vaak doordat de server overbelast is door te veel bezoekers.
Wanneer je nog andere vreemde fouten ziet, kan je ook deze lijst met HTTP statuscodes doorzoeken.
Hoe los je de foutmelding “There Has Been a Critical Error on Your Website” op?
Je bent hier om je website weer online te krijgen, en daarvoor hebben we een aantal potentiële manieren verzameld om het probleem op te lossen. Aangezien de oorzaak meestal met PHP te maken heeft, moet je voor sommige oplossingen belangrijke WordPress bestanden bewerken. Zelfs al is je website momenteel kapot, maak alsnog een back-up voordat je deze oplossingen uitprobeert, aangezien we de situatie ook niet erger willen maken dan het al is.
Wanneer je wel kan inloggen op de backend van je website, helpt dat een hoop. Maar aangezien je hele website waarschijnlijk offline is, moet je meestal verbinding maken via FTP (of SFTP).
Neem contact op met je webhost of zoek in je hosting dashboard naar je FTP inloggegevens, en installeer een FTP client, bijvoorbeeld FileZilla. Deze gids over het verbinding maken met WordPress via FTP kan ook helpen.
Debuggen inschakelen bij WordPress
Wanneer je problemen met WordPress hebt, moet je altijd beginnen met het inschakelen van debugging. Met deze debugmodus kan je verschillende PHP fouten op je website ziet, waardoor je de oorzaak van het probleem kan achterhalen.
Aangezien je waarschijnlijk niet bij je dashboard kan, moet je ook het debug log aanzetten. Hierdoor worden alle PHP fouten naar een tekstbestand geschreven.
Wanneer je gehost wordt bij Kinsta, kan je eenvoudig debugging inschakelen met MyKinsta. Log in op het hosting dashboard, en ga naar Websites > Tools > WordPress debugging en klik op Inschakelen. Je kan vervolgens rondkijken op je website om de oorzaak van het probleem te zoeken, of het logbestand bekijken. Let op dat je debugging ook weer uitzet als alle problemen opgelost zijn, aangezien je bezoekers ook kunnen zien dat je debugging aan hebt staan.
Wanneer je handmatig debugging aan moet zetten, of het debug logbestand moet vinden, kan je onderstaande stappen volgen.
- Stap 1: Maak verbinding met je website via FTP.
- Stap 2: Zoek wp-config.php in de root map en open het met een tekstverwerker of IDE.
- Stap 3: Plaats de volgende code onderaan het document, net onder het laatste bericht, en sla het bestand op:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'WP_DEBUG_LOG', true );
Zo ziet het bestand er daarna uit:
Debugging staat nu aan op je website, en alle fouten worden in het tekstbestand opgeschreven. Je kan dit debug log vinden in de map wp-content, het bestand heet debug.log.
Zoek naar namen van je thema of plugins, waardoor je kan zien wat de boosdoener is, of kijk of er referenties naar specifieke bestanden in staan. Zelfs wanneer je nog niet precies weet wat je moet met deze informatie, kan je het toch alvast opslaan, aangezien je het ook nodig zal hebben wanneer je om hulp vraagt.
Wanneer je klaar bent met debugging, moet je de regels code natuurlijk ook weer verwijderen.
Herstellen van je website
Wanneer WordPress fouten de kop opsteken, is het herstellen van een back-up een snelle en makkelijke oplossing. Alhoewel dit niet altijd je problemen zal oplossen, is het zeker een poging waard. Wanneer het probleem toch weer terugkomt, kan je wellicht ook beter de oorzaak terugvinden.
Hoe je je website kan herstellen hangt af van de manier waarop je een back-up hebt gemaakt. Wanneer je een plugin gebruikt, kan je de instructies in de documentatie volgen. Wanneer back-ups onderdeel zijn van het pakket van je webhost, zal je die meestal kunnen gebruiken via het dashboard van je host.
Zo kunnen gebruikers van Kinsta een back-up terugzetten door in te loggen op MyKinsta, de relevante site te zoeken onder Websites, naar het tabblad Back-ups te gaan, en dan te klikken op Herstellen naar…
Voordat je meteen de back-up terugzet voor je live site, kan je het eerst uitproberen op een test website, om te controleren dat de back-up inderdaad goed werkt.
Teruggaan naar een standaardthema
Soms kan een kritieke fout teruggeleid worden naar een conflict met je thema. De makkelijkste manier om dit te testen is het tijdelijk verwijderen van je thema en teruggaan naar een standaardthema, waardoor het probleem meteen verholpen zou moeten zijn.
Zoals altijd moet je eerst een back-up maken van je site, aangezien je je themabestanden straks weer nodig zal hebben. Wanneer je gewoon het thema opnieuw installeert, verlies je waarschijnlijk al je aanpassingen.
Zolang je toegang tot je dashboard hebt, is dit vrij eenvoudig te doen. Ga hiervoor naar Appearance > Themes, klik op het thema om het te selecteren, en klik op Delete rechtsonder in het venster dat verschijnt.
Wanneer je deze optie niet te zien krijgt, kan je proberen om een ander thema te downloaden en te activeren. Je kan dan het beste kiezen voor een standaardthema, bijvoorbeeld Twenty Twenty-One.
Wanneer je geen toegang tot je backend hebt, kan je onderstaande instructies volgen om terug te gaan naar een standaardthema, via FTP.
- Stap 1: Maak verbinding met je website via FTP.
- Stap 2: Navigeer naar wp-content/themes. Je hebt nu twee mogelijkheden: je kan de map met je thema een nieuwe naam geven (zodat je het thema later weer terug kan zetten), of je kan de map helemaal verwijderen.
- Stap 3: Wanneer je nog geen thema hebt om op terug te vallen, kan je handmatig Twenty Twenty downloaden en de bestanden in de map themes
Je website zou nu Twenty Twenty als thema moeten gebruiken. Wanneer je website nu goed laadt, weet je dat er een probleem was met je thema.
Om de bestanden van je thema terug te zetten, kan je de map weer de originele naam geven, of het thema opnieuw installeren.
Alle plugins uitschakelen
Wanneer je een kritieke fout op je scherm ziet, komt dat vaak door een plugin. Wanneer je meerdere of misschien zelfs tientallen plugins op je website hebt, kan het vinden van de boosdoener ingewikkeld lijken.
Maar er is een relatief eenvoudige manier om de problematische plugin te vinden: je zet alle plugins uit, en kijkt of je probleem weg is. Zo ja, dan zet je ze allemaal één voor één aan totdat de fout weer naar boven komt. De plugin die je als laatste aangezet hebt, veroorzaakt het probleem.
Om je plugins uit te zetten vanaf het dashboard, ga je naar Plugins > Installed Plugins en vink je het selectievakje bovenaan aan om ze allemaal te selecteren. Klik vervolgens op Bulk Actions > Deactivate, waardoor alle conflicten nu direct opgelost zouden moeten zijn.
Je kan ook meteen op Delete klikken om alle bestanden meteen te verwijderen, maar dan moet je wel alle plugins opnieuw installeren of een back-up terugzetten.
Je kan ze één voor één weer aanzetten door weer naar Installed Plugins te gaan en op Activate te klikken voor elke plugin, waarna je steeds je website test.
Via FTP doe je min of meer hetzelfde.
- Stap 1: Maak verbinding met je website via FTP.
- Stap 2: Open de map wp-content om je plugins te zien.
- Stap 3: Geef de map plugins de naam plugins_old en controleer dat je website nu inderdaad goed werkt.
- Stap 4: Noem de map weer “plugins”. De plugins zouden nu nog uit moeten staan, dus je kan meteen inloggen op je dashboard en ze één voor één activeren. Wanneer je plugins wel automatisch geactiveerd worden, kan je elke map met een plugin handmatig een nieuwe naam met _old geven totdat de fout is opgelost.
Verhoog het PHP geheugenlimiet
Ook al lijkt een plugin of thema de oorzaak van je kapotte website, meestal is het PHP geheugenlimiet de onderliggende boosdoener.
Wat is het PHP geheugenlimiet? Je webserver heeft een beperkte hoeveelheid RAM, oftewel werkgeheugen, en daarom stelt WordPress een harde beperking op hoeveel geheugen een PHP script mag gebruiken. Wanneer dat limiet overschreden wordt, krijg je de kritieke fout of het White Screen of Death te zien.
Alhoewel je dit geheugenlimiet zeker niet te hoog wil zetten, aangezien slechte scripts je website dan ontzettend kunnen vertragen, is de standaardinstellingen soms veel te laag. Het verhogen van je PHP limiet met een klein beetje kan je kapotte website meteen repareren.
- Stap 1: Open je website via FTP en open wp-config.php.
- Stap 2: Voer de volgende code in, net voor de laatste regel, en sla het bestand op.
define( 'WP_MEMORY_LIMIT', '128M' );
Je kan ook 256M proberen wanneer het probleem nog niet weg is, maar daarboven is echt niet nodig, tenzij de documentatie van een plugin daar specifiek om vraagt. Ligt het probleem inderdaad aan het geheugenlimiet, dan is er meestal iets mis met de plugin, en moet je deze uitschakelen.
Kleine opmerking: sommige hosts stellen extreem lage geheugenlimieten in, en staan niet toe dat je dit verhoogt. Wanneer dat een probleem is bij jouw website, zijn je eigen opties overstappen naar een betere host, of de problematische plugin verwijderen.
Alhoewel ook Kinsta een geheugenlimiet ingesteld heeft, staat dit op 256 MB. Je zou daarom nooit een probleem moeten hebben met goede, werkende plugins binnen een Kinsta pakket.
Verhoog de maximale bestandsgrootte voor uploads en de tekstverwerkingsfuncties
Wanneer je de kritieke fouten slechts af en toe ziet en niet altijd op elke pagina, is een kleine aanpassing aan enkele PHP functies meestal al een oplossing.
Het uploaden van grote bestanden waarna je een foutmelding krijgt, komt meestal omdat de maximale bestandsgrootte voor uploads dan te klein is, en het stuklopen van grote pagina’s kan opgelost worden door de limieten voor recursion en backtrack te verhogen.
Allereerst moet je controleren wat de maximale bestandsgrootte bij uploads is, en dat vergelijken met het bestand dat je aan het uploaden bent. Je kan dit limiet vinden door te gaan naar Media > Add New en dan onder de file uploader te kijken.
Om deze problemen op te lossen, moet je inloggen op FTP en het bestand wp-config.php bewerken, waarbij je de nieuwe code net boven de laatste opmerking onderaan het bestand plaatst.
Voor het verhogen van de limieten bij het uploaden voer je deze code in:
ini_set('upload_max_size' , '256M' );
ini_set('post_max_size','256M');
En voor het stuklopen van grote pagina’s op je site, voeg je deze code toe:
ini_set('pcre.recursion_limit',20000000);
ini_set('pcre.backtrack_limit',10000000);
Leeg de cache van je WordPress website
Cachen is een handige manier om je website sneller te maken, en is haast altijd een goed idee. Maar soms sluipen er fouten in de cache, waardoor je website fouten laat zien.
Wanneer dit gebeurt kan je eenvoudig de cache legen, waarna je website weer gewoon zou moeten werken.
En maak je geen zorgen, de gecachte versies van je pagina’s worden ook zo weer hersteld, waardoor je website na één keer weer net zo snel zal laden. Het legen van de cache verwijdert alleen de foute bestanden die erin zitten.
MyKinsta gebruikers kunnen de cache van hun website eenvoudig legen via het hosting dashboard. Ga naar Sites > Tools en klik op Clear Cache.
Gebruik je een andere host, of wellicht een caching plugin? Bekijk de relevantie documentatie, daar zal haast altijd een duidelijke handleiding in staan.
Upgrade je PHP versie
Verouderde PHP kan ook zorgen voor problemen met je website, en je zal ook andere conflicten gaan zien. Je wil in principe altijd dat je website de nieuwste versie van PHP gebruikt die WordPress ondersteunt, wat momenteel PHP 7.3 tot 8.0 is.
Sommige WordPress gebruikers blijven liever bij PHP 7.4 omdat ze zich zorgen maken over de compatibiliteit van plugins en thema’s. Maar dit levert meestal geen problemen op. Gebruik je echter PHP 5.x, dan moet je echt zo snel mogelijk upgraden, voordat je problemen gaat krijgen.
Een grote PHP upgrade heeft veel gevolgen, dus zorgen altijd dat je eerst een back-up maakt voor je dit doet.
Kinsta gebruikers kunnen hun PHP versie upgraden via MyKinsta, zonder ingewikkeld gedoe. Je logt gewoon in en gaat naar Sites > Tools, waar je klikt op Modify onder PHP engine. Selecteer de gewenste versie, en na even wachten gebruikt je website opeens de nieuwste PHP versie.
Wanneer je geen Kinsta gebruiker bent, hangt het proces van je PHP upgraden af van je host. Neem contact met hen op voor ondersteuning.
Controleer op malware
Soms kan een kritieke fout ook veroorzaakt worden door malware, zeker wanneer je rare PHP scripts ziet die je niet kan herleiden naar je plugins of thema. Het verwijderen van malware kan best een uitdaging zijn, zeker wanneer je niet bij je website kan en dus niet eens een scan kan uitvoeren.
Het kan lastig zijn om het verschil te zien tussen goede bestanden en verdachte bestanden die een virus of andere malware toegevoegd heeft, en het gewoon verwijderen van allerlei belangrijke bestanden is vragen om problemen. Malware kan ook PHP bestanden bewerken, waardoor scripts verborgen worden en je ze niet kan vinden, tenzij je een ervaren developer bent.
Wanneer je denkt dat je met malware te maken hebt, kan je meestal het beste je webhost om hulp vragen.
Waar kan je ondersteuning voor WordPress krijgen als je niet verder komt?
Wanneer je al deze opties hebt geprobeerd, en je schiet maar niet op, dan heb je een echt serieus probleem. Maar je kan altijd contact opnemen met je webhost voor hulp bij het oplossen en identificeren van het probleem. Een goede webhost biedt je altijd de ondersteuning die je nodig hebt om je website weer online te krijgen.
Bij elk pakket biedt Kinsta live 24/7 WordPress ondersteuning. Doordat onze supporttools geïntegreerd zijn in je MyKinsta dashboard, kan je altijd met één klik op de knop om hulp vragen. Onze reactietijden zijn heel laag, meestal onder de twee minuten, dus je zit niet uren of zelfs dagen met een website die offline is.
Maar hoe verhoudt de mate van ondersteuning zich tot dit specifieke probleem? Kinsta biedt technische ondersteuning wanneer je fouten krijgt op je website, inclusief de kritieke fout uit de titel. We kunnen je bijvoorbeeld helpen om te achterhalen welke bestanden of plugins het probleem veroorzaken.
Alhoewel je meestal zelf het probleem moet oplossen, of een developer dit moet laten doen, geven we je bij Kinsta altijd graag instructies hoe je dit kan doen (bijvoorbeeld hoe je het bestand via FTP kan openen).
Elk pakket bevat toegang tot precies dezelfde geweldige ondersteuning, we hebben dus geen speciale ondersteuning voor ondersteuning met prioriteit, en we doen niet aan speciale behandeling voor bepaalde klanten. Wanneer je dus een kritieke fout tegenkomt en hulp nodig hebt, kan je Kinsta altijd om hulp vragen.
Samenvatting
De WordPress kritieke fout kan allerlei oorzaken hebben, maar heeft meestal te maken met PHP. Je PHP geheugenlimiet is bijvoorbeeld overschreden, of je plugins of thema hebben een probleem.
De snelste manier om het probleem op te lossen is een back-up te gebruiken als je die hebt, maar we hebben ook andere oplossingen beschreven, van het verhogen van je PHP geheugenlimiet tot het vinden van de problematische plugin.
Het oplossen van je probleem kan een paar pogingen vergen, maar maak je geen zorgen als het oplossen niet meteen lukt. Je kan altijd ondersteuning voor WordPress krijgen van een host als Kinsta. Bij twijfel kan je het altijd aan experts vragen.
En wanneer je website vol fouten zit, controleer dan onze gids met meer dan 65 veelvoorkomende WordPress fouten.