Een 500 Internal Server Error is een van de meest gevreesde foutmeldingen in WordPress. Op het moment dat je site offline gaat door deze fout, loop je direct bezoekers en klanten mis. Bezoekers zien alleen een blanco pagina of de melding “500 Internal Server Error” – dat staat niet bepaald professioneel. Met andere woorden: je website ligt eruit en niemand kan iets zien of doen. De HTTP-statuscode 500 is een algemene serverfout die aangeeft dat er iets onverwachts is misgegaan op de server. Geen paniek: je bent niet de enige met dit probleem, en meestal is het goed op te lossen. In dit artikel leg ik uit wat deze fout betekent, wat de veelvoorkomende oorzaken zijn, en – belangrijker – hoe je het snel kunt verhelpen.
Ik hanteer een duidelijke probleem → oplossing structuur. Eerst bespreek ik de hoofdoorzaak, gevolgd door concrete stappen om het op te lossen. De meest voorkomende oorzaken van een 500 Internal Server Error in WordPress zijn:
- Een corrupt
.htaccess-bestand (beschadigd configuratiebestand van de server) - Foutieve plugin of thema (bijv. een plugin-conflict of slecht coded thema)
- Onvoldoende PHP-geheugen (memory limit)
- Serverproblemen zoals time-outs of configuratiefouten (bijv. verkeerde bestandsrechten of PHP-versie)
- Problemen bij WordPress core updates (fouten tijdens of na het updaten van WordPress)
Ik loop deze oorzaken één voor één langs. Volg de stappen en test na elke stap of de website weer werkt. Belangrijk: maak, indien mogelijk, een back-up van je site voordat je ingrijpende wijzigingen doet. Zo kun je altijd terug als er iets misgaat.
1. Corrupt .htaccess-bestand herstellen
Een van de bekendste oorzaken van de 500 Internal Server Error is een corrupt .htaccess-bestand. Dit .htaccess bestand (een configuratiebestand voor Apache-webservers) regelt belangrijke serverinstellingen, zoals doorverwijzingen en permalinks voor WordPress. Als dit bestand beschadigd raakt of verkeerde regels bevat, kan de server je pagina’s niet goed laden en resulteert dat in een 500-fout.
Oplossing: je kunt dit doorgaans oplossen door het .htaccess-bestand tijdelijk uit te schakelen en een nieuwe, schone versie aan te maken. Volg deze stappen:
- Hernoem het
.htaccess-bestand: gebruik een FTP-programma of de bestandsbeheerder van je hosting om naar de root-map van je WordPress-site te gaan (vaak depublic_htmlofwwwfolder). Zoek het bestand genaamd.htaccess. Hernoem dit naar bijv..htaccess_oldom het huidige bestand te deactiveren. (Door de hernoeming ziet de server dit bestand niet meer, waardoor de corrupte regels genegeerd worden.) - Genereer een nieuw
.htaccess-bestand: probeer nu je website opnieuw te laden of log in op je WordPress-dashboard. Ga in WordPress naar Instellingen → Permalinks en klik op Opslaan zonder iets te wijzigen. WordPress zal proberen automatisch een nieuw standaard.htaccess-bestand aan te maken met de correcte standaardregels. - Handmatige methode (indien nodig): werkt de bovenstaande stap niet of kun je niet in WordPress inloggen, maak dan zelf een nieuw
.htaccess-bestand aan. Open een teksteditor en kopieer de standaard.htaccess-inhoud van WordPress (deze is te vinden in de officiële WordPress documentatie). Upload dit nieuwe bestand naar de root-map en vervang daarmee het oude bestand. Zorg dat de bestandsnaam precies.htaccessis (geen extensie). - Controleer de site: refresh je website. In veel gevallen is de 500-fout nu verdwenen als een corrupte
.htaccessde boosdoener was. WordPress gebruikt nu immers een schoon configuratiebestand.
Tip: bewaar het oude, hernoemde bestand nog even. Als de fout hiermee opgelost is, kun je het oude bestand weggooien. Was dit niet de oorzaak, dan kun je het oude .htaccess eventueel terugplaatsen (door het weer .htaccess te noemen) en verder zoeken.
2. Foutieve plugin of thema uitschakelen (plugin-/themaconflict)
Een andere veelvoorkomende oorzaak is een fout in een plugin of thema. Plugins en thema’s breiden WordPress uit, maar kunnen ook codefouten of conflicten bevatten. Het installeren van een nieuwe plugin of het updaten van een thema kan soms ineens een 500 Internal Server Error veroorzaken. Bijvoorbeeld: misschien heb je net een plugin geüpdatet en vanaf dat moment doet de site het niet meer. Incompatibiliteit tussen een plugin/thema en de rest van de site is dan waarschijnlijk de boosdoener.
Oplossing: om erachter te komen of een plugin of thema de fout veroorzaakt, schakel je ze tijdelijk uit. Het idee is om te isoleren welke extensie het probleem geeft.
A) Plugins controleren
Volg deze stappen om een mogelijke probleemplugin te vinden:
- Deactiveer alle plugins ineens: als je nog toegang hebt tot je WordPress-dashboard, ga dan naar Plugins en deactiveer alle actieve plugins. (Je kunt in het overzicht alle plugins selecteren en kiezen voor Deactiveren.) Hierdoor worden alle plugins uitgeschakeld. Kun je niet inloggen in WordPress? Geen nood: log in op het hostingcontrolepaneel (hPanel, cPanel, DirectAdmin of vergelijkbaar) en hernoem de map
wp-content/pluginsnaar bijvoorbeeldplugins_offvia de Bestandsbeheerder. Dit schakelt eveneens alle plugins uit. - Controleer de website: laad je site opnieuw. Als de 500-fout nu verdwenen is, dan lag de oorzaak bij één van de plugins. Zo nee, dan kun je de plugin-map weer terug hernoemen naar
plugins(of in WP het vinkje bij alle plugins terug aanzetten) en verder zoeken bij het thema (zie volgende stap). - Achterhaal de schuldige plugin: als de site het doet met alle plugins uit, moet je uitvinden welke plugin de fout gaf. Schakel de plugins één voor één weer in. Dit doe je door telkens een plugin te activeren en daarna de site te testen. Herhaal dit tot de site weer crasht – de laatste ingeschakelde plugin veroorzaakt hoogstwaarschijnlijk de 500 Error.
- Verwijder of update de probleemplugin: deactiveer of verwijder de defecte plugin. Je kunt op zoek gaan naar een alternatief plugin met vergelijkbare functionaliteit, of kijken of er een update/fix beschikbaar is van de ontwikkelaar. Zorg in ieder geval dat je site weer stabiel is zonder deze plugin.
B) Thema controleren
Als plugins niet de oorzaak lijken, kan het ook aan je actieve thema liggen – vooral als de error ontstond direct na een thema-update of -wissel. Ook thema’s kunnen codefouten bevatten of niet compatibel zijn met je WordPress-versie.
- Schakel over naar een standaardthema: probeer een ander (standaard) thema te activeren. Als je bij Weergave → Thema’s in het dashboard kunt, activeer dan tijdelijk een WordPress default theme, bijvoorbeeld Twenty Twenty-* thema. Heb je geen toegang tot
wp-admin, doe het dan via de bestanden: ga in de bestandsbeheerder naarwp-content/themesen hernoem de map van je huidige thema (bijv.mijnthema→mijnthema_old). WordPress schakelt dan automatisch over op een standaardthema (mits aanwezig, anders kun je eventueel een default theme uploaden). - Test de site opnieuw: laadt de site wel met het standaardthema? Dan lag het probleem aan het vorige thema. Mogelijk is dat thema niet compatibel met jouw WordPress-versie of zit er een bug in. Je kunt het beste contact opnemen met de thema-ontwikkelaar of tijdelijk een ander thema gebruiken. Als de site nog steeds de 500-fout geeft zelfs met een default theme, dan was het thema niet de oorzaak – zet je oorspronkelijke thema-mapnaam dan weer terug en onderzoek andere oorzaken (bijv. PHP-geheugen of serverproblemen).
Door systematisch plugins en thema’s te checken, spoor je de meeste fouten als gevolg van extensies op. In de praktijk is een plugin-conflict de #1 oorzaak van 500 errors in WordPress. Neem de tijd om dit uit te sluiten voordat je verder gaat.
3. Onvoldoende PHP-geheugenlimiet verhogen
WordPress en zijn plugins draaien op PHP. Iedere site heeft een bepaalde PHP-geheugenlimiet (memory limit) – de maximale hoeveelheid geheugen die scripts mogen gebruiken. Als je site deze limiet bereikt (bijvoorbeeld door een zwaar script of te veel plugins tegelijk), kan dat een “Allowed memory size exhausted” fout of een 500 Internal Server Error veroorzaken. Met andere woorden: de server komt geheugen tekort om de pagina te laden, en breekt het proces af.
Oplossing: je kunt dit verhelpen door de PHP-geheugenlimiet te verhogen. Dit doe je via een van de volgende methoden:
- Wijzig
wp-config.php: log in op je server via FTP of File Manager en zoek het bestandwp-config.phpin de hoofdmap van WordPress. Open dit bestand voor bewerking. Voeg de volgende regel toe (bij voorkeur vlak voor/* That's all, stop editing! */):
define( 'WP_MEMORY_LIMIT', '256M' );
Hiermee vraag je WordPress om maximaal 256 MB geheugen te gebruiken. Sla het bestand op en laad de site opnieuw. (Tip: 256M is een ruime waarde; je kunt ook 128M proberen als eerste stap. Veel hosts hanteren standaard 64M of lager.)
- Alternatief via
.htaccess(voor Apache servers): je kunt ook via het.htaccess-bestand de PHPmemory_limitverhogen. Voeg bijvoorbeeld deze regel toe in.htaccess:
php_value memory_limit 256M
Sla het bestand op en test de site weer. Hostinger raadt bijvoorbeeld 256M aan als nieuwe limiet. Merk op: dit werkt alleen als jouw host toelaat dat je PHP-instellingen via .htaccess override’t.
- Alternatief via
php.ini(voor geavanceerde gebruikers): afhankelijk van je hosting kun je soms eenphp.inibestand aanpassen. Zoek daarin naarmemory_limiten zet deze op 256M of hoger. Niet elke shared host geeft hier toegang toe, dus dit is met name nuttig op een VPS of dedicated server.
Na het verhogen van de memory limit, ververs je website en kijk je of de fout is opgelost. Als de 500 error inderdaad werd veroorzaakt door geheugentekort, zou de site nu weer moeten laden. Zo niet, dan ligt de oorzaak elders of is een nog hogere limiet nodig. Let op: als je de limiet significant moet verhogen, kan dat duiden op inefficiënte code (bijvoorbeeld een plugin die lek is). In dat geval is het verstandig om te onderzoeken waarom zoveel geheugen nodig is, in plaats van onbeperkt omhoog te schroeven.
Tip: communiceer eventueel met je hostingprovider als je tegen memory limits aanloopt. Sommige hosts stellen harde grenzen; zij kunnen je adviseren of je pakket upgraden als je site structureel meer resources nodig heeft.
4. Server time-outs of configuratiefouten oplossen
Niet alle 500 Internal Server Errors worden direct door WordPress zelf veroorzaakt. Soms ligt het aan de serveromgeving of -instellingen. Enkele voorbeelden:
- Server time-out: dit gebeurt wanneer een verzoek te lang duurt en de server het proces afbreekt. Bijvoorbeeld een script dat blijft hangen of een externe API die niet reageert, kan een time-out veroorzaken. In zulke gevallen krijg je soms een specifieke 504 Timeout error, maar het kan ook resulteren in een algemene 500-fout. Bij shared hosting kan een erg hoge belasting (te veel gelijktijdige verzoeken) er ook voor zorgen dat processen worden afgebroken.
- Bestands- of maprechten (permissies): verkeerde bestandsrechten kunnen ertoe leiden dat WordPress-bestanden niet uitgevoerd mogen worden door de server, wat eveneens een Internal Server Error veroorzaakt. Bijvoorbeeld: als PHP-bestanden niet de juiste lees- en uitvoerrechten hebben (vaak 644 voor bestanden, 755 voor mappen in WordPress), dan weigert de server toegang en krijg je een 500 melding.
- PHP-configuratie en versie: een verkeerd ingestelde PHP-versie of ontbrekende extensies kunnen ook roet in het eten gooien. Stel, je draait een verouderde PHP-versie die niet compatibel is met een nieuwere plugin of WordPress zelf – dat kan tot een Internal Server Error leiden. Omgekeerd kan een te nieuwe PHP-versie soms problemen geven met erg oude plugins. Evenzo kunnen specifieke PHP-instellingen (bijv. uitgeschakelde modules of een te lage
max_execution_time) onverwachte fouten geven. - Database- of serverconfigfouten: in sommige gevallen kan een databaseprobleem (zoals een crash van de database-server) een 500 error geven, al leidt dat vaak tot een aparte melding (“Error establishing a database connection”). Ook een misconfiguratie in de webserver (Apache/Nginx) kan de boosdoener zijn, maar dit ligt bij managed hosting meestal buiten jouw invloedssfeer.
Oplossing: omdat dit soort problemen uiteenlopend zijn, is de aanpak hier vooral troubleshooten en uitsluiten. Enkele tips om servergerelateerde issues op te sporen en op te lossen:
- Check de foutlogboeken: bij een 500-fout zal er vrijwel altijd een regel worden weggeschreven in de error logs van je server. Log in op je hostingpanel en zoek naar “Error logs” of “Foutenlogboek”. Bijvoorbeeld in DirectAdmin ga je naar Systeeminfo en bestanden → Statistieken en logs. Bekijk de laatste entries rond het tijdstip dat de error optrad. De logmelding kan aangeven welk bestand of welke resource het probleem veroorzaakte. Zo’n foutmelding kan er technisch uitzien, maar vaak zie je er hints in, zoals een bestandsnaam, plugin-naam of een specifieke functie die faalde. Voorbeeld: een logregel kan melden “PHP Fatal error: Allowed memory size of 64M exhausted in /home/user/public_html/wp-content/plugins/voorbeeld-plugin/x.php on line 123” – dit wijst op een memory issue veroorzaakt door die plugin. Of een melding zoals “Permission denied in /wp-admin/…” duidt op verkeerde bestandsrechten. Gebruik deze informatie om gericht actie te ondernemen (bijv. memory verhogen, plugin verwijderen, rechten aanpassen).
- Zet debugging aan in WordPress: WordPress heeft een ingebouwde debug-modus. Door deze in te schakelen, kun je vaak direct op het scherm zien wat er misgaat in plaats van alleen een 500 melding. Schakel debug-modus in door in
wp-config.phpde regeldefine('WP_DEBUG', true);toe te voegen (of op true te zetten als hij er al staat), en voeg ookdefine('WP_DEBUG_LOG', true);toe zodat fouten naar het logbestand worden geschreven. Laad de site opnieuw – nu zie je als het goed is de PHP-foutmelding of notice op de pagina verschijnen, of wordt deze weggeschreven naarwp-content/debug.log. Schakel deze modus weer uit (zet false) zodra je klaar bent, want bezoekers mogen deze foutmeldingen niet blijven zien op een live site. - Controleer (en verander) de PHP-versie: ga na welke PHP-versie je hosting momenteel gebruikt. In moderne hostingpanelen kun je vaak zelf de PHP-versie instellen. Probeer te switchen naar een hogere versie (bijv. PHP 8.1 of 8.2) of juist naar een iets lagere stabiele versie, en kijk of dat verschil maakt. Een “Incompatible PHP version” is genoemd als mogelijke oorzaak van 500 errors, met name als bepaalde plugins functies gebruiken die alleen in nieuwere PHP-versies bestaan. Zorg dat je PHP-versie voldoet aan de aanbevelingen van WordPress (momenteel minimaal PHP 7.4, maar liever 8.x).
- Herstel bestandspermissies: controleer of de bestanden en mappen van je WordPress site de juiste rechten hebben. Vaak kun je dit via het hostingcontrol panel doen (sommige panels hebben een optie “Permissies herstellen”). Standaard moeten
wp-content,wp-includes,wp-adminmappen meestal 755 hebben, en de meeste bestanden 644. Pas dit indien nodig aan en test opnieuw. - Schakel zware processen tijdelijk uit: als je vermoedt dat een time-out door een zware plugin (bijv. een backup-plugin of security scan) de boosdoener is, schakel die plugin dan (tijdelijk) uit en kijk of de error wegblijft. Optimaliseer je site door caching te gebruiken en onnodige plugins te vermijden, zodat de server minder snel overbelast raakt. Bij structurele time-outs kan een upgrade naar een krachtiger hostingpakket nodig zijn. Een 500-fout die door zware belasting ontstaat, is een signaal dat je website de grenzen van de huidige server bereikt – meer CPU, geheugen of een betere configuratie kan dit voorkomen.
Kortom, bij servergerelateerde 500-errors komt het neer op monitoren en fine-tunen. Maak gebruik van logging en debugging om de exacte oorzaak te vinden, en los die specifiek op. Als je er zelf niet uitkomt, schroom niet om je hosting support te contacteren – zij kunnen vaak in de serverlogs kijken en je precies vertellen wat er misging.
5. Problemen na WordPress-core update oplossen
Soms verschijnt de 500 Internal Server Error juist na een WordPress-update. Je hebt bijvoorbeeld WordPress geüpdatet naar de nieuwste versie, en ineens werkt de site niet meer. Dit kan erg frustrerend zijn. Vaak komt dit doordat één van de plugins of je thema nog niet compatibel is met de nieuwe WordPress-versie, of omdat er tijdens de update iets misging. Het is bekend dat na een WordPress-update bepaalde plugins kunnen stoppen met functioneren en een 500 error veroorzaken.
Oplossing: neem de volgende stappen wanneer je site crasht na een WordPress core update:
- Herhaal stap 2 (plugins/thema’s controleren): de eerste verdachte bij een crash na een update is een plugin of thema conflict. Volg de eerder beschreven procedures: deactiveer alle plugins en schakel over naar een standaardthema. Op die manier check je of de fout verdwijnt zodra de update “alleen” draait zonder extra’s. Zo ja, dan is één van de plugins of het thema niet geschikt voor de nieuwe WP-versie. Werk de betreffende plugin/thema bij naar de nieuwste versie, of zoek een alternatief als er (nog) geen update is. Veel plugin-ontwikkelaars brengen snel updates uit zodra er incompatibiliteit met een nieuwe WP-versie blijkt.
- Core-bestanden herstellen: als het probleem niet aan een plugin of thema ligt, kan het zijn dat tijdens de update sommige kernbestanden corrupt geraakt zijn of niet goed zijn doorgevoerd. In dat geval kun je overwegen de WordPress core-bestanden handmatig te vervangen zonder je content aan te tasten. Download van wordpress.org het laatste WordPress-pakket (zip-bestand). Pak dit uit op je computer. Verwijder in dat uitgepakte pakket de map
wp-content(om te voorkomen dat je jouw uploads/plugins overschrijft) en het bestandwp-config-sample.php. Upload vervolgens alle overige bestanden en mappen naar je server via FTP, zodat ze de bestaande WordPress-bestanden overschrijven. Hiermee ververs je de core naar een schone versie. Let op: overschrijf niet dewp-contentmap en raakwp-config.phpniet aan op de server! Alleen de kernbestanden zoals alles inwp-includesenwp-adminen de losse bestanden in de root (behalvewp-config.php) moeten vervangen worden. Zodra dit voltooid is, laad je de site opnieuw. Veel update-gerelateerde problemen worden hiermee opgelost. (Maak vooraf altijd een back-up voor de zekerheid, hoewel je content en instellingen bij deze handeling normaal behouden blijven.) - Database update uitvoeren: soms is na een WordPress-update ook een database-upgrade nodig. Als de front-end een 500 error geeft maar je kunt wel in
wp-admin, kijk dan of er een melding staat om de database bij te werken, of ga handmatig naarhttp://jouw-site.nl/wp-admin/upgrade.php. Voer de upgrade uit als dat gevraagd wordt. - Rollback als laatste redmiddel: in zeer zeldzame gevallen wil niets werken en is je site direct na de update onbruikbaar. Als je een back-up hebt van vóór de update, kun je overwegen een rollback te doen – zet de back-up terug zodat je weer op de oude WP-versie zit. Dit geeft je tijd om het probleem uit te zoeken (bijv. in een testomgeving) voordat je opnieuw update. Een snelle oplossing als je site echt weer live moet, is deze rollback, maar bedenk wel dat dit tijdelijk is; je wilt uiteindelijk up-to-date blijven voor veiligheid.
De sleutel bij update-problemen is om uit te vinden wat er precies misloopt door de update. In veel gevallen is het dus toch weer een plugin of theme incompatibiliteit (op te lossen door updates of vervangen). In andere gevallen is de update zelf fout gegaan, wat je met een her-installatie van WordPress kunt verhelpen. Zorg ervoor dat je altijd een recente back-up hebt vóórdat je een core-update uitvoert, zodat je in noodgevallen kunt terugvallen.
Tips om 500-fouten in de toekomst te voorkomen
Voorkomen is beter dan genezen. Hoewel je nooit 100% kunt uitsluiten dat er iets misgaat, kun je de kans op een 500 Internal Server Error in WordPress aanzienlijk verkleinen door de volgende best practices te volgen:
- Houd WordPress, thema’s en plugins up-to-date: verouderde software is een veelvoorkomende oorzaak van errors. Updates bevatten vaak bugfixes en verbeteringen die dergelijke fouten voorkomen. Update echter met beleid: lees de changelogs en update één voor één, zodat je weet wat een eventuele fout veroorzaakt. Gebruik eventueel een staging omgeving om updates eerst te testen voordat je ze op je live-site doorvoert.
- Kies betrouwbare plugins en thema’s: installeer bij voorkeur plugins/themes uit officiële of gerenommeerde bronnen, met goede reviews en regelmatige updates. Te veel obscure plugins vergroten de kans op conflicten. Probeer ook niet onnodig veel plugins te gebruiken; hoe complexer je site, hoe meer er fout kan gaan.
- Monitor je site: maak gebruik van monitoring tools die je waarschuwen als je site offline gaat (bijv. een uptime monitor die elke minuut je site checkt). Zo weet je meteen als er een probleem is, ook als je zelf niet constant controleert. Je kunt dan direct ingrijpen voordat bezoekers afhaken. Kinsta raadt bijvoorbeeld aan om zo’n monitoring tool te gebruiken zodat je direct notificaties krijgt bij downtime.
- Gebruik de ingebouwde Site Health functies: WordPress heeft een Site Health (Site Gezondheid) functie onder Gereedschap → Site gezondheid. Deze controleert je site op bekende problemen en geeft adviezen. Bijvoorbeeld, het waarschuwt je als je een oude PHP-versie draait of als er beveiligingsissues zijn. Neem deze aanbevelingen serieus – ze kunnen je behoeden voor fouten.
- Maak regelmatig back-ups: zorg voor een goed back-upregime (dagelijks of wekelijks, afhankelijk van hoe vaak je site verandert). Met recente back-ups kun je bij een ernstige fout altijd snel terug naar een werkende versie. Dit beperkt de downtime en stress. Er zijn tal van betrouwbare back-up plugins, of gebruik de back-upfunctie van je hosting als die er is. Test af en toe of je back-ups ook goed terug te zetten zijn.
- Upgrade je hosting tijdig: draait jouw site structureel tegen de limieten van je server aan (bijvoorbeeld vaak bijna al het geheugen of CPU verbruikt)? Overweeg dan te upgraden naar een zwaarder pakket of een betere host. Veel 500-errors bij piekbelasting of tijdrovende processen zijn te verhelpen door meer serverresources of een efficiëntere hostingarchitectuur.
Tot slot, wees niet bang om hulp te vragen. Een goede host ondersteunt je bij het troubleshooten van hardnekkige serverfouten. Liever voorkomen? Daar kom ik bij de afsluiting op terug.
Samenvatting en vervolgstap
Een 500 Internal Server Error in WordPress is vervelend, maar meestal oplosbaar. Ik heb gezien dat de oorzaak vaak te vinden is in een corrupt .htaccess-bestand, een slechte plugin of thema, een te lage PHP-geheugenlimiet, serverconfiguratieproblemen of een mislukte update. Door stap voor stap de bovenstaande oplossingen toe te passen, kun je in de meeste gevallen je site weer online krijgen.
Belangrijk is om rustig te troubleshooten: wijzig één ding tegelijk en test steeds of de site terugkomt. Zo kom je erachter wat de boosdoener was, en kun je gericht actie ondernemen.
Liever hulp zonder gedoe? Kijk gerust naar mijn managed WordPress hosting. Anders hoop ik dat de stappen hierboven je weer op weg helpen.