404 fout bij alle pagina’s op je WordPress. Hoe los je dit op?

Leestijd: 4 minuten

WordPress is een betrouwbaar stuk software, maar ook daarbij gaat het soms fout. Zo kan er een klein dingetje mis gaan op je WordPress website en geven alle pagina’s – behalve de voorpagina en het admin gedeelte – opeens een 404 fout (pagina niet gevonden). Gelukkig is dit eenvoudig op te lossen.

Heel belangrijk: maak je niet druk om je pagina’s en je berichten! Alles is er nog, De WordPress software die de site draaiend houdt kan ze alleen niet vinden.

Daarnaast is de reden waarom je website opeens 404 fouten geeft niet echt duidelijk. Het kan een update zijn die niet helemaal netjes is afgerond of ‘iets’ anders dat is aangepast op de site.

Ik accepteer het gegeven voor wat het is en los het op. Ik raad je aan je verder niet druk te maken en hetzelfde te doen.

Twee manieren om te zorgen dat pagina’s en berichten geen 404 fouten meer geven

Het probleem is dus dat de software de links op je website niet verbindt met de pagina’s en berichten die worden opgeroepen. Meestal kunnen deze verbindingen worden gerepareerd door de permalink-instellingen op de site opnieuw op te slaan.

Een permalink is een methode in de software om pagina’s binnen dynamische websites – zoals WordPress websites – in plaats van een dynamische link (zoals https://mijnwebsite.nl/?p=123) een permanente link te geven (bijvoorbeeld https://mijnwebsite.nl/diensten).

Meestal lost het opnieuw opslaan van de permalink-instellingen het probleem op. Zo niet, dan moeten de permalink-instellingen handmatig in het .htaccess bestand worden opgeslagen.

Permalink-instellingen opnieuw opslaan

Om de permalink-instellingen opnieuw op te slaan ga je in het admin gedeelte van de site naar Instellingen >> Permalinks:

Opslaan van permalink-instellingen op een WordPress website om 404 fouten op te lossen

Heb je niets veranderd aan de permalink-instellingen, doe dit dan nu ook niet. Verander je de instellingen, dan kan dit de links in je website danig in de war schoppen. Niet doen dus.

Om de instellingen op te slaan klik je op de knop Wijzigingen opslaan.

Laad in een ander tabblad in de browser je website opnieuw en controleer of de links op je website geen 404 fout meer geven. Als het goed is werken alle links nu weer. Zo niet, dan is een wat ingewikkelder oplossing nodig.

Permalink-instellingen opslaan in het .htaccess bestand

Wanneer het opslaan van de permalink-instellingen het probleem niet oplost kun je de instellingen direct in het .htaccess bestand van de site zetten. Hiervoor heb je toegang tot de bestanden van WordPress nodig.

Doe dit alleen wanneer je zeker bent dat je het durft te doen. Zo niet, laat het dan aan je webdesigner over.

Gebruik een FTP programma als FileZilla om een verbinding te maken met de server waarop de website staat.

Ben je met de server verbonden, dan zie je in de root van je website – de directory waarin alle bestanden van de website staan – een bestand met de naam .htaccess. Download dit bestand.

Bestandslijst van WordPress website met .htaccess gehighlight

Maak, zodra het bestand is gedownload, een kopie van het .htaccess bestand. Mocht er iets fout gaan, dan heb je altijd een kopie waarmee je het nogmaals kunt proberen.

Open het bestand in een tekstverwerker als Notepad of Notepad ++.

In het bestand staan waarschijnlijk een aantal regels code die beginnen met # BEGIN WordPress en eindigen met # END WordPress. Selecteer deze regels.

Staat je WordPress installatie in het hoofddomein (zoals mijndomein.nl), vervang bovenstaande regels dan door de regels hieronder:

# 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

Staat je WordPress installatie in een subdomein (zoals site.mijndomein.nl), vervang die regels dan door deze regels:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

En staat je WordPress installatie in een subdirectory (zoals mijndomein.nl/blog), vervang die regels dan door deze regels:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

Sla het .htaccess bestand op en kopieer het naar de server (overschrijf het bestaande .htaccess bestand).

Laad je website opnieuw en controleer of de links op je website nu geen 404 fout meer geven.

Hopelijk werken alle links nu weer. Zo niet, neem dan snel contact op met je webdesigner om je website weer draaiend te krijgen.