Vroeg of laat kom je ‘m tegen: de HTTP Internal Server Error (500) op je WordPress-website. Hoewel het oplossen van de Internal Server Error voor WordPress niet altijd even makkelijk is, zijn er wel oplossingen. In dit artikel laat ik zien welke stappen je kunt volgen om de oorzaak van de HTTP Internal Server Error 500 te achterhalen en je WordPress-website te herstellen!

Wat is de Internal Server Error 500?
Het HyperText Transfer Protocol (HTTP) communiceert een status code over elk HTTP verzoek, zoals het opvragen van een webpagina URL. Kortom: als iemand jouw WordPress-website bezoekt, reageert het HTTP een status code! De verschillende HTTP codes zijn opgedeeld in de volgende groepen
- Informational responses (100–199)
- Successful responses (200–299)
- Redirects (300–399)
- Client errors (400–499)
- Server errors (500–599)
Als alles goed gaat is de HTTP status code ‘200 OK’. De 500 Internal Server Error geeft aan dat de server een onverwachte conditie heeft aangetroffen waardoor het verzoek niet kon worden voltooid. Er kan dan geen geldige response code gereageerd worden door een fout.
Waar dat precies door komt, is niet bekend bij het HTTP. Daarom wordt er ‘Internal Server Error (500)’ gecommuniceerd: het is onbekend waar de error door veroorzaakt wordt.
Dat maakt de 500 Internal Server Error een moeilijke voor WordPress-websites: het kan verschillende oorzaken hebben.
Stappenplan: 500 Internal Server Error oplossen voor WordPress
Doordat de 500 Internal Server Error geen eenduidige oorzaak heeft, is het belangrijk om systematisch te werk te gaan. Volg het onderstaande stappenplan als jij deze error tegenkomt op je WordPress-website. Ik heb in mijn +10 jaar WordPress veel Internal Server Errors opgelost; de onderstaande stappen staan op volgorde van ‘vaakst de oplossing’ tot ‘minst vaak de oplossing’.
Stap 1: Informatie verzamelen
Omdat de 500 Internal Server Error geen informatie geeft over welk stuk code de error veroorzaakt, starten we met het verzamelen van informatie.
1. Wat deed je op het moment van de error?
De Internal Server Error verschijnt vaak op WordPress-websites door menselijk handelen. Je werkt een plugin bij, updatet het WordPress CMS, of klikt een instelling aan bij je favoriete WordPress-thema.
Als je er ‘live’ bij was toen de error verscheen, heb je waarschijnlijk wel een idee wat de oorzaak is. Dit scheelt een hoop zoekwerk! Je kunt nu direct naar de betreffende stap om te lezen hoe je de WordPress Internal Server Error 500 oplost.
Het oplossen van de Internal Server Error is een puzzel. Ergens op je website bevindt zich code die de error veroorzaakt. Lukt het jou de oorzaak te vinden? Dan kan je de error oplossen.
2. ‘Technical Issue’ email van WordPress
WordPress stuurt sinds versie 5.2 een email op het moment dat er een 500 Internal Server Error opduikt. In deze email vind je meer informatie over de oorzaak van de error.
Zoek naar de naam van de plugin/thema die in de error staat. In het onderstaande geval werd de error veroorzaakt door WooCommerce.

3. WP_DEBUG
Heb je geen email gehad met bruikbare informatie en geen idee waardoor de Internal Server Error komt? Log dan via FTP in op de server van je website en download het wp-config.php-bestand. Daar zie je de volgende regel:
define( 'WP_DEBUG', false );
Verander false in true om WordPress alle errors te laten zien.
define( 'WP_DEBUG', true );
Herlaad nu je website en als het goed is, zie je nu een hoop error code waarin je mogelijk meer informatie vindt over de oorzaak van de 500 Internal Server Error. Denk aan de naam van een plugin, thema of een bestand van de WordPress core.
Heb je alles weer werkend? Vergeet WP_DEBUG niet terug op false te zetten! Anders is de kans groot dat je bezoekers vroeg of laat (gevoelige) foutinformatie te zien krijgen.
Stap 2: Error 500 oplossen
Je hebt nu hopelijk een idee waar de internal server error door komt. Zoek in de onderstaande lijst de maatregel op die bij jouw oorzaak hoort. Weet je niet wat de oorzaak is, ga dan chronologisch de onderstaande lijst af.
Plugin of theme deactiveren
Wordt de error veroorzaakt door een van je plugins of theme, dan moet je deze zien te deactiveren. Lukt dat niet via je wp-admin omgeving, dan is het ook om je plugin of theme inactief te maken via FileZilla.
Onderstaande instructies zijn identiek als de error wordt veroorzaakt door een theme. Lees dan theme waar ik plugin heb geschreven.
Log in op je webserver via FTP en ga naar wp-content > plugins. Zoek de map met de naam van de plugin die de Internal Server Error 500 veroorzaakt op jouw WordPress-website en hernoem deze map. Het maakt niet uit hoe je de map noemt: elke wijziging zorgt ervoor dat de plugin inactief wordt. Je website zou hierna weer toegankelijk moeten zijn.


Tip: Geen idee of (en zo ja, welke) plugin/theme de oorzaak is? Hernoem alle plugins in de map door achter elke plugin ‘-inactief’ te zetten. Herlaad je website (en leeg eventueel de cache). Is de 500 Internal Server Error verdwenen? Dan werd deze veroorzaakt door één van je plugins. Hernoem de plugin mappen nu één voor één weer naar de originele naam. Herlaad na elke wijziging je website. Zodra WordPress geen 500 Internal Server Error geeft, weet je door welke plugin de error kwam!
Zodra je de boosdoener hebt gevonden, kun je deze het best verwijderen en opnieuw installeren. Krijg je weer een Internal Server Error? Neem dan contact op met de plugin auteur. Zorg er wel voor dat je WordPress-website én de plugin zijn bijgewerkt naar de laatste versie.
Als de error wordt veroorzaakt door een theme, kun je dit theme ook opnieuw uploaden. Het kan zijn dat er een of meerdere bestanden corrupt zijn of niet goed zijn geüpload.
.htaccess bestand opnieuw genereren
De Internal Server Error kan ook worden veroorzaakt door een fout in het .htaccess bestand. Dit is een belangrijk document wat ervoor zorgt dat URLs correct worden herschreven.
Ga naar wp-admin > settings > permalinks en klik simpelweg op ‘Save Changes’. Hierna wordt het .htaccess bestand opnieuw gegenereerd. Hopelijk heeft dit het probleem opgelost, en zo niet: ga dan verder met de volgende stap.

Cache legen
Het kan zijn dat er een versie van je WordPress-website is ‘opgeslagen’ (oftewel gecached) met de Internal Server Error in de cache.

Je kunt dit controleren door de cache te legen. Dat kan via een WordPress-plugin die jouw caching beheert (zoals W3 Total Cache of CloudFlare), maar soms gebeurt dit ook op hosting niveau. Raadpleeg daarvoor de online omgeving van je hosting pakket of server.
WordPress core bestanden vervangen
De Internal Server Error (500) verschijnt ook als er iets mis is met een ‘core’ bestand van WordPress. Dit zijn bestanden waar het CMS op draait, vergelijkbaar met het moederboord van een computer.
- Ga naar WordPress.org/download
- Download de laatste versie van WordPress
- Pak het .zip-bestand uit
- Selecteer alles behalve wp-config.php (bestand) en wp-content (map)
- Upload de geselecteerde bestanden en mappen naar de root van je webserver

Samenvatting
Heeft jouw WordPress-website last van de Internal Server Error (500)?
- Start met het verzamelen van informatie over de error
- Wat deed je op het moment van de error? Werkte je een plugin bij of activeerde je een nieuw theme?
- Analyseer de Technical Issue email van WordPress
- Gebruik WP_DEBUG om een foutmelding te zien
- Oplossen van de WordPress Internal Server Error 500
- Deactiveer je plugin of theme
- Genereer het .htaccess-bestand opnieuw
- Leeg de cache van je WordPress-website
- Vervang de WordPress-core bestanden