WordPress 404 fout: de oorzaak en welke adressen echt een redirect nodig hebben
Een WordPress 404 fout betekent dat er op een adres geen inhoud meer staat. Meestal is het een gewijzigde paginalink, een verwijderd bericht of product, een gewijzigde structuur van de permalinks of een verhuizing van de site. Raakt de 404 alle subpagina’s tegelijk, dan is de instellingen van de permalinks opnieuw opslaan meestal genoeg. Losse adressen met bezoekers krijgen een 301 naar de dichtstbijzijnde tegenhanger.
Auteur: Het TellMyShop-team. Een gids voor eigenaren van WordPress-websites en WooCommerce-winkels: de oorzaak, de oplossing met de hand en hetzelfde werk in een gesprek met de chat.
Laatst bijgewerkt: · 6 min lezen
Eén pagina of allemaal? Bepaal eerst het soort probleem
Dat zijn twee heel verschillende problemen, en het loont om ze te scheiden voordat je iets wijzigt.
Geeft de hele site behalve de homepage een 404, dan ligt het probleem niet bij de inhoud. WordPress heeft de berichten en pagina’s in de database, maar de server weet niet hoe hij een mooi adres naar de juiste inhoud vertaalt. Dat gebeurt na een verhuizing naar een andere server, na een update of na een plugin die aan adressen sleutelt. De handleiding van Kinsta legt goed uit hoe permalinks werken, en alleen al het opnieuw opslaan van die instellingen bouwt de regels voor adressen opnieuw op.
Raakt de 404 losse adressen, dan is dat het normale leven van een site: iets heeft een ander adres gekregen of is verdwenen. Dan beslis je per adres.
Wanneer WordPress zelf doorstuurt, en wanneer niet
Hier komen de meeste verrassingen vandaan. WordPress heeft een ingebouwd mechanisme voor oude adressen, maar dat werkt alleen in sommige gevallen.
| Wat is gewijzigd | Stuurt WordPress zelf door? | Wat je doet |
|---|---|---|
| De slug van een gepubliceerd bericht | meestal wel | het oude adres in de browser controleren |
| De slug van een WooCommerce-product | meestal wel | het oude adres in de browser controleren |
| Het adres van een pagina (Over ons, Contact, Diensten) | nee | met de hand een 301 instellen |
| De structuur van alle permalinks in de instellingen | nee | redirects instellen voor adressen met bezoekers of terug naar de oude structuur |
| Een verwijderd bericht of product | nee | een 301 naar een tegenhanger of een 410 |
| Een verhuizing vanaf een ander platform of domein | nee | voor de verhuizing een lijst met oude en nieuwe adressen maken |
De ontwikkelaars van WordPress hebben pagina’s bewust buiten dit mechanisme gelaten: het mechanisme voor oude adressen geldt voor inhoud zonder hiërarchie, en pagina’s hebben er een. Dat staat beschreven in een ticket in de issuetracker van WordPress en in de documentatie van de functie wp_old_slug_redirect.
Noodstappen: alle subpagina’s geven een 404
- Sla de permalinks opnieuw op. Instellingen, Permalinks, Wijzigingen opslaan. Wijzig niets in het formulier.
- Open twee adressen in een privévenster: één bericht en één pagina. Werken ze, dan is het probleem opgelost.
- Denk terug aan de laatste wijziging. Een nieuwe plugin voor redirects, meertaligheid of beveiliging? Zet hem even uit en controleer opnieuw.
- Werkt het nog steeds niet, meld het dan bij je websitebeheerder of je hostingpartij. Meestal is het het bestand .htaccess of een serverinstelling, en dat los je niet op vanuit de backoffice van WordPress.
Losse adressen: wat je doorstuurt en wat je laat staan
Niet elke 404-fout is een probleem. Google legt uit dat een 404 voor inhoud die niet bestaat een correct antwoord is, en dat redirects horen waar inhoud een nieuw adres heeft. De regels vind je in de handleiding over redirects.
De volgorde van werken is eenvoudig. Je verzamelt de lijst met adressen met fouten, sorteert ze op aantal bezoeken en begint bij de adressen die mensen echt bezoeken. Een oud bericht waarnaar een forum linkt, stuur je door naar de nieuwere versie van het onderwerp. Een uitlopend product stuur je naar zijn opvolger of naar de categorie. Een oude actiepagina van drie jaar geleden mag gerust een 404 blijven.
Alles naar de homepage doorsturen is verleidelijk, omdat het rapport dan leeg is. Het rapport is schoon, maar het probleem blijft: een lezer die op een handleiding over rozen snoeien klikte, komt op de homepage en vertrekt.
Om redirects in de backoffice in te stellen gebruik je plugins. Een populaire gratis plugin is Redirection, en ook Rank Math heeft een module voor redirects. We beschrijven het stap voor stap, met een vergelijking van methoden, in de handleiding over de 301 redirect in WordPress.
Zo vindt de chat 404-fouten en stelt hij per adres een doel voor
De TellMyShop-plugin voor WordPress en WooCommerce houdt zelf bezoeken aan niet-bestaande adressen bij. Je vraagt je chat (Claude of ChatGPT) om een rapport en een plan, en hij koppelt aan elk adres een voorstel: een nieuwer bericht, een categorie, de opvolger van het product of een 410. Het rapport en het plan krijg je in TellMyShop Free.
Jij: Laat me de 404-fouten van de afgelopen maand zien en stel voor wat ik ermee doe.
Je chat: Ik vond 9 adressen zonder inhoud. De drie met de meeste bezoeken:
Jij: Doe ze alle drie.
Je chat: Voorbeeld: 2 redirects met 301 en één 410. De doelen werken, er zijn geen lussen of ketens, en er staat vandaag geen inhoud op de oude adressen. Ik sla het op na jouw ‘ja’ en controleer na het opslaan elk oud adres.
/tuindiensten/, 41 bezoeken. Dat is een oude pagina, de inhoud staat nu op /tuinontwerp/.
oude versie: 404 niet gevonden
nieuwe versie: 301 naar Tuinontwerp
/voorjaarsactie-2023/, 12 bezoeken, de actie is afgelopen, geen tegenhanger.
oude versie: 404 niet gevonden
nieuwe versie: 410 definitief verwijderd
/rozen-snoeien-in-de-herfst/, 7 bezoeken. Het bericht is verwijderd, het bericht Rozen snoeien stap voor stap gaat over een vergelijkbaar onderwerp.
oude versie: 404 niet gevonden
nieuwe versie: 301 naar Rozen snoeien stap voor stap
In TellMyShop Pro slaat de chat redirects op na jouw akkoord, tot 50 in één batch. Voor het opslaan controleert hij of het doel werkt, of er geen lus of keten van redirects ontstaat, en of er vandaag geen live inhoud op het oude adres staat die de redirect zou verbergen. Elke redirect kun je ongedaan maken vanuit de wijzigingsgeschiedenis. Details en aanmelden vind je op de pagina TellMyShop voor WordPress en WooCommerce, en de prijzen op de pagina prijzen.
Zo voorkom je nieuwe 404-fouten
Wijzig de structuur van de permalinks niet op een live site tenzij je een plan voor redirects hebt. Wijzig je het adres van een pagina (geen bericht), stel dan meteen een redirect vanaf het oude in. Verwijder je een bericht, bedenk dan of opfrissen niet beter is. Maak voor de verhuizing van de site een lijst met de oude adressen met bezoekers en hun nieuwe tegenhangers.
Werkt een pagina wel maar staat ze niet in Google, dan is dat een ander probleem dan een 404. We beschrijven het in de handleiding WordPress-pagina niet zichtbaar in Google. Meer handleidingen vind je op de blog.
Vragen en antwoorden
Stuurt WordPress het oude adres zelf door nadat ik een permalink heb gewijzigd?
Gedeeltelijk. Wijzig je de slug van een gepubliceerd bericht of WooCommerce-product, dan onthoudt WordPress de oude en stuurt het bezoekers meestal zelf door. Bij pagina’s, dus subpagina’s zoals Over ons of Contact, doet het dat niet. Ook als je de structuur van alle permalinks in de instellingen wijzigt, doet het niets.
Alle subpagina’s geven ineens een 404. Wat doe ik eerst?
Ga naar Instellingen, Permalinks en klik op Wijzigingen opslaan zonder iets te wijzigen. WordPress bouwt dan zijn regels voor adressen opnieuw op. Dat is de meest voorkomende en snelste oplossing na een update, een migratie of het installeren van een plugin. Helpt het niet, controleer dan het bestand .htaccess en de serverinstellingen met je websitebeheerder.
Kan ik alle 404-fouten naar de homepage doorsturen?
Liever niet. Google ziet zo’n redirect vaak als een soft 404, omdat de homepage geen antwoord geeft op wat de lezer zocht. Stuur door naar de dichtstbijzijnde tegenhanger: een nieuwer bericht over hetzelfde onderwerp, een categorie of de opvolger van het product. Is er geen tegenhanger, laat dan de 404 staan of stel een 410 in.
Waar krijg ik een lijst met adressen die een 404 geven?
Uit Google Search Console, in het rapport Pagina’s, en uit een plugin die bezoeken aan niet-bestaande adressen bijhoudt. Search Console toont adressen die Google kent, en de plugin toont de adressen waar mensen echt op belanden, ook via links in e-mails en social media.
Wat is het verschil tussen 301 en 410?
301 zegt dat de inhoud permanent naar een nieuw adres is verhuisd, en neemt de positie in Google daarheen mee. 410 zegt dat de inhoud definitief is verwijderd en niet terugkomt. Gebruik 410 voor oude acties, evenementen en producten zonder enige tegenhanger.
WordPress is een handelsmerk van de WordPress Foundation. WooCommerce is een handelsmerk van Automattic Inc. Claude is een handelsmerk van Anthropic PBC. ChatGPT en OpenAI zijn handelsmerken van OpenAI. TellMyShop is niet gelieerd aan deze bedrijven.