301 of 404? Welke u moet gebruiken en waarom zoekmachines erom geven

door Luca Cavallini Technische handleidingen
301 of 404? Welke u moet gebruiken en waarom zoekmachines erom geven

Twee codes die twee verschillende vragen beantwoorden

Een 404 antwoordt “nee” op de vraag “staat er iets op dit adres?”. Ze meldt aan de browser en aan de crawler dat de URL nu niet te vinden is, zonder iets te beloven voor later. Een 301 beantwoordt een andere vraag: “wat u zoekt bestaat, maar is definitief hierheen verhuisd”. Ze geeft een adres om te volgen en vertelt de zoekmachine dat de rankingsignalen van de oude URL geleidelijk naar de nieuwe mogen worden overgedragen. Het zijn geen twee varianten van dezelfde foutpagina. De ene zegt dat er niets bestaat, de andere dat er iets is verplaatst.

Vergelijking tussen een 404, die nee antwoordt op de vraag of er iets op een adres staat, en een 301, die naar het nieuwe adres wijst en de rankingsignalen overdraagt
Een 404 zegt dat er niets is, een 301 zegt waar de inhoud naartoe is: het zijn geen twee varianten van dezelfde foutpagina.

Zich in de ene of de andere richting vergissen kost geld. Een 404 teruggeven voor een pagina die in werkelijkheid is verhuisd, gooit alle backlinks en alle opgebouwde vindbaarheid van de oude URL weg en stuurt een echte bezoeker naar een doodlopende weg in plaats van naar de pagina die hij wilde. Een 301 teruggeven voor een pagina die echt voorgoed is verdwenen, door haar naar een niet-gerelateerde pagina om te leiden om maar een 404 te vermijden, leert zoekmachines dat de koppeling niets betekent. Uiteindelijk dragen ze dan helemaal niets meer over, omdat het patroon op een foefje lijkt in plaats van op een echte verhuizing.

Een korte lijst om te beslissen

  • De inhoud is naar een nieuwe URL verplaatst en bestaat nog. Gebruik een 301. Dat is het enige geval waarvoor een 301 bedoeld is: een permanente verplaatsing, één op één. Stuur door naar de meest relevante vervanger, niet naar de homepage als oplossing voor alles.
  • De inhoud is tijdelijk niet beschikbaar maar komt terug op hetzelfde adres. Gebruik een 302, geen 301. Een 302 vertelt de crawler de oorspronkelijke URL in de index te houden en later terug te komen, en dat is precies wat u wilt tijdens een actie, een voorraadtekort of een onderhoudsperiode.
  • De inhoud is verdwenen zonder directe vervanger. Gebruik een 404, of een 410 als u zeker weet dat ze nooit terugkomt. Een 410 (Gone) is een sterker en bewuster signaal dan een 404, en zoekmachines halen zulke URL’s doorgaans sneller uit de index. Dat is handig wanneer u wilt dat een stopgezet assortiment snel uit de zoekresultaten verdwijnt in plaats van als zachte fout te blijven hangen.
  • De inhoud heeft op dit adres nooit bestaan. Een gewone 404 is correct en vraagt om geen verdere actie.
Beslistabel: inhoud verhuisd 301, tijdelijk niet beschikbaar 302, verdwenen zonder vervanger 404 of 410, nooit bestaan 404
Vier gevallen, vier antwoorden: de juiste code hangt af van wat er met de inhoud is gebeurd, niet van wat het makkelijkst is.

De fout die u makkelijk mist: de soft 404

Een soft 404 is een pagina die een menselijke bezoeker in de tekst meldt “product niet gevonden” of “pagina verwijderd”, terwijl de server er onderaan met een HTTP 200 OK op antwoordt. Zoekmachines merken uiteindelijk het verschil tussen wat de pagina zegt en wat de statuscode zegt, en gaan de URL toch als foutpagina behandelen. Alleen neemt ze dan nog steeds een gewone plaats in de index in, in plaats van behandeld te worden als de fout die ze werkelijk is. Dit gebeurt het vaakst in e-commercecatalogi wanneer een product uit de database wordt verwijderd maar de controller terugvalt op een generiek sjabloon zonder de responscode in te stellen, of wanneer een redirect aan de clientzijde (een JavaScript van het type “geen resultaten, u wordt doorgestuurd”) de HTTP-status nooit aanraakt. Als de tekst van een pagina zegt dat er iets ontbreekt, moet haar statuscode dat ook zeggen.

Twee pagina’s met de tekst ‘Product niet gevonden’: de eerste antwoordt HTTP 200 en is een soft 404, de tweede antwoordt HTTP 404 en is correct
Dezelfde tekst, twee statuscodes: alleen de tweede vertelt de zoekmachine wat de pagina de bezoeker vertelt.

Waarom dit geen theoretische SEO-kwestie is: crawlbudget is echt verkeer

Zoekmachines, en steeds vaker ook de crawlers van kunstmatige intelligentie, hebben geen onbeperkt geduld met een bepaald domein: ze kennen het een ruw budget aan verzoeken per dag toe, en elk verzoek dat wordt besteed aan een keten van redirects, een verkeerde statuscode of een URL die eigenlijk niet zou moeten bestaan, is een verzoek dat niet dient om een pagina te ontdekken of te verversen die ertoe doet. Dat is geen abstracte zorg. In onze eigen webwinkel bleek vóór een routineopruiming het ingebouwde filter voor bezoekregistratie een lijst met botsignaturen te gebruiken die voor het laatst rond 2010 was bijgewerkt: het registreerde 43.478 “bezoeken” per dag van bots alsof het echt verkeer was, tegenover ongeveer 300 echte mensen, en de opgebouwde trackinggegevens waren gegroeid tot 1,4 GB voordat die opruiming ze terugbracht tot 24 MB. Verder deed in dezelfde winkel één enkele crawler (die van Meta) 38.144 verzoeken op één dag, goed voor 78% van al het verkeer dat de server ontving, totdat een gerichte regel werd toegevoegd om hem te stoppen. Crawlers die een winkel met dat volume bestoken, verbranden hun hele budget graag aan kapotte redirectketens en oude 404’s nog voordat ze een pagina bereiken die u echt geïndexeerd wilt zien.

Cijfers uit onze winkel: 43.478 botbezoeken per dag tegenover ongeveer 300 echte mensen, trackinggegevens van 1,4 GB naar 24 MB, 38.144 verzoeken op één dag van de crawler van Meta, 78% van het verkeer
Drie cijfers uit onze eigen winkel: het automatische verkeer was veel groter dan het menselijke verkeer waarvoor de redirects bedoeld waren.

De praktische les is dat een redirectplan geen eenmalige migratietaak is: het verdient een nieuwe controle na elke belangrijke wijziging van de catalogus, elke themawissel en elke toegevoegde taal, juist omdat het volume aan geautomatiseerd verkeer dat de URL’s van een winkel bezoekt vaak veel groter is dan het menselijke verkeer dat de aanleiding was om de redirects aan te maken.

Redirectketens: de stille belasting op al die beslissingen

Eén enkele 301 kost bijna niets. Een keten van drie of vier (oude URL naar een eerste vervanger, naar een tweede, naar de eindpagina) dwingt elke crawler en de browser van elke echte bezoeker om drie of vier verzoeken te doen om één pagina te bereiken, en zoekmachines staan erom bekend maar een beperkt aantal stappen te volgen voordat ze opgeven. Verandert een URL opnieuw, leid dan de originele rechtstreeks door naar de huidige eindbestemming en voeg niet nog een stap toe bovenop de vorige. Een redirectplan dat vele malen is aangepast zonder ooit te zijn platgeslagen, is een van de meest voorkomende en meest onzichtbare bronnen van verspild crawlbudget en trage pagina’s op oudere sites.

Schema: een keten van drie 301-redirects van de oude URL naar de eindpagina, en dezelfde lijst platgeslagen met elke URL rechtstreeks naar de eindpagina
Een vaak aangepaste redirectlijst moet worden platgeslagen: elke oude URL wijst in één stap naar de huidige bestemming.

Een praktische checklist

  • Exporteer vóór elke URL-migratie (platformwissel, nieuw thema, wijziging van een taalmap) de volledige lijst van de momenteel geïndexeerde URL’s uit Search Console en stel een redirectplan op voordat de wijziging live gaat, niet na het eerste rapport over verloren verkeer.
  • Gebruik de 301 voor permanente verplaatsingen en de 302 voor echt tijdelijke, en houd op ze te beschouwen als uitwisselbare codes “zolang het maar werkt”.
  • Geef voor inhoud die voorgoed is verdwenen de voorkeur aan een echte 410 boven een 301 naar een niet-gerelateerde pagina. Een duidelijk signaal is beter dan een valse redirect.
  • Spoor soft 404’s op: elke pagina waarvan de tekst “niet gevonden” of “niet meer beschikbaar” zegt, moet de bijbehorende HTTP-status teruggeven, geen 200.
  • Sla redirectketens plat zodra u er een vindt, zodat elke oude URL in één stap rechtstreeks naar de huidige eindpagina wijst.
  • Raadpleeg de serverlogs, niet alleen Search Console, om te weten wat crawlers werkelijk opvragen: het volume kan veel hoger liggen dan een dashboard suggereert, en het is de snelste manier om een verouderd botfilter of een ongecontroleerde crawler op te sporen voordat het een capaciteitsprobleem wordt.

Kortom

Een 301 en een 404 zijn geen twee uitwisselbare manieren om een oude URL te laten verdwijnen: het zijn tegengestelde signalen. De ene zegt “volg mij, ik ben verhuisd”, de andere “hier is niets, volg niets”. De verkeerde kiezen kost ofwel de opgebouwde vindbaarheid, ofwel het vertrouwen van een bezoeker. Bij echte verkeersvolumes, grotendeels geautomatiseerd in plaats van menselijk, is zich herhaaldelijk vergissen geen cosmetisch probleem maar een echt verlies van de aandacht die crawlers bereid zijn aan een domein te besteden. Als het handmatig beheren van redirects in de serverconfiguratie voor uw winkel niet praktisch is, is een speciale redirectbeheerder een optie onder andere, ook in PrestaShop (zie de module SEO-redirects en de bijbehorende configuratiegids), maar de beslisboom hierboven geldt ongeacht het gereedschap dat de regel uiteindelijk schrijft.

Schermafbeelding van de module SEO-redirects in de PrestaShop 9-demo: lijst met 301-redirects en één 302 voor een actie, met bron, doel, type en aantal bezoeken
De module SEO-redirects in onze PrestaShop 9-demo: 301 voor permanente verhuizingen en een 302 voor een tijdelijke actie (backoffice in het Italiaans).
SEO-redirects - beheer van 301/302/404Beheer 301/302-redirects (gewoon pad, jokerteken of veilige regex), volg 404’s en zet ze met één klik om in re…€ 49,99Bekijk product

Laat een reactie achter

Reacties worden gemodereerd voordat ze worden gepubliceerd.

← Blog

Laden ...
Terug naar boven