
Met de Panda update heeft Google ons duidelijk gemaakt dat de algehele kwaliteit van je website belangrijk is, als dat al niet zo was. Low quality content of duplicate content wordt afgestraft. Waar je eerder de kans had dat de verkeerde pagina slechter rankte, zul je nu merken dat je hele website minder goed vindbaar zal zijn in de zoekresultaten. De verhouding tussen ‘slechte’ content en ‘goede’ content is iets waar je tegenwoordig extra aandacht aan zult moeten besteden. In dit artikel leg ik je uit hoe je de kwaliteitsverhouding van je content kunt verbeteren door gebruik te maken van robots.txt.
Voor degene onder ons die niet weten wat robots.txt is, volgt hier een uitleg volgens Google:
Met een robots.txt-bestand beperkt u de toegang tot uw site voor zoekmachinerobots die het internet crawlen. Deze robots zijn geautomatiseerd en voordat ze een site bezoeken, controleren ze eerst of er een robots.txt-bestand is waardoor ze bepaalde pagina’s niet kunnen crawlen.
Met je robots.txt kun je dus aangeven wat een bot wel of niet mag bezoeken. In bovenstaand stuk is te lezen dat een bot allereerst kijkt naar de aanwezigheid van een robots.txt. Deze dient altijd in de root van de website te staan, zodat het bestand bereikbaar is op http://www.domein.nl/robots.txt. Heb jij meerdere subdomeinen, dan heeft ieder subdomein een aparte robots.txt.
Een robots.txt bestaat uit enkele simpele instructies voor een bot. Met de instructie ‘user-agent’ kun je regels instellen die per user-agent verschillen. Een user-agent volgens WikiPedia is het computerprogramma dat bij een netwerkfunctie of protocol hoort. De user-agent van Google voor het crawlen van webpagina’s heet ‘Googlebot’, die voor bijvoorbeeld Google Afbeeldingen heet ‘Googlebot-Images’. Wil je alle bots dezelfde instructies geven, start je robots.txt dan met:
User-agent: *
Met de instructie ‘Allow’ kun je folders of pagina’s toestaan voor een bot. Standaard worden alle pagina’s toegestaan, maar voor de volledigheid wordt deze instructie vaak vermeld in een robots.txt.
Allow: /
Wil je bepaalde delen van je website uitsluiten voor Google, dan kun je gebruik maken van ‘disallow’ instructies. Dit kunnen pagina’s zijn die je, vanwege de inhoud liever niet in de index ziet. Maar ook pagina’s van lage kwaliteit, of pagina’s met bijvoorbeeld duplicate content. Dit artikel zal verder ingaan op deze laatste twee.
Disallow: /folder/
Disallow: /pagina.html
Het gebruik van filters is vooral gemakkelijk voor een bezoeker. Door filters kan een bezoeker een selectie van honderden producten snel terug dringen tot een meer overzichtelijke selectie van bijvoorbeeld 10 producten. Deze 10 producten voldoen aan de selectiecriteria van een bezoeker zoals bijvoorbeeld kleur, prijs, gewicht of maat.
Filters kunnen echter voor veel verschillende pagina’s zorgen. Er kunnen namelijk meerdere filters actief zijn, waardoor er verschillende URLs gecreëerd worden. Deze URLs zijn meestal ook voor een zoekmachine bereikbaar en bevatten vrij weinig unieke content. Gekeken naar de kwaliteit van je website, zorgen filters voor veel low-quality content en slurpen ze je crawl budget flink op. Een goede reden dus om deze uit te sluiten. Sluit overigens niet alle filters uit, maar kijk vooral naar de filters die niet veel toevoegen qua content of waar mensen niet naar zoeken. Dit laatste weet je doordat je bij het bouwen van je website uiteraard ook een grondige keyword analyse hebt gedaan.
Het uitsluiten van filters kan er als volgt uit zien:
# Filters
Disallow: /*kleur=
Disallow: /*maat=
Disallow: /*materiaal=
Paginering, het opdelen van content over meerdere pagina’s, kan ook voor low-quality content en duplicate content zorgen. Robots.txt kan daarbij helpen, maar vaak is een juiste technische implementatie in combinatie met de robots meta tag een betere oplossing.
Stel je heb een categorie ‘heren schoenen’ opgedeeld over 5 pagina’s. De URL van pagina 1 is http://www.domein.nl/heren/schoenen en de URL van pagina 2 is http://www.domein.nl/heren/schoenen?p=2. Wanneer je vervolgens weer teruggaat naar pagina 1, dan zou de URL overeen moeten komen met de eerste, echter zie je in de praktijk vaak de volgende URL http://www.domein.nl/heren/schoenen?p=1. Nu begrijp je vast wel dat dit niet de meest ideale situatie is, 2 verschillende URLs voor dezelfde pagina. Met robots.txt kun je deze laatste variant uitsluiten:
# Paginering
Disallow: /*p=1$
Let op het $ teken aan het einde. Vergeet je dit teken, dan sluit je ook pagina 10, 11, 12 en verder uit, omdat deze overeenkomen met de disallow instructie. Zoals ik eerder zei is een juiste technische implementatie beter. Je zorgt er dan voor dat een URL als ?p=1 niet bestaat, maar gebruikt de URL van de betreffende categorie.
De pagina’s 2 en verder voegen qua content vrij weinig waarde toe aan je website. Uiteraard wil je wel dat een zoekmachine alle producten kan vinden en wil je eventuele waarde van inkomende links doorgeven. De pagina’s hoeven echter niet in de index van Google voor te komen, om zo de kwaliteit van pagina’s in Google’s index te verbeteren. Dit doe je door op pagina 2 en verder de robots meta tag te gebruiken:
Een volgend obstakel in de missie naar het verbeteren van de geïndexeerde kwaliteit van je website is sortering. Op veel e-commerce websites zie je opties als ‘sorteer op prijs’ of ‘toon 20 producten per pagina’.
Na het kiezen van een dergelijke optie, zie je dat er vaak parameters aan een URL worden toegevoegd, bijvoorbeeld ‘dir=asc’ of ‘order=price’. Wanneer parameters aan een URL worden toegevoegd, dan wordt er in feite een unieke URL gecreëerd, dit in dit geval vrijwel dezelfde content (in een andere volgorde) toont. Je begrijpt vast waar ik naar toe wil, want dit is wederom duplicate of low-quality content. Het uitsluiten van sortering kan als volgt:
# Sorting
Disallow: /*dir=
Disallow: /*order=
Disallow: /*limit=
Op de meeste websites is het mogelijk te zoeken naar bepaalde content of producten. Een open souce systeem als Magento biedt ook deze mogelijkheid, echter zie je de zoekopdrachten vaak terug in de index van Google. Ook dit wil je liever niet, het zijn namelijk pagina’s die weinig toevoegen aan je website. Daarom is het verstandig preventief alle zoekresultaten op een website uit te sluiten voor een zoekmachine als Google.
#Search
Disallow: /catalogsearch/
Disallow: /*s=
In het laatste voorbeeld (/*s=) dient s vervangen te worden door de parameter die aan een URL wordt toegevoegd wanneer je op de website een zoekopdracht uitvoert.
Wanneer je in bijvoorbeeld een webshop artikelen in een winkelmandje plaatst, dan worden deze artikelen gedurdende je bezoek ‘onthouden’ door de webshop. Dit gebeurt door een unieke identifier aan jouw bezoeksessie te koppelen. Deze ID’s worden onthouden door ze op te slaan in een cookie, of door ze op te nemen als parameter in de URL. Deze laatste methode zorgt ervoor dat er per sessie (per bezoek aan een website) een nieuwe ID wordt toegekend, kortom, per sessie allemaal nieuwe URLs met dezelfde content. In praktijk levert dit problemen op. Een bot ziet iedere sessie nieuwe URLs met dezelfde content. De bot crawlt een x aantal pagina’s per keer, en het zal daarom vrij lang duren voordat jouw producten eens een keer in de index van Google verschijnen.
Een aantal open source systemen gebruiken herkenbare session ID’s. Zo gebruikt Magento SID, osCommerce gebruikt osCsid en gebruikt Zen Cart zenid. Het uitsluiten van deze parameters is een eerste stap, maar vaak kan er in het systeem gekozen worden session ID’s via cookies of URLs te gebruiken. Kies dan uiteraard voor het eerste.
# Session ID’s
Disallow: /*SID=
Disallow: /*osCsid=
Disallow: /*zenid=
Het gebruik van een HTML of XML sitemap is vaak handig voor een zoekmachine. Op een pagina wordt een compleet overzicht gegeven van alle URLs op jouw website. Een XML sitemap is vaak beter, wanneer het gaat om een groot aantal URLs, zoals je vaak ziet bij webshops. De locatie van de XML sitemap is echter niet direct door een zoekmachine te achterhalen. De locatie van de sitemap kun je bekend maken door deze te uploaden in Google Webmaster Tools (Siteconfiguratie > Sitemaps), maar je kunt de locatie ook als regel toevoegen aan je robots.txt. Op deze manier weet iedere bot waar hij de XML sitemap kan vinden. Het vermelden van de locatie van de sitemap doe je als volgt:
# Sitemap
Sitemap: http://www.domein.nl/sitemap.xml
Nadat je je website nagelopen hebt op eventuele duplicatie of low-quality content problemen, kun je Google Webmaster Tools gebruiken om te zien of je robots.txt volledig is. Via Siteconfiguratie > URL-parameters > URL-parameters configureren vind je een overzicht aan parameters die Google ontdekt heeft tijdens het crawlen. Rechts naast iedere parameter vind je een link ‘bewerken’, die je in staat stelt zelf regels in te stellen via Webmaster Tools, of voorbeeld URLs te bekijken. Controleer dus of je alle belangrijke parameters hebt uitgesloten die problemen kunnen geven.
Is je robots.txt eenmaal klaar, dan kun je deze online plaatsen. Verstandiger is om de regels eerst te testen, want je wilt niet dat je per ongeluk alle belangrijke content uit gaat sluiten. Gelukkig biedt Google Webmaster Tools de mogelijkheid je robots.txt te testen aan een x aantal URLs. Wil je er zeker van zijn dat je niet per ongeluk iets uitsluit, kopieer dan in Google Analytics de top 50 of 100 bestemmingsURLs via organisch verkeer en test deze. Je kunt het testen door naar Siteconfiguratie > Crawlertoegang te gaan.
Kopieer je robots.txt en plak deze in de eerste tekstbox, plak vervolgens je top x bestemmingsURLs in de tweede tekstbox. Nadat je op ‘testen’ hebt geklikt zie je per regel of een bot is toegestaan of verboden is de URL te crawlen.
19 Reacties
Handig overzicht, Roald. Kun je bij filters, paginering, sortering en session ID’s in de meeste gevallen niet beter voor een canonical kiezen?
Je sluit wel een hoop uit met de robots.txt? Alle links die dan naar die pagina’s gaan zullen hun populariteit niet meer door kunnen geven. Ik zou voor pagina’s met sorteringen of session ID’s eerder gaan voor een canonical of meta noindex follow, tenzij je site echt heel erg groot is en je met crawl-budget te maken hebt. Alleen de pagina’s waar Google echt niets mee te maken heeft zou ik dan in de robots.txt plaatsen.
18:48 : Een robots.txt is niet om iets te bileivegen maar alleen maar om iets niet te laten indexerenHet klopt dat er een onderscheid is tussen prive9mappen en pagina’s die je niet wil laten indexeren, maar meestal komt het doel overeen: je wil dat slechts bepaalde personen gebruik kunnen maken van (een gedeelte van) je website. Dus zoekmachines e9n nieuwsgierige bezoekers moeten worden geweerd. Dan biedt robots.txt alleen bescherming tegen de eerste, terwijl een andere vorm van beveiliging allebei tegelijk kan weren. -30
@Andre: Inderdaad sluit je zo een hoop uit, daarom is het beter van te voren te kijken naar eventuele inkomende links naar je website. Mocht een dergelijke pagina inkomende links hebben, dan is een canonical of meta noindex,follow beter.
@Wiep: Thanks! Crawl budget blijft wel een issue. Bij een nieuwe shop zou ik zeggen, meteen uitsluiten met robots.txt. Bij een bestaande website kijken naar je inkomende links.
Of een site al bestaat of niet maakt weinig uit voor de oplossing. Het feit dat er bij een nieuwe site nog geen links naar toe staan, wil immers niet zeggen dat dit in de toekomst ook niet gebeurt.
Daar heb je gelijk in. Wat ik in de praktijk zie is dat vaak nog geen 1% van alle backlinks verwijzen naar dergelijke pagina’s. De linkwaarde die je op deze manier ‘uitsluit’ is minimaal, maar daarentegen bevorder je wel weer de crawlsnelheid en crawldiepte.
Goed overzicht inderdaad. Vanochtend las ik echter dat Robots.txt geen zin heeft bij pagina’s die een +1 hebben gehad (http://bit.ly/xTMGUn). Heeft het dan nog steeds zin om Robots.txt te gebruiken bij bijvoorbeeld product pagina’s?
Bedankt. Waarom zou je productpagina’s uit willen sluiten in je robots.txt? Het is vreemd dat Google pagina’s met een +1 wel crawled, terwijl ze zeggen zich te houden aan robots.txt. Je kunt je afvragen, wanneer je een pagina uitsluit die een +1 krijgt, of je deze uberhaupt wel wilt uitsluiten. Mensen vinden je content blijkbaar nuttig.
Ha, zojuist is het artikel geupdate, omdat de conclusies iets te snel waren getrokken. Robots.txt heeft dus wel zin op pagina’s die een +1 hebben gehad.
Op de website voor het hosten van thumbnails van YouTube komt de tag “Noindex” terug in de robots.txt. De gehele website is ook niet in de index terug te vinden:
http://www.google.nl/search?q=site%3Aytimg.com&pws=0&hl=nl&num=10
http://i.ytimg.com/robots.txt
User-Agent: *
Disallow: /
Noindex: /
Gebruik je deze tag om pagina’s ook daadwerkelijk niet in de index terug te laten komen?
Ik heb deze directive nog niet veel eerder gezien, kom ook geen verdere documentatie op het internet over noindex in robots.txt. Zeker de moeite waard om het eens te proberen. Vaak zie je dat, wanneer er gelinkt wordt naar een pagina die uitgesloten is, Google de pagina toch crawlt. In de zoekresultaten herken je dit gemakkelijk aan het ontbreken van een meta-description. Wellicht dat de noindex directive het indexeren helemaal verbiedt.
Hallo ik heb al jaren een website maar google geeft aan dat ik crawling problemen ofzo heb. Ik volg de stappen op hun site maar ik 1) schiet er werkelijk niks mee op en 2) snap er weinig van.
Vanuit het hulpcentrum word ik ook niet veel wijzer.. Via Hulpprogramma’s voor webmasters->Siteconfiguratie->crawlertoegang probeer ik de site te testen, maar zowel met de regel ‘allow: /’ alsmede ‘disallow: /’ krijg ik dezelfde resultaat: Herkend als directory; specifieke bestanden hebben mogelijk verschillende beperkingen
Weet iemand hoe dit kan worden verholpen?
Allereerst bedankt voor je reactie. Om je verder te helpen zou ik graag willen weten om welke website het gaat. Google geeft aan dat je crawling problemen hebt, waar merk je dat aan? Rank je niet goed? Blijft het verkeer op je website te laag?
De tool die je beschrijft in Google Webmaster Tools geeft je vooral inzicht in het al dan niet kunnen crawlen van specifieke pagina’s op basis van je huidige robots.txt. Daarnaast kun je verdere regels testen, maar worden ze niet doorgevoerd naar je robots.txt.
Het gaat om m’n site: http://www.aircrafts.nl . Ik rank niet meer goed, vorig jaar had ik 12000 bezoekers per maand, nu tegen de 3000 met geluk. Heb ik wel minder tijd aan de website besteed dan voorheen, maar de site is slecht te vinden in google. Ik zou graag m’n probleem willen verduidelijken aan de hand van een paar print screens, maar dat gaat helaas niet via deze site.
kunt u een reactie sturen via mijn site, dan kan ik vanuit het contactcentre printscreens naar u sturen.
@Niels: Kun je iets duidelijker aangeven waarop je rankte? Op welke termen kwamen mensen binnen? Wat waren je top bestemmingspagina’s? Wat heb je in de loop van de tijd veranderd aan je website? Je kunt printscreens naar roald.craenen@easy.nl sturen, misschien dat ik je dan iets meer kan helpen.
Wanneer je parameters als filtering, paginering en sortering in webmaster tools aangeeft, is het dan noodzakelijk om dat ook nog in robots.txt te doen? Ze worden nu iig niet geïndexeerd…
@Robert: In feite zou het voldoende moeten zijn om ze in Webmaster Tools uit te sluiten. Je sluit ze dan echter alleen uit voor Google, niet voor Bing etc. In Nederland maakt dit niet veel uit, maar in de US waar het marktaandeel van Bing veel groter is, raad ik wel aan ook robots.txt te gebruiken.
Wat een goed geschreven artikel, hier heb ik echt wat aan.
een vraag;
hoe ziet google pagina waat bijv. zoekresultaten op te zien zijn, ook als dubbele content?
als je bij mij zoekt op bijv. boot wordt het resultaat getoon op de volgende url
http://www.twr-trading.nl/Bekijk-alle-producten-uit-de-winkel/
maar de producten hebben hun eigen url.
Met vriendelijke groet,
Tom RInkes
@Tom: Thanks! De pagina die wordt getoond nav een zoekopdracht kan in feite niet door een zoekmachine worden gevonden, omdat deze alleen bereikbaar is na het invullen van een formulier. Daar hebben zoekmachines moeite mee. Kortom, je zoekfunctionaliteit zorgt niet voor duplicate content.