Een webserver geeft na een request op een pagina of bestand een zgn. server status code terug. We kennen deze allemaal van de soms wel heel erg lelijke 404-pagina's die je tegen komt als je op een dode link klikt. Er zijn er echter veel meer en voor SEO zijn deze status codes zo ongeveer relevant.
| Code | Naam | Omschrijving | 200 | OK | De aanvraag was succesvol. | 301 | Moved Permanently | De verwijzende pagina geeft de linkwaarde door naar de ontvangen pagina. | 302 | Found | De aangevraagde pagina bevindt zich tijdelijk onder een andere URL. Deze gebruik je voor white hat SEO zelden of nooit. | 400 | Bad Request | De server heeft de opdracht niet begrepen. | 401 | Unauthorized | De bezoeker heeft niet de juiste rechten om de pagina te mogen bekijken. | 403 | Forbidden | De pagina die is opgevraagd mag niet bekeken worden. | 404 | Not Found | De server kon de opgevraagde pagina niet vinden. | 500 | Internal Server Error | De server is een fout tegen gekomen. | 501 | Not Implemted | De server kan de aanvraag niet voldoen. |
Opmerking:
Merk op dat de PHP functie header() standaard een 302 status code terug geeft. Dit betekent dat de linkwaarde van de verwijzende pagina niet mee gegeven wordt naar de ontvangende pagina, wat vaak ongewenst is.
Een 301 redirect gebruiken we als een bepaalde pagina verhuisd is naar een andere locatie. Een typisch geval hiervan is dat we alle pagina's op http://site.nl redirecten naar http://www.site.nl. Door een 301 redirect weet Google dat hij de oude pagina moet verwijderen uit de index. Ook weet Google dat de bestaande links naar de oude locatie moeten worden meegenomen naar de nieuwe locatie.
Opmerking:
Ulco heeft in eerder artikel aangegeven hoe een 301 redirect er in verschillende programmeertalen uit ziet.
Een 301 op een 301 op een ... levert voor de Google bot ook wat problemen op. Hij voelt zich wat misleid en wellicht vermoed hij een bepaald spamprojectje. Hoe dan ook, de conclusie is dat te veel redirects op elkaar betekent dat de uiteindelijke landingspagina's niet geïndexeerd wordt.
Via een 302 kan een hacker webpagina's van andere sites overnemen. Dit komt vreemd over, maar het is precies wat er gebeurt. In het kort komt het op het volgende neer. De Googlebot indexeert een pagina van een website. Vervolgens worden alle links op die pagina in een database gestopt. Enige tijd later pakt een andere Googlebot die database en opent hij één voor één de URL's. Eén van die URL's blijkt echter een 302 redirect te hebben naar een pagina op een totaal andere site. De GoogleBot denkt dat de pagina tijdelijk verhuist is en zal de inhoud van de pagina waar de bot wordt heen geredirect opslaan onder de URL van de pagina waar de redirect op stond. Op die manier is er dus content gestolen van een concurrent.
Google komt er achter dat dezelfde content op twee URL's beschikbaar is en het duplicate content filter zal ervoor zorgen dat er één pagina overblijft. Vaak is dit de verkeerde pagina. Je steelt dus op deze manier niet alleen content van een andere site, maar je steelt ook zijn SERP-posities. Helaas kan de partij die bestolen wordt hier niks aan doen. Dit probleem is dusdanig groot dat enkele jaren geleden de website Google Jacking is opgericht om Google duidelijk te maken hoe groot dit probleem is. Meer informatie hierover is te vinden in het artikel op Wikipedia. Wel moet ik toevoegen dat het 302 page hijacking probleem inmiddels opgelost schijnt te zijn.
Omdat Google steeds meer moet crawlen, stuurt Google af een toe een verzoek naar een webpagina met de vraag of de pagina gewijzigd is sinds de laatste keer dat de bot langs is geweest. Als dit zo is, zal de server een 304 status code terugsturen, oftewel 'status gewijzigd'. Is er echter geen nieuwe content, dan wordt de 304 niet afgegeven en zal de bot niet langskomen. Anders gezegd: Zorg er voor dat er altijd een 304 gegeven wordt indien dat nodig is.
Als de webserver een andere code terug geeft dan 200, 301 of 302, kan dit problemen geven voor de indexatie van de pagina. Een concreet voorbeeld hierbij is een CMS waarbij pagina's verwijderd worden. Vaak staan er in de Google cache nog pagina's die een link naar deze niet meer bestaande pagina bevatten. Als de Google bot deze link volgt, komt hij dus op een pagina waar een 404 error wordt gegeven. Als Google veel van deze 404-errors tegen komt, betekent dit dat Google je site ziet als niet al te netjes opgebouwd, wat resulteert in lagere rankings.
Er zijn twee manieren om dit op te lossen. Uiteraard kun je een custom 200 status code terug geven en op de pagina vermelden dat de pagina die de bezoeker vond niet kon worden weergegeven. Via dien je dan wel aan te geven dat de pagina niet geïndexeerd mag worden. De andere optie is dat je de verwijderde pagina's via een 301 redirect naar een wel bestaande en gerelateerde pagina. Op die manier help je de bezoeker vaak meer - Tenzij de bezoeker niet door heeft dat hij in feite op een andere pagina terecht komt als hij had opgevraagd.
410 geeft aan dat iets permanent verwijderd is. 404 geeft dat niet aan. Daarom geldt dat voor sites waarbij bijvoorbeeld advertenties verwijderd worden na verloop van tijd (denk aan Marktplaats) het beter is een 410 dan een 404 te gebruiken. Aan de andere kant behandelt Google een 404 en een 410 gelijk, maar strict genomen is een 410 beter.
Moeten we nu een 301 of een 410 gebruiken als een advertentie verwijderd wordt? In het algemeen zou ik deze stelregel willen nemen. Als de advertenties binnen een categorie duidelijk over één topic gaan en de advertenties dus redelijk inwisselbaar zijn, dan kun je alles 301 redirect naar de bovenliggende categorie. Zijn de topics van de advertenties breed, dan gaat mijn voorkeur naar een 410. Dit lijkt me voor een bezoeker het meest usable.
16 september, 2007 - 14:20 | login of registreer om reactie te posten | |
|---|---|
Timo van den Putte![]() Aantal berichten: 7 |
Wil je zien wat voor een server result code een pagina heeft dan zijn er tools voor te vinden op het web. 2 tools hiervoor: http://www.searchenginepromotionhelp.com/m/http-server-response/code-checker.php |