Je opent jouw website en krijgt de gevreesde foutmelding "500 Internal Server Error" te zien. Je website werkt niet meer en toont alleen nog maar een witte pagina of een cryptische foutmelding. Geen paniek — in deze uitgebreide handleiding leggen we stap voor stap uit wat een 500 error betekent, wat de oorzaken zijn en hoe je het snel oplost.

Wat is een HTTP 500 error?

De HTTP 500 statuscode staat voor Internal Server Error. Dit is de meest generieke server-side foutmelding en betekent dat er iets onverwachts is misgegaan op de webserver waardoor je pagina niet geladen kan worden.

In tegenstelling tot een 503 error (server tijdelijk niet beschikbaar) of een 404 error (pagina niet gevonden), geeft een 500 error geen specifieke oorzaak aan. De server weet alleen dat er iets fout is gegaan, maar niet precies wat.

Veelvoorkomende oorzaken zijn:

  • PHP syntax fouten — een typfout in je code, plugin of thema
  • Corrupt .htaccess bestand — onjuiste rewrite-regels of conflicterende instellingen
  • PHP memory limit bereikt — je script verbruikt meer geheugen dan toegestaan
  • Foutieve bestandspermissies — bestanden of mappen hebben verkeerde rechten
  • Kapotte plugin of thema — een recente update heeft een conflict veroorzaakt
  • Database connectie probleem — de database is vol, offline of beschadigd
  • PHP versie incompatibiliteit — je code werkt niet met de huidige PHP versie

Het goede nieuws: een 500 error is vrijwel altijd oplosbaar als je weet waar je moet zoeken.

Variaties van de 500 error

De 500 foutmelding kan op verschillende manieren verschijnen, afhankelijk van je browser, server of CMS. Zodra je de code 500 ziet, weet je dat je bij deze handleiding goed zit.

FoutmeldingOmschrijving
500 Internal Server ErrorMeest voorkomende variant
HTTP Error 500Standaard HTTP-foutmelding
HTTP 500 - Internal Server ErrorAlternatieve weergave
500 ErrorVerkorte variant
HTTP Error 500.0 - Internal Server ErrorIIS/Windows server variant
The page isn't working - HTTP ERROR 500Chrome-specifieke weergave
Er is een technische fout opgetredenWordPress-specifieke weergave
Internal Server Error - The server encountered an internal errorUitgebreide Apache variant

500 error als bezoeker oplossen

Ben je een bezoeker van een website die een 500 error toont? Het probleem ligt bij de server, niet bij jou. Toch zijn er een paar dingen die je kunt proberen:

  1. Ververs de pagina — druk op F5 of Ctrl+R. Soms is de fout tijdelijk en verdwijnt hij na een refresh.
  2. Wacht een paar minuten — de beheerder werkt mogelijk al aan een oplossing. Probeer het over 5-10 minuten opnieuw.
  3. Leeg je browsercache — ga naar je browserinstellingen en verwijder de cache en cookies voor de betreffende website.
  4. Probeer een andere browser — soms ligt het aan een browserextensie die conflicteert met de website.
  5. Controleer of de site voor iedereen down is — gebruik een dienst zoals downdetector.nl om te controleren of andere gebruikers hetzelfde probleem ervaren.

Werkt het nog steeds niet? Neem dan contact op met de websitebeheerder — het probleem moet aan de serverzijde worden opgelost.

500 error als website-eigenaar oplossen

Ben je de eigenaar van de website? Volg dan onderstaande 9 stappen om de oorzaak te vinden en op te lossen.

1. Controleer de PHP error logs

De allerbelangrijkste stap: controleer je logbestanden. De error log vertelt je precies welk bestand en welke regel de fout veroorzaakt.

Log in op het controlepaneel van je hostingpakket (zoals DirectAdmin of cPanel) en zoek naar de PHP error log of Apache error log.

Voorbeeld logregel:

[Wed Jan 15 09:23:45 2026] [error] PHP Fatal error: Uncaught Error: Call to undefined function custom_function() in /home/user/domains/domein.nl/public_html/wp-content/themes/mytheme/functions.php on line 47

In dit voorbeeld zie je dat het bestand functions.php op regel 47 een onbekende functie aanroept. Het pad /themes/mytheme/ vertelt je dat het probleem in je thema zit.

Tip: Kijk naar de meest recente regels in het logbestand — de fout die je zoekt staat bijna altijd onderaan.

2. Hernoem het .htaccess bestand

Een corrupt of foutief .htaccess bestand is een van de meest voorkomende oorzaken van een 500 error. Test dit door het bestand tijdelijk te hernoemen:

  1. Log in via FTP of de bestandsbeheerder van je controlepaneel
  2. Zoek het bestand .htaccess in de root van je website
  3. Hernoem het naar .htaccess-backup
  4. Ververs je website

Werkt je website weer? Dan bevat je .htaccess een fout. Maak een nieuw bestand aan met de standaard WordPress regels:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

3. Deactiveer plugins via FTP

Als je niet meer kunt inloggen in WordPress, kun je plugins deactiveren via FTP:

  • Verbind via FTP met je website
  • Navigeer naar /wp-content/plugins/
  • Hernoem de map naar plugins-disabled
  • Ververs je website — als hij weer werkt, lag het aan een plugin
  • Hernoem de map terug naar plugins
  • Activeer plugins één voor één via het WordPress-dashboard om de boosdoener te vinden

Vaak is de laatst geactiveerde of bijgewerkte plugin de oorzaak. Begin daar met testen.

4. Schakel over naar een standaard thema

Een foutief thema kan ook een 500 error veroorzaken. Test dit door via FTP je actieve themamap te hernoemen (bijv. mytheme naar mytheme-disabled). WordPress schakelt automatisch over naar een standaardthema zoals Twenty Twenty-Four.

Werkt je site weer? Dan bevat je thema een fout. Controleer of er een thema-update beschikbaar is, of neem contact op met de thema-ontwikkelaar.

5. Verhoog de PHP memory limit

PHP heeft een standaard geheugenlimiet (vaak 128MB of 256MB). Als je website meer geheugen nodig heeft, krijg je een 500 error. Verhoog de limiet op een van deze manieren:

Via wp-config.php:

define('WP_MEMORY_LIMIT', '512M');

Via php.ini of .user.ini:

memory_limit = 512M

Via .htaccess (Apache):

php_value memory_limit 512M

Via DirectAdmin: Ga naar je controlepaneel → PHP Selector → memory_limit en stel deze in op 512M.

Heb je structureel meer geheugen nodig? Overweeg een upgrade naar een VPS met dedicated resources.

6. Controleer bestandspermissies

Verkeerde bestandspermissies kunnen ervoor zorgen dat de server bestanden niet kan lezen of uitvoeren. De juiste permissies voor WordPress zijn:

  • Mappen: 755 (rwxr-xr-x)
  • Bestanden: 644 (rw-r--r--)
  • wp-config.php: 640 of 600 (extra beveiligd)

Controleer en herstel permissies via FTP of SSH:

find /pad/naar/website -type d -exec chmod 755 {} \;
find /pad/naar/website -type f -exec chmod 644 {} \;

Let op: Stel permissies nooit in op 777 — dit is een ernstig beveiligingsrisico.

7. Controleer de database

Een corrupte of volle database kan ook een 500 error veroorzaken. Controleer dit door in te loggen op phpMyAdmin via je controlepaneel.

  • Database repareren: Selecteer alle tabellen → kies "Repareer tabel" uit het dropdown-menu
  • Database optimaliseren: Selecteer alle tabellen → kies "Optimaliseer tabel"
  • wp-config.php controleren: Controleer of de database-gegevens (host, naam, gebruiker, wachtwoord) correct zijn

Je kunt ook WordPress database repair mode activeren door dit toe te voegen aan wp-config.php:

define('WP_ALLOW_REPAIR', true);

Ga vervolgens naar yoursite.com/wp-admin/maint/repair.php. Vergeet niet om deze regel weer te verwijderen na de reparatie.

8. Schakel WP_DEBUG in

Als de error logs niet genoeg informatie geven, schakel WordPress Debug Mode in voor meer gedetailleerde foutmeldingen:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Hierdoor worden alle PHP-fouten en waarschuwingen gelogd in /wp-content/debug.log zonder dat bezoekers de foutmeldingen zien. Controleer dit bestand voor aanwijzingen over de oorzaak.

Belangrijk: Schakel WP_DEBUG altijd weer uit (false) zodra je klaar bent met debuggen. Een actieve debug mode kan gevoelige informatie lekken en vertraagt je website.

9. Controleer de PHP versie

Een verkeerde PHP versie kan incompatibiliteit veroorzaken met je WordPress-installatie, plugins of thema. Controleer welke PHP versie je draait:

  • Log in op je controlepaneel (DirectAdmin of cPanel)
  • Ga naar PHP Selector of PHP-instellingen
  • Controleer de huidige versie

WordPress 6.x vereist minimaal PHP 7.4, maar PHP 8.1 of 8.2 wordt aanbevolen voor de beste prestaties en beveiliging. Als je een oudere versie draait, upgrade dan naar PHP 8.1 of hoger.

Let op: Test na een PHP upgrade altijd of alle plugins en thema's nog correct werken. Sommige oudere plugins zijn niet compatibel met PHP 8.x.

500 errors voorkomen

Voorkomen is beter dan genezen. Met deze maatregelen minimaliseer je de kans op 500 errors:

  • Maak regelmatig backups — maak dagelijks automatische backups zodat je snel kunt herstellen bij problemen
  • Test updates op een staging-omgeving — update nooit plugins, thema's of WordPress core direct op je live site
  • Houd software up-to-date — verouderde software is de grootste oorzaak van 500 errors
  • Gebruik een betrouwbare host — kies een hostingprovider met goede server monitoring en snelle support
  • Installeer een uptime monitor — diensten zoals UptimeRobot waarschuwen je direct bij downtime
  • Beperk het aantal plugins — elke plugin vergroot de kans op conflicten en fouten
  • Gebruik versiebeheer — met Git kun je wijzigingen bijhouden en snel terugdraaien bij problemen

Verschil tussen 500, 502 en 503 errors

HTTP error codes in het 5xx-bereik duiden allemaal op serverproblemen, maar elke code heeft een andere betekenis:

Error codeNaamBetekenisMeest voorkomende oorzaak
500Internal Server ErrorOnbekende serverfoutPHP fout, .htaccess, permissies
502Bad GatewayOngeldige respons van upstream serverPHP-FPM crash, proxy timeout
503Service UnavailableServer tijdelijk niet beschikbaarOverbelasting, onderhoud

Bij een 500 error is de server "kapot" (interne fout), bij een 502 is de communicatie tussen servers fout, en bij een 503 is de server te druk.

Veelgestelde vragen over de 500 error

Wat betekent HTTP Error 500 Internal Server Error precies?

De HTTP 500 statuscode is een generieke server-side foutmelding. Het betekent dat de webserver een onverwacht probleem tegenkwam waardoor het verzoek niet kon worden verwerkt. De server weet dat er iets fout is gegaan, maar kan niet precies aangeven wat. Daarom is het controleren van de error logs altijd de eerste stap bij het debuggen.

Wat is de meest voorkomende oorzaak van een 500 error?

Bij WordPress-websites is een corrupt .htaccess bestand of een foutieve plugin de meest voorkomende oorzaak. Bij andere websites zijn PHP syntax fouten en verkeerde bestandspermissies de grootste boosdoeners. In alle gevallen geeft de PHP error log de meest directe aanwijzing voor de oorzaak.

Kan een 500 error vanzelf verdwijnen?

In zeldzame gevallen wel, bijvoorbeeld als de server tijdelijk overbelast was of als een achtergrondproces vastliep en automatisch werd herstart. Maar in de meeste gevallen vereist een 500 error actie van de websitebeheerder. Wacht niet af — controleer je error logs en los het probleem op.

Heeft een 500 error invloed op mijn Google-positie?

Een korte 500 error (enkele minuten) heeft zelden impact op je SEO. Maar als Google herhaaldelijk een 500 error tegenkomt bij het crawlen van je pagina's, kan dit leiden tot deïndexatie en een daling in je zoekresultaten. Los 500 errors daarom altijd zo snel mogelijk op en monitor je site met Google Search Console.

Hoe voorkom ik 500 errors bij WordPress updates?

Maak altijd een volledige backup voordat je WordPress, plugins of thema's bijwerkt. Update plugins één voor één (niet allemaal tegelijk) en test na elke update of je site nog correct werkt. Gebruik bij voorkeur een staging-omgeving om updates eerst te testen voordat je ze op je live site doorvoert. Kies ook een betrouwbare WordPress hosting met automatische backups.

Op zoek naar betrouwbare hosting zonder 500 errors? Bekijk onze webhostingpakketten met LiteSpeed, NVMe SSD en 99,9% uptime garantie. Of kies voor een VPS met volledige controle en dedicated resources.