Wordpress website gehackt? Wij helpen je weer op weg Bel of email ons!

Hoe de 503-foutmelding in WordPress te verhelpen (6 stappen)

Omdat je vaak geen idee hebt wat de 503-foutmelding in jouw geval heeft veroorzaakt, moeten we methodisch te werk gaan. De volgende zes secties behandelen elk een mogelijk oplossing, gericht op het oplossen van de verschillende mogelijke oorzaken.

Neem na elke stap even de tijd om naar je website te browsen om te kijken of de 503-foutmelding is verdwenen. Mocht dit zo zijn, dan is het probleem opgelost. Mocht het niet het geval zijn, volg dan de volgende stap.

1. Deactiveer tijdelijk je WordPress-plug-ins

Een van de meest voorkomende oorzaken van de 503-foutmelding in WordPress is een probleem met compatibiliteit van plug-ins. Om te kijken of dit het geval is, kan je het best alle plug-ins op je site uitschakelen.

Omdat je door de 503-foutmelding niet meer in de WordPress admin kan komen, heb je een FTP-client nodig om deze stap uit te voeren. Als je nog niet een hebt, raden we FileZilla aan.

Zodra je FTP-client klaar is, kan je hiermee verbinding met je website en kan je naar de hoofdmap van je WordPress-installatie gaan. Als je deze niet kan vinden, meestal heet deze public_html, html, public, www of is het simpelweg de naam van je site. 

Open die map en navigeer naar de map wp-content. Hier zie je een map genaamd plugins, die voor elke geïnstalleerde plug-in (actief dan wel inactief) een submap bevat.

Wat je nu moet doen is met de rechtermuisknop op de map plugins klikken en deze een andere naam geven. We raden je aan om te kiezen voor iets als plugins.oud of plugins.inactief, zodat je de map later makkelijk kan herkennen.

Door de naamswijziging kan WordPress je plug-ins niet meer vinden. De plug-ins worden daardoor automatisch uitgeschakeld.

Probeer nu om toegang te krijgen tot je WordPress-dashboard. Als de 503-foutmelding is verholpen, dan kan je ervan uitgaan dat een van je plug-ins de boosdoener was. Het enige dat je nu hoeft te doen is de schuldige plug-in vinden.

Ga terug naar de map wp-content en geef de map plugins zijn oude naam terug. Vervolgens moet je alle plug-ins één voor één uitschakelen, totdat je de boosdoener hebt gevonden.

Om dit te doen, open je de map wp-content/plugins. Hierbinnen vind je voor elke plug-in een bijbehorende map. Je volgt nu hetzelfde proces als eerder:

  1. Begin met de eerste map en hernoem het naar wat je maar wilt.
  2. Check vervolgens je website om te zien of de foutmelding is verdwenen.
  3. Als dit niet het geval is, ga dan terug naar de map die je net hebt hernoemd en geef deze zijn oude naam terug.
  4. Ga vervolgens door naar de volgende plug-in en herhaal bovenstaande stappen.

Als je veel plug-ins hebt, kan dit even duren, maar het is van groot belang om elke plug-in te controleren. Als je op enig moment nu de plug-in tegenkomt die de foutmelding veroorzaakt, dan kan je deze verwijderen of vervangen door een andere tool.

Als je alle stappen hebt doorlopen zonder dat je site het weer doet, probeer dan de volgende oplossing.

2. Het WordPress-thema deactiveren

Nu we zeker weten dat plug-ins niet de 503-foutmelding veroorzaken, is het tijd om te kijken of hetzelfde geldt voor jouw actieve thema. Jouw huidige thema kan namelijk net zo goed compatibiliteitsproblemen kunnen veroorzaken.

Helaas werkt het proces niet hetzelfde als die van hierboven. WordPress keert niet terug naar het standaardthema als je jouw themamap hernoemt. In plaats daarvan krijg je een foutmelding als ‘The theme directory “naam thema” bestaat niet.’ Als je in plaats daarvan de map met daarin alle thema’s hernoemt, dan krijg je een melding als ‘ERROR: The themes directory is either empty or doesn’t exist. Please check your installation.’

Willen we het probleem oplossen, dan zullen we dit dus via de WordPress-database moeten doen. Dit kan je doen door in te loggen in phpMyAdmin.

Ga naar de tabel ‘wp_options’ en klik op het tabblad ‘Zoeken’. Voer vervolgens een zoekopdracht uit in ‘option_name’ voor de term template.

Onder de kolom ‘option_value’ zie je nu de naam van het huidige thema. Verander dit naar een van de standaardthema’s, zoals ‘twentynineteen’.

Check nu nogmaals je website om te zien of de fout is hersteld. Als deze hersteld is, betekent dit dat er een probleem met je WordPress-thema is. Je kan proberen deze opnieuw te installeren of herstellen naar de meest recente (werkende) back-up.

 

 

 

 

3. Tijdelijk je Content Delivery Network (CDN) uitschakelen

Soms wordt de 503-foutmelding niet weergegeven door een fout op je site, maar vanwege een probleem met je Content Delivery Network (CDN). Als je een CDN gebruikt, is een makkelijke manier om te kijken of dit de oorzaak is van de foutmelding om deze tijdelijk uit te schakelen.

Elke CDN moet een functie hebben waarmee je tijdelijk de dienst kan pauzeren. 

Hoe je je CDN uit kan schakelen, verschilt afhankelijk van de CDN die je gebruikt. Cloudflare staat erom bekend dat ze soms 503-foutmeldingen veroorzaken. Als je de optie om jouw CDN uit te zetten niet kan vinden, raadpleeg dan de kennisbank van de dienst. Vaak vind je hier de informatie die je zoekt.

Als je geen CDN gebruikt of als je site nog steeds niet werkt na het pauzeren van de CDN, dan zijn er nog een aantal oplossingen die we kunnen proberen. Vergeet niet om je CDN weer aan te zetten voordat je verdergaat.

4. Beperk de WordPress ‘Heartbeat’ API

De WordPress Heartbeat is een API die in WordPress is ingebouwd. Het platform gebruikt deze om content automatisch op te slaan, om plug-in-notificaties te laten zien, maar laat je bijvoorbeeld ook zien wanneer iemand anders met een artikel bezig is.

Net als een normale hartslag werkt de API op de achtergrond in een hoge frequentie zodat deze niets mist. Je kan je wel voorstellen dat deze API veel server-resources verbruikt. Dat hoeft geen problemen op te leveren, maar kan in sommige gevallen wel degelijk de oorzaak zijn van een 503-error, als je server de belasting niet aankan.

De snelste methode om erachter te komen of de Heartbeat API de oorzaak van je problemen is, is om deze tijdelijk uit te schakelen. Om dit te doen, verbind je nogmaals met je WordPress-website via FTP. Open de map van je huidige thema en zoek naar het bestand functions.php dat hier zou moeten staan.

Klik met de rechtermuisknop op het bestand en selecteer de optie View/Edit. Als het goed is, wordt het bestand nu geopend in jouw lokale teksteditor. Zodra deze is geopend, moet je het volgende codefragment toevoegen:

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
} Deze drie coderegels geven WordPress de opdracht om de Heartbeat API uit te schakelen. Sla de wijzigingen op in het bestand functions.php, sluit het en probeer je website opnieuw te bereiken.

Als de 503-foutmelding is verdwenen, weten we dat de API het probleem was. De API voegt echter een hoop bruikbare functionaliteiten toe aan je website, dus uitschakelen zou zonde zijn. In plaats daarvan raden we aan om de Heartbeat te ‘vertragen’, zodat deze minder problemen veroorzaakt.

Verreweg de makkelijkste manier om dat te doen is door de plug-in Heartbeat Control te installeren. Activeer de plug-in en ga naar het gedeelte Settings > Heartbeat Control. Zoek naar de opties van Modify Heartbeat en zet de frequentie zo laag als je kan:

Heartbeat Control plug-in frequentie

Sla de wijzigingen op en ga terug naar het functions.php-bestand dat je een tijdje geleden hebt aangepast. Om de bovenstaande wijzigingen te laten werken, moet je de reeks code verwijderen die je eerder hebt toegevoegd en deze nieuwe wijzigingen opslaan in het bestand.

Als Heartbeat API inderdaad de foutmelding veroorzaakte, dan zou de 503-foutmelding nu opgelost moeten zijn. Als dat niet zo is, is het tijd om iets anders te proberen.

5. Verhoog de resources van je server

Als de 503-foutmelding, ondanks al onze pogingen, zich nog steeds voordoet, dan is de kans groot dat deze wordt veroorzaakt door een tekort aan server-resources. In de praktijk betekent dit dat je je hostingpakket moet upgraden om het probleem op te lossen. Dit is met name het geval als je gebruik maakt van goedkopere WordPress-hosting, omdat deze er vaak een handje van hebben om resources te beperken. 

Het upgraden naar een duurder pakket is niet zomaar een beslissing. Het beste is om contact op te nemen met de support van je hostingprovider en de 503-foutmelding met hun te bespreken. Vergeet daar niet bij om ze te laten weten welke stappen je al hebt doorlopen en wat je al geprobeerd hebt om het probleem op te lossen. Het supportteam zou in staat moeten zijn om de oplossing voor jou te vinden en je te adviseren of het nodig is om een duurder pakket aan te schaffen of niet.

6. Je logbestanden controleren en WP_DEBUG inschakelen

Vergeet niet om gebruik te maken van je error logs.

Als je host niet beschikt over een logging-tool, dan kan je de volgende code toevoegen aan het wp-config.php-bestand om logging in te schakelen:

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

Doorgaans zijn logbestanden te vinden in de map /wp-content. Zoek in deze map naar een bestand genaamd debug.log en open deze.

Bij sommige hosts staat dit bestand ergens anders.

Bij het openen zie je vervolgens een enorme lijst waarvan je je misschien afvraagt hoe je in hemelsnaam zinvolle informatie uit kan halen. Gelukkig ziet het er moeilijk uit dan het daadwerkelijk is. In een notendop bevat het logboek in chronologische volgorde elke fout die op je site verschijnt. Het logboek toont welk bestand verantwoordelijk was voor elke foutmelding en geeft zelfs de specifieke coderegels aan die het probleem veroorzaakten.

Let op: je vindt geen directe verwijzingen naar de 503-foutmelding in je logboek. Maar ook al is dit zo, kan het logboek je de juiste richting wijzen door je te laten zien welke bestanden problemen veroorzaken. Op die manier weet je waar je je aandacht op moet richten. Zoals we in de vorige stap al vermeldden, is dit een goed moment om contact op te nemen met je hostingprovider, als je verdere hulp nodig hebt om dit probleem op te lossen.

Je kan ook de logboeken in Apache en Nginx bekijken. Deze zijn doorgaans hier te vinden:

  • Apache: /var/log/apache2/error.log
  • Nginx: /var/log/nginx/error.log

Als de 503-foutmelding wordt weergegeven vanwege een fatale PHP-fout, kan je proberen PHP-foutrapportage in te schakelen. Voeg eenvoudig de volgende code toe aan het bestand dat de fout veroorzaakt. Meestal kan je het bestand vinden in het ‘Console’-tabblad Google Chrome DevTools.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

De kans bestaat je ook je php.ini-bestand moet wijzingen met het volgende:

display_errors = on