WordPress 500 error en het witte scherm: wie controleert wat, jij, je host of een ontwikkelaar
Een WordPress 500 error is een algemeen antwoord van de server: de pagina kon niet worden opgebouwd. De meest voorkomende oorzaken zijn een plugin na een update, een kapot bestand .htaccess, een laag PHP-geheugenlimiet of de verkeerde PHP-versie. Recente wijzigingen, .htaccess en plugins controleer je zelf in de bestandsbeheerder. Je hostingpartij leest het foutenlog van de server, en een ontwikkelaar verbetert de code.
Auteur: Het TellMyShop-team. Een gids voor eigenaren van WordPress-websites en WooCommerce-winkels: de oorzaak, de oplossing met de hand en hetzelfde werk in een gesprek met de chat.
Laatst bijgewerkt: · 6 min lezen
Herken het symptoom in een minuut
Controleer voordat je iets wijzigt precies waar de fout zit. Dat bepaalt of je zelf begint of je hostingpartij belt.
| Symptoom | Meest voorkomende oorzaak | Wie begint |
|---|---|---|
| De hele site en /wp-admin geven een 500 | .htaccess, een plugin, de PHP-versie | jij, dan je host |
| Een wit scherm zonder enige tekst | een PHP-fout met het tonen van fouten uit | jij, dan je host |
| De melding “Er heeft zich een kritieke fout voorgedaan op deze website” (“There has been a critical error on this website”) | een plugin of het thema | zie de handleiding over de kritieke fout |
| Een 500 alleen bij één handeling, bijvoorbeeld opslaan of de winkelwagen | een plugin, te weinig geheugen, een tijdslimiet | jij met het log, dan een ontwikkelaar |
| Een 500 die komt en gaat bij veel bezoekers | serverlimieten | host |
| 502 of 504 in plaats van 500 | de server kreeg niet op tijd antwoord van PHP | host |
Zie je de melding over een kritieke fout, ga dan naar de aparte handleiding: die behandelt de herstelmodus met de e-mail van WordPress. Dit artikel gaat over een kale 500 error of een wit scherm.
Jij: de eerste tien minuten
Deze stappen doe je in het hostingpaneel, zonder ontwikkelaar. Open na elke stap de site in een privévenster.
- Denk terug aan de laatste wijziging. Een update van een plugin, een nieuwe plugin, een andere PHP-versie in het hostingpaneel, een aanpassing van .htaccess door een beveiligings- of cacheplugin. Een 500 error verschijnt zelden zonder reden.
- Controleer het bestand .htaccess. Zet in de bestandsbeheerder van je hostingpartij, in de map van de site, het tonen van verborgen bestanden aan. Hernoem .htaccess naar .htaccess-old. Komt de site terug, log dan in en ga naar Instellingen, Permalinks, Wijzigingen opslaan. WordPress maakt een nieuw, schoon bestand aan.
- Schakel plugins uit door de map te hernoemen. Hernoem in wp-content de map plugins naar plugins-disabled. Komt de site terug, zet de naam dan terug en activeer plugins een voor een in het dashboard tot de fout terugkomt. De laatst geactiveerde is de boosdoener.
- Draai de wijziging van de PHP-versie terug. Heb je voor de fout de PHP-versie in het hostingpaneel gewijzigd, ga dan terug naar de vorige.
- Maak een schermafbeelding en noteer het tijdstip. Die helpen als je je hostingpartij moet schrijven.
Wat je niet doet: zet in een webshop geen volledige back-up inclusief database terug, verwijder geen plugins maar hernoem alleen mappen, en installeer WordPress niet blind opnieuw.
Je hostingpartij: waar je om vraagt en wat je meestuurt
Je hostingpartij ziet wat jij niet ziet: het foutenlog van de server, limieten voor geheugen en tijd, de PHP-versie en de belasting. De code 500 zegt bewust niet wat er is gebeurd, en daarom raadt de documentatie van WooCommerce over informatie bij een 500 error aan je hostingpartij het exacte adres en tijdstip van de fout te geven.
Een bericht aan je hostingpartij kan er zo uitzien:
- het adres dat de 500 error geeft, en sinds wanneer,
- het exacte tijdstip waarop de fout het laatst optrad,
- wat er vlak voor de fout is veranderd,
- wat je al hebt gecontroleerd: .htaccess, plugins, PHP-versie,
- een verzoek om het fragment uit het foutenlog van de server van dat moment.
Typische antwoorden van hostingpartijen zijn te weinig PHP-geheugen, een overschreden uitvoeringstijd, een syntaxfout in .htaccess of een PHP-versie die niet samengaat met een plugin. Een lijst met zulke oorzaken staat ook in de handleiding van Rackspace.
Een ontwikkelaar: wanneer je er een nodig hebt
Een ontwikkelaar heb je nodig als het log wijst naar een fout in de code: in een maatwerkthema, in een stukje code in functions.php of in een plugin waarvan de maker geen verbeteringen meer uitbrengt. De ontwikkelaar zet het loggen van fouten naar het bestand debug.log aan, met het tonen aan bezoekers uit. De instellingen staan in de documentatie over debuggen in WordPress.
In twee zinnen luidt de opdracht voor de ontwikkelaar: “Sinds deze datum geeft de site een 500 bij deze handeling, en het log toont deze fout. Verbeter de code of stel een vervangende plugin voor.”
Zo helpt de chat als de site gedeeltelijk werkt
De TellMyShop-plugin voor WordPress en WooCommerce draait binnen WordPress. Geeft de hele site een 500, dan is er geen verbinding met je chat (Claude of ChatGPT), en doe je eerste hulp volgens de stappen hierboven. De chat is nuttig in twee andere situaties: als de fout maar een deel van de site raakt, en na de oplossing, als je wilt weten wat er gebeurd is.
In TellMyShop Free leest de chat gegroepeerde fouten van PHP, WordPress en WooCommerce van de laatste dagen, de gezondheid van de website met de PHP-versie en de lijst met plugins met hun versies. Hij opent ook gekozen adressen zoals een bezoeker dat doet en toont de responscode. Zo schrijf je je hostingpartij of ontwikkelaar met concrete gegevens.
Jij: Bij het opslaan van langere berichten krijg ik een 500 error. Korte berichten worden normaal opgeslagen.
Je chat: Het log van de laatste 3 dagen heeft 14 meldingen “Allowed memory size exhausted” bij het opslaan van een bericht. Allemaal wijzen ze naar de plugin Sample Image Optimiser, die bij het opslaan de afbeeldingen in een bericht verwerkt.
Je chat: Gezondheid van de website: het PHP-geheugenlimiet is laag. Twee opties: je hostingpartij om een hoger limiet vragen of deze plugin deactiveren. Voorbeeld van het deactiveren:
Jij: Deactiveer hem. Ik spreek morgen mijn hostingpartij.
Je chat: Gedeactiveerd. De homepage en het dashboard reageren correct. Probeer dat lange bericht nu op te slaan. Je kunt de plugin weer activeren vanuit de wijzigingsgeschiedenis.
oude versie: Sample Image Optimiser: actief
nieuwe versie: Sample Image Optimiser: inactief
De pluginnaam en getallen in dit gesprek zijn verzonnen. Een plugin deactiveren werkt in TellMyShop Pro zodra de schakelaar Plugins aan staat; de schakelaar geldt 24 uur en vereist een databaseback-up van dezelfde dag. Voor de wijziging toont de chat een voorbeeld en zegt hij wat mogelijk niet meer werkt. De plugin wijzigt nooit .htaccess of wp-config.php, dus het geheugenlimiet of serverregels verbetert de chat niet. Die blijven bij je hostingpartij.
Verscheen de fout direct na een update, lees dan ook wat je doet als WordPress na een update stukgaat. De gratis versie download je op de pagina TellMyShop Free, en de verschillen met Pro bekijk je op de pagina prijzen. Meer handleidingen vind je op de blog.
Vragen en antwoorden
Wat is het verschil tussen een 500 error en de melding over een kritieke fout?
De melding “Er heeft zich een kritieke fout voorgedaan op deze website” toont WordPress zelf als een plugin of thema stopt met een PHP-fout. Een 500 error is een algemeen antwoord van de server dat al kan verschijnen voordat WordPress start, bijvoorbeeld door een kapot .htaccess of serverlimieten. Een wit scherm is vaak dezelfde fout, alleen zonder melding.
Betekent een 500 error dat ik gegevens kwijt ben?
Bijna nooit. Berichten, pagina’s en bestellingen staan in de database, en een 500 error zegt alleen dat de server de pagina niet kon opbouwen. Zet niet overhaast een volledige back-up inclusief database terug, want in een webshop wis je dan bestellingen die erna zijn geplaatst.
Wat schrijf ik mijn hostingpartij over een 500 error?
Geef het adres waar de fout optreedt, het exacte tijdstip en wat er vlak daarvoor is veranderd. Vraag ze het foutenlog van de server van dat moment te controleren. De documentatie van WooCommerce raadt precies dat aan, omdat de code 500 bewust niet zegt wat er is gebeurd.
De 500 error verschijnt alleen bij één handeling. Wat betekent dat?
Dat de site in het algemeen werkt, en het probleem op één plek zit: bij het opslaan van een bericht, in de winkelwagen, tijdens een import of op het dashboard van één plugin. Dat is goed nieuws, want het foutenlog van dat moment wijst meestal naar de foute plugin of een tekort aan geheugen.
Kan ik het PHP-geheugenlimiet zelf verhogen?
Soms, in het hostingpaneel, bij de PHP-instellingen. Biedt het paneel dat niet, vraag het dan je hostingpartij. Het limiet verhogen helpt alleen als het log zegt dat het geheugen op was, en het mag geen plugin maskeren die er te veel van gebruikt.
WordPress is een handelsmerk van de WordPress Foundation. WooCommerce is een handelsmerk van Automattic Inc. Claude is een handelsmerk van Anthropic PBC. ChatGPT en OpenAI zijn handelsmerken van OpenAI. TellMyShop is niet gelieerd aan deze bedrijven.