In dit artikel
WordPress werkt niet meer? Kijk eerst naar de melding op je scherm. Bij een kritieke fout of een wit scherm is bijna altijd een plugin, thema of PHP-update de oorzaak: gebruik de herstelmail van WordPress of zet plugins uit via FTP. Hangt je site in onderhoudsmodus, dan verwijder je het bestand .maintenance. Bij een databasefout controleer je wp-config.php of bel je je host.
WordPress werkt niet meer: kijk eerst welke melding je ziet
WordPress werkt niet meer en je website toont een foutmelding, een leeg wit scherm of een melding over onderhoud. Vervelend, maar bijna altijd op te lossen. De melding zelf vertelt je waar je moet zoeken, dus schrijf hem letterlijk op of maak een screenshot.
Ga niet meteen WordPress opnieuw installeren of bestanden weggooien: daarmee maak je het vaak erger. Werk de stappen hieronder af van makkelijk en veilig naar technischer.
| Wat je ziet | Meest waarschijnlijke oorzaak | Eerste stap |
|---|---|---|
| Kritieke fout op deze site | Plugin, thema of PHP-versie | Herstelmail van WordPress zoeken |
| Wit scherm zonder tekst | Fatale fout of te weinig geheugen | Plugins uitzetten, WP_DEBUG aanzetten |
| Melding over gepland onderhoud | Update is halverwege afgebroken | Bestand .maintenance verwijderen |
| Fout bij het maken van de databaseconnectie | Verkeerde gegevens of databaseserver plat | wp-config.php controleren, host bellen |
| 500 Internal Server Error | Beschadigd .htaccess-bestand of serverfout |
.htaccess hernoemen, host bellen |
Kun je nog inloggen? Maak dan eerst een back-up. Kun je niet meer inloggen, vraag je hostingpartij dan of er een recente back-up van je site is. Veel hosts bewaren er een paar.
"Er is een kritieke fout op deze website": zo los je het op
Dit is de bekendste melding. De exacte zin verschilt per WordPress-versie en taalinstelling. Je ziet bijvoorbeeld "Er heeft zich een kritieke fout voorgedaan op deze site", "Er is een kritieke fout op deze site opgetreden" of in het Engels "There has been a critical error on this website".
Achter de melding zit een fatale PHP-fout: code die zo fout gaat dat WordPress stopt. In de praktijk is dat bijna altijd een plugin of thema dat net is bijgewerkt, of een plugin die niet overweg kan met een nieuwere PHP-versie op je server. Sinds WordPress 5.2 vangt WordPress zo'n fout op en toont het deze melding in plaats van een leeg scherm.
Stap 1: zoek de herstelmail van WordPress
Bij een fatale fout in een plugin of thema stuurt WordPress een e-mail naar het beheerdersadres van je site. Het onderwerp meldt dat je site een technisch probleem heeft (in het Engels: "Your Site is Experiencing a Technical Issue"). Zoek ook in je spammap en in de mailbox van degene die de site ooit heeft opgezet, want daar komt die mail vaak terecht.
In de mail staat welke plugin of welk thema de fout veroorzaakt, met het bestand en de regel waar het misging. Je krijgt er ook een speciale link bij. Daarmee log je in in de herstelmodus: WordPress pauzeert de kapotte plugin alleen voor jou, zodat je weer in je dashboard kunt.
Zo ga je verder in de herstelmodus:
- Klik op de link in de mail en log in.
- Ga naar Plugins. Bij de plugin die de fout veroorzaakt, staat een melding.
- Deactiveer die plugin.
- Verlaat de herstelmodus via de knop in de bovenbalk en controleer of je site weer werkt.
Hangen er belangrijke functies van die plugin af, zoals je webshop of je formulieren? Zoek dan een nieuwere versie of een vervanger, of vraag de maker om hulp. Zet hem pas weer aan als de fout is opgelost.
Komt de herstelmail niet aan? Dan verstuurt je website waarschijnlijk helemaal geen betrouwbare mail. Dat is een apart probleem, dat je ook terugziet als je contactformulier in WordPress niet werkt.
Stap 2: geen mail? Zet plugins uit via FTP of bestandsbeheer
Zonder herstelmail zet je plugins uit via de bestanden van je website. Log in bij je hostingpartij en open het bestandsbeheer, of maak verbinding met een FTP-programma zoals FileZilla.
- Ga naar de map
wp-content/plugins. - Weet je welke plugin als laatste is bijgewerkt? Hernoem dan alleen die map, bijvoorbeeld van
naam-van-pluginnaarnaam-van-plugin-uit. - Weet je het niet? Hernoem de hele map
pluginsnaarplugins_old. Dat zet alle plugins in één keer uit. - Laad je website opnieuw. Werkt hij weer, dan zat de fout in een plugin.
- Log in en open Plugins. WordPress meldt dat de plugins zijn uitgeschakeld omdat hun bestanden ontbreken.
- Geef de map zijn oude naam terug en activeer de plugins één voor één. Controleer na elke plugin je site. Gaat het weer mis, dan weet je welke de boosdoener is.
Stap 3: ligt het aan je thema?
Werkt de site nog steeds niet met alle plugins uit, kijk dan naar je thema. Hernoem in wp-content/themes de map van je actieve thema. WordPress valt dan terug op een standaardthema, mits er een geïnstalleerd is. Dat zijn de thema's waarvan de naam met "Twenty" begint.
Je site ziet er dan anders uit, maar je weet of het thema de oorzaak is. Gebruik je een child theme, kijk dan ook naar recente aanpassingen in het bestand functions.php. Een fout in één regel daar is genoeg om de hele site plat te leggen.
WordPress wit scherm: zo vind je de oorzaak
Een helemaal wit scherm, zonder tekst, heet in de WordPress-wereld het "white screen of death". De oorzaken zijn grotendeels dezelfde als bij de kritieke fout: een plugin, een thema of een PHP-fout. Soms heeft PHP te weinig geheugen. Begin daarom met stap 2 en 3 hierboven.
Helpt dat niet, zet dan de foutmeldingen aan. Open via FTP of bestandsbeheer het bestand wp-config.php in de hoofdmap van je site. Zet deze regels boven de zin "That's all, stop editing!":
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Laad de pagina opnieuw. WordPress schrijft de fouten nu weg in het bestand wp-content/debug.log, zonder ze aan bezoekers te tonen. Kijk naar de onderste, nieuwste regels. Daar staat meestal het pad naar een plugin- of themamap: dat is je verdachte.
Zet WP_DEBUG daarna weer op false. WordPress raadt zelf af om debuggen op een live site aan te laten staan. Het logbestand kan ook informatie bevatten die je niet openbaar wilt hebben.
Staat er in het log iets over "Allowed memory size exhausted"? Dan heeft PHP te weinig geheugen. Je kunt dat verhogen met een regel als define( 'WP_MEMORY_LIMIT', '256M' ); in wp-config.php, maar je host bepaalt het maximum. Vraag je host dan om meer geheugen, of zoek uit welke plugin zoveel vraagt.
Zie je het witte scherm alleen zelf en niet op je telefoon? Leeg dan je browsercache en de cache van je cacheplugin of hosting. Soms staat er nog een kapotte versie van de pagina in de cache, terwijl de fout al is opgelost.
WordPress onderhoudsmodus uitschakelen
Zie je de melding "Tijdelijk niet beschikbaar vanwege gepland onderhoud. Probeer het over enkele minuten nog een keer." of in het Engels "Briefly unavailable for scheduled maintenance. Check back in a minute."? Dan zit je site in de onderhoudsmodus van WordPress.
Die modus is normaal tijdens een update. WordPress zet dan een verborgen bestand .maintenance in de hoofdmap van je site en haalt het weg als de update klaar is. Wordt de update onderbroken, bijvoorbeeld door een time-out of omdat je het venster sloot, dan blijft dat bestand staan.
Zo los je het op:
- Wacht eerst tien minuten. WordPress negeert een
.maintenance-bestand dat ouder is dan tien minuten. Vaak lost het zich dus vanzelf op. - Staat de melding er daarna nog? Open dan het bestandsbeheer of je FTP-programma en zet het tonen van verborgen bestanden aan.
- Verwijder het bestand
.maintenancein de map waar ookwp-config.phpstaat. Verwijder alleen dat bestand. - Leeg de cache van je site, je hosting en eventueel je CDN. Een cache kan de oude onderhoudspagina nog even blijven tonen.
- Log in en kijk bij Updates of alles is bijgewerkt. Een update die halverwege stopte, kan een plugin half bijgewerkt achterlaten. Voer die update opnieuw uit.
Krijg je na het verwijderen een kritieke fout te zien? Dan is de update van een plugin mislukt. Ga terug naar de stappen bij de kritieke fout.
Zie je een eigen onderhoudspagina met je logo, een aftelklok of de tekst "binnenkort online"? Dan komt die niet van WordPress, maar van een plugin of je paginabouwer. Die zet je uit in de instellingen van die plugin.
"Fout bij het maken van de databaseconnectie"
Bij deze melding kan WordPress je database niet bereiken. In de Nederlandse vertaling staat er "Fout bij het maken van de databaseconnectie", in het Engels "Error establishing a database connection". Je content is meestal niet weg. WordPress kan er alleen niet bij.
Volgens de documentatie van WordPress zit de oorzaak meestal in het bestand wp-config.php. Controleer daar vier gegevens: DB_NAME, DB_USER, DB_PASSWORD en DB_HOST. Vergelijk ze met de databasegegevens in je hostingpaneel. Is je databasewachtwoord onlangs gewijzigd, of is de site net verhuisd? Dan zit het bijna zeker hier.
Kloppen de gegevens, dan ligt het probleem vaak bij de server. De databaseserver kan overbelast of tijdelijk plat zijn. Dat los je niet zelf op: bel of mail je host.
Is de database beschadigd, dan heeft WordPress een eigen reparatiescript. Zet tijdelijk define( 'WP_ALLOW_REPAIR', true ); in wp-config.php en open /wp-admin/maint/repair.php op je eigen domein. Haal de regel direct weer weg als je klaar bent, want het script is zonder inloggen bereikbaar.
Ligt het aan de PHP-versie of je hosting?
WordPress draait op PHP, de programmeertaal op je server. WordPress raadt een recente PHP-versie aan: bij het schrijven van dit artikel 8.3 of hoger. Hosts schakelen oude versies na verloop van tijd uit en zetten sites dan over op een nieuwere versie. Een verouderde plugin of een oud thema kan daar niet altijd mee overweg.
Zag je de fout direct nadat je host of jij de PHP-versie heeft aangepast? Zet de versie dan tijdelijk terug in je hostingpaneel. Werkt je site weer, dan weet je dat een plugin of thema moet worden bijgewerkt of vervangen. Blijf niet op een verouderde PHP-versie hangen, want die krijgt geen beveiligingsupdates meer.
Krijg je een "500 Internal Server Error"? Dan is volgens WordPress een beschadigd .htaccess-bestand de meest waarschijnlijke oorzaak. Hernoem het via FTP naar .htaccess_old en kijk of je site weer laadt. Werkt hij, ga dan naar Instellingen en daarna Permalinks en klik op Opslaan. WordPress maakt dan een nieuw bestand aan.
Wanneer bel je je host?
Bel je host als geen van de stappen helpt, als je niet bij je bestanden kunt of als de database niet bereikbaar is. Vertel dan concreet:
- welke melding je ziet, letterlijk;
- sinds wanneer, zo precies mogelijk;
- wat er vlak daarvoor is veranderd, zoals een update of een nieuwe plugin;
- dat je de foutlog van de server wilt zien. Daarin staat vaak precies welk bestand de fout veroorzaakt.
Een host kan ook een back-up terugzetten van vóór het moment dat het misging. Zie je naast de foutmelding verdachte dingen, zoals onbekende beheerders, vreemde doorverwijzingen of bestanden die je niet kent? Dan is je site mogelijk gehackt. Lees dan wat je doet als je WordPress website gehackt is.
Zo voorkom je dat je WordPress website weer plat gaat
De meeste storingen ontstaan bij een update die niemand controleert. Updates overslaan is geen oplossing, want verouderde plugins zijn een van de bekendste ingangen voor hackers. Het gaat om de manier waarop je bijwerkt.
- Test grote updates eerst. Gebruik een testomgeving (staging) bij je host, of werk bij op een rustig moment terwijl je de site direct controleert.
- Zorg voor automatische back-ups. Dagelijks, en op een andere plek dan je website zelf.
- Houd het aantal plugins klein. Elke plugin is code van een andere maker. Verwijder wat je niet gebruikt.
- Laat je site in de gaten houden. Een uptime-monitor waarschuwt je als je site plat ligt, voordat een klant het merkt.
- Controleer je beheerdersadres. Klopt het e-mailadres onder Instellingen en daarna Algemeen? Anders komt de herstelmail nooit aan.
Wil je hier niet zelf mee bezig zijn, dan besteed je het onderhoud uit. Wat er in goed onderhoud hoort te zitten en wat het kost, lees je in website onderhoud: kosten en wat erin hoort. Meer maatregelen tegen inbraak vind je in WordPress beveiligen.
Conclusie: begin bij de melding, niet bij de paniek
Werkt WordPress niet meer, dan zit de oorzaak meestal in één plugin, één thema of één update die misging. Zoek eerst de herstelmail en gebruik de herstelmodus. Geen mail? Zet plugins uit door hun map te hernoemen. Bij een wit scherm laat WP_DEBUG zien waar het misgaat. Hangt je site in onderhoudsmodus, dan verwijder je .maintenance. En bij een databasefout controleer je wp-config.php of bel je je host.
Wil je dit soort storingen liever voorkomen? Bij mij kost website-onderhoud € 50 per maand: je site blijft veilig en up-to-date, er worden back-ups gemaakt en ik houd de prestaties bij. Alle tarieven staan in de prijslijst.
Veelgestelde vragen
Waarom werkt mijn WordPress website ineens niet meer zonder dat ik iets heb gedaan?
Er is bijna altijd wel iets veranderd, alleen niet door jou. Plugins en WordPress zelf kunnen automatisch updaten, en je hostingpartij kan de PHP-versie van je server ophogen. Een plugin die niet met die nieuwe versie overweg kan, laat je site dan vastlopen. Vraag je host of er onderhoud is geweest en kijk in de herstelmail van WordPress welke plugin de fout veroorzaakt.
Hoe zet ik de onderhoudsmodus in WordPress uit?
Hangt je site na een update op de melding over gepland onderhoud, verwijder dan het bestand .maintenance uit de hoofdmap van je website via FTP of het bestandsbeheer van je hosting. Het is een verborgen bestand, dus zet het tonen van verborgen bestanden aan. Gebruik je een plugin voor een onderhouds- of binnenkort-onlinepagina, dan zet je die uit in de instellingen van die plugin.
Raak ik mijn content kwijt als ik plugins uitschakel via FTP?
Nee. Als je de map van een plugin hernoemt, zet WordPress die plugin alleen uit. Je pagina's, berichten en instellingen staan in de database en blijven bewaard. Sommige plugins voegen wel functies of opmaak toe aan je pagina's, zoals formulieren of blokken. Die zijn tijdelijk weg zolang de plugin uit staat en komen terug als je hem weer activeert.
Wat kost het om een kapotte WordPress website te laten repareren?
Dat hangt af van de oorzaak. Een plugin die na een update vastloopt, is vaak in korte tijd opgelost. Een gehackte site of een beschadigde database kost meer uren. Goedkoper is voorkomen: met vast onderhoud worden updates gecontroleerd, staan er back-ups klaar en valt een fout eerder op. Bij mij kost onderhoud € 50 per maand.
Benieuwd hoe ik dit in de praktijk aanpak?
Het pitchdeck laat de hele werkwijze zien.
Geschreven door Dennis Boekhout
Marketing freelancer uit 's-Hertogenbosch. Volg op LinkedIn (opent in een nieuw tabblad)