Robots.txt is dood: omarm canonical tags en meta robots

Robots.txt wordt nog door veel websites gebruikt om aan robots te vertellen welke pagina’s ze wel en niet mogen bezoeken. Vaak wordt gedacht dat pagina’s die uitgesloten zijn in robots.txt helemaal niet meer terugkomen in de zoekresultaten van zoekmachines. Dit is echter niet waar. Robots.txt geeft alleen aan dat een robot de pagina niet mag bezoeken, zoekmachines kunnen de URL echter nog wel laten zien in de zoekresultaten. Wil je voorkomen dat bepaalde pagina’s terugkomen in de zoekresultaten van zoekmachines gebruik dan meta robots en canonical tags.

Canonical tags gebruiken.

Wanneer je wilt dat een bepaalde pagina op je website niet geïndexeerd wordt omdat er al een andere pagina is met (vrijwel) dezelfde content dan kan je dit oplossen door canonical tags te gebruiken. Met de canonical tag geef je aan dat de betreffende pagina een afgeleide is van een andere pagina die je wel wilt indexeren.

Wanneer je bijvoorbeeld een webshop hebt met in een productcategorie 30 producten die verdeeld staan over twee pagina’s van 15 producten dan bestaan er eigenlijk twee pagina’s van dezelfde productcategorie: /categorie.html en /categorie.html?pageSet=2. Zou je nu /categorie.html?pageSet=2 uitsluiten in robots.txt dan zou de robot deze pagina niet bezoeken en zouden dus alle producten die vanaf hier benaderbaar zijn niet geïndexeerd worden.

Door een canonical tag te gebruiken geef je aan een zoekmachine aan dat de pagina wel gecrawld moet worden en alle links wel gevolgd moeten worden, maar dat de pagina eigenlijk een afgeleide is van de pagina genoemd in de canonical tag. Voor /categorie.html?pageSet=2 zou de canonical tag dus moeten zijn:

<link rel=”canonical” href=”/categorie.html” />

Meta Robots gebruiken

De meta robots tag is geïntroduceerd als geavanceerder alternatief voor robots.txt. Gebruik van meta robots zorgt ervoor dat pagina’s altijd geopend worden door robots, maar dat vervolgens aangegeven wordt of een pagina opgenomen mag worden in de zoekresultaten (index/noindex) en of links op de pagina gevolgd mogen worden (follow/nofollow). Hierdoor is het dus mogelijk om een pagina niet te laten indexeren, maar de pagina’s waarnaar gelinkt wordt vanaf die pagina wel. Dit was met robots.txt niet mogelijk. Er zijn vier varianten van de meta robots mogelijk:

<meta name=”robots” content=”noindex,nofollow”>

<meta name=”robots” content=”noindex,follow”>

<meta name=”robots” content=”index,nofollow”>

<meta name=”robots” content=”index,follow”>

De canonical tags en de meta robots doen dus beter wat eerst allemaal via robots.txt geregeld moest worden. In principe kan robots.txt dus helemaal losgelaten worden. Sterker nog, dubbel gebruik kan nog wel eens verkeerde effecten hebben. Zie voor meer informatie ook: Pagina’s niet indexeren of verwijderen uit zoekmachines

20 Reacties op “Robots.txt is dood: omarm canonical tags en meta robots”

  1. Denk dat het belangrijk is om de 3 technieken goed te onderscheiden in relatie tot de processen bij zoekmachines.

    - Het robots.txt heeft invloed op het proces van “crawling”: het volgen van links door zoekmachinerobots.

    - De meta tag robots heeft invloed op 2 processen:
    1) het proces van indexeren: het opnemen van de content in de database van de zoekmachine, de index.
    2) het proces van rangschikken: met name links niet meewegen in de populariteitsberekening, middels de waarde “nofollow”.

    - De canonical tag is bedoeld om Google en andere grote zoekmachines te helpen de originele content te bepalen in het geval van dubbele of sterk gelijke content (op meerdere url’s), ofwel het “duplicate content” probleem.

    Dit gaat dus met name om het proces van rangschikken, maar Google geeft aan dat ze de canonical tag willen behandelen als een permanente 301 redirect, waarmee de dubbele/gelijkende url’s ook uit de index zouden moeten verdwijnen.

    (de canonical tag heeft geen invloed op het proces van crawlen, want anders kan een zoekmachinerobot nooit zien dat de canonical tag op de pagina staat)

  2. Jeroen van Eck zegt:

    @eduard Bedankt voor de duidelijke toevoeging! Ben je het er mee eens dat bij goed gebruik van meta robots en canonical tags de robots.txt overbodig wordt?

  3. Ik zou nog wel de robots.txt op de website hebben. Al is het alleen maar om de XML sitemap er in op te nemen.

  4. Hiermee wordt de robots.txt niet overbodig.
    Stel je wilt bijvoorbeeld niet dat al je afbeeldingen worden geïndexeerd en ze staan allemaal in een aparte folder. Met de robots.txt kan je de folder uitsluiten van crawlers, waardoor deze zweer waarschijnlijk niet in de index terugkomen.
    Als je mbv de meta tag wilt aangeven dat ze niet geïndexeerd, zal je gebruik moeten maken van de x-robots tag wat technisch een flink stuk lastiger is om te implementeren (vooral aangezien het om afbeeldingen gaat; in PHP is het simpel)

    Daarnaast kan in de robots.txt de locatie van de XML sitemap aangegeven worden. Een zeer belangrijk element bij grote websites en een element dat lang niet altijd op de standaard locatie (www.domein.com/sitemap.xml) staat.

    Met goed gebruik van de meta robots tags is de functie van de robots.txt kleiner geworden, nutteloos echter niet.

  5. @Jeroen
    Ik zie inderdaad zo snel geen argumenten om robots.txt als beste oplossing te kiezen voor SEO vraagstukken (zoals url’s verwijderen uit zoekmachines of duplicate content oplossen).

    @Mark
    Op zich eens, maar dat is niet noodzakelijk voor zoekmachines om de XML sitemap te vinden

  6. @Jeroen: een 301 redirect heeft wmb altijd de voorkeur boven gebruik van canonical tags. Iedere pagina heeft 1 unieke URL en varianten (bv shortcuts) verwijzen middels een 301 redirect naar de correcte URL.

    Een robots.txt blijft een handig middel zoals Eduard aangeeft. Als je in je robots.txt bepaalde mappen of URLs al uitsluit, zal een crawler deze pagina’s niet doorzoeken en dit heeft dus een gunstig effect op je traffic. Er worden immers minder pagina’s bezocht.

    Het goed inzetten van de mix van tools die je hebt (robots.txt, meta tags, 301 redirects etc) zorgt uiteindelijk voor het succes.

  7. @Bartjan @Michaël
    Google en andere zoekmachines kijken in het proces van crawlen het eerste naar het Robots.txt bestand. En de commando’s in het Robots.txt bestand worden gehoorzaamd.

    Een SEO misverstand is echter dat dit tot gevolg heeft dat de uitgesloten url’s niet in de index van zoekmachines terecht komen. Er hoeft maar 1 link naar de in robots.txt uitgesloten link te verwijzen, en Google en andere zoekmachines tonen in ieder geval de url in de zoekresultaten (vaak zelfs inclusief titel en omschrijving!).

    Zie de case van Auping.nl die ik hierover schreef:
    http://www.edwords.nl/2009/10/19/robots-txt-uitsluiting-toch-index/

    En zie ook de uitleg van Googler Matt Cutts:
    http://www.youtube.com/watch?v=KBdEwpRQRD0

  8. Jeroen van Eck zegt:

    Het doel van niet indexeren bereik je dus niet met robots.txt. Dat is een misverstand. Zie de links van Eduard.

    @Michaël 301 redirects voldoen lang net altijd bij duplicate content. Zie bijvoorbeeld het voorbeeld in het artikel.

  9. Navin Poeran zegt:

    Ik denk voor websites die willen dat zoekmachines wel een URL-referentie opnemen naar hun webinhoud, robots.txt een prima oplossing is.

    Daarnaast, kan je individuele bestanden zoals pdf, jpeg, doc etc, niet eenvoudig blokkeren via de bovengenoemde technieken.

    Zo dood is het dus alweer niet hè.

  10. Zoals Eduard aangeeft zorgt een robots.txt er niet voor dat pagina’s niet geindexeerd worden, maar dat ze ‘in principe’ niet bezocht worden.

    Met de meta robots, canonical en 301 redirect (en de URL removal tool) kun je zorgen dat bepaalde pagina’s niet opgenomen worden in de zoekresultaten, of enkel de juiste pagina’s.

    De belangrijkste toepassing van de robots.txt is echter het gericht toewijzen van de Google resources. Pagina’s die niet gecrawled en/of geindexeerd hoeven te worden plaats je in je robots.txt. De beschikbare resources worden dan gebruikt om die pagina’s te crawlen en indexeren die belangrijk zijn en toegevoegde waarde bieden.

  11. Ik vind het voorbeeld wat je aanhaalt voor het gebruik van de canonical tag tricky.
    In hoeverre weet je zeker of Google inderdaad alle links volgt op een pagina met een canonical tag? Heb je dit getest?

    Daarnaast zijn de pagina’s niet volledig duplicate, omdat je andere producten toont. Kleine verschillen zijn toegestaan, maar het is maar de vraag en afhankelijk van andere factoren (denk aan externe links naar pagina 2) of Google de canonical tag accepteert.

    Volgens mij is je voorbeeld prima te vergelijken met de situatie van elke blog of nieuwssite (homepage en archief pagina’s) en naar mijn mening kan je vervolgpagina’s beter geven.

  12. tussen beter en geven moet NOINDEX, FOLLOW staan…

  13. Jeroen van Eck zegt:

    @martin Ik heb sterke aanwijzingen dat Google canonieke pagina’s als noindex,follow behandelen. Als je er goed over na denkt dan zou Google ook nooit canonical tags kunnen verantwoorden waarbij de links op canonieke niet gevolgd worden. Dan zou niemand ze namelijk gebruiken.

    De pagina’s zijn inderdaad niet volledig duplicate maar bevatten in principe dezelfde kern van inhoud, opgedeeld in verschillende stukken. Je hebt het alleen in stukken gedeeld om het overzichtelijker te maken, niet omdat het verschillende onderwerpen zijn. Volgens mij valt dit ook binnen de toepassingsmogelijkheden van de canonical tag.

  14. “Als je er goed over na denkt dan zou Google ook nooit canonical tags kunnen verantwoorden waarbij de links op canonieke niet gevolgd worden. Dan zou niemand ze namelijk gebruiken.”

    Als je er goed over nadenkt hoeft Google helemaal niet de links te volgen, de links zijn namelijk gelijk als het origineel. Behalve dan in jouw voorbeeld.

    En ik kan dan nog steeds genoeg voorbeelden bedenken waarin je wel de canonical wil gebruiken. Bijvoorbeeld zoals het (automatisch) door wordpress op dit blog wordt gedaan. Wanneer ik deze comment plaats kom ik volgens mij uit op:

    http://blog.e-difference.nl/zoekmachine-optimalisatie/robots-txt-is-dood-omarm-canonical-tags-en-meta-robots.html/comment-page-1/

    Gelukkig heeft die pagina de canonical tag en verwijst naar het origineel:
    http://blog.e-difference.nl/zoekmachine-optimalisatie/robots-txt-is-dood-omarm-canonical-tags-en-meta-robots.htm

    Andere voorbeelden:
    - gebruik van analytics parameters en niet # kunnen gebruiken
    - sessie id’s in de url
    - tabel sorteringen
    - etc..

    Enfin, je kan goed gelijk hebben. Ik zou er in de praktijk heel erg mee uitkijken. De canonical tag lijkt heel erg op een 301 en je loopt dus het risico dat je de helft van je producten gewoon niet laat zien aan zoekmachines.

  15. Jeroen van Eck zegt:

    @martin Ik moet zeggen dat Google hier wat mij betreft niet helemaal duidelijk over is. Ze zeggen zelf: “If your site has identical or vastly similar content that’s accessible through multiple URLs”. Hoe vergelijkbaar ‘vastly similar’ is wordt echter niet helemaal duidelijk. Ik weet dat er momenteel een test wordt gedaan over het volgen van links op canonieke pagina’s door een aantal SEO’s. Hopelijk kunnen we daar dus straks wat meer over zeggen.

  16. @Martin @Jeroen
    Het lijkt me belangrijk om de functie en het doel van de meta tag robots en de canonical tag niet te verwarren (zie m’n eerste reactie hierboven :)). De canonical tag is in feite niets meer dan een hint voor het al bestaande duplicate content filter.

    Daarnaast is de kans op fouten bij implementatie van rel=canonical vrij groot, waardoor Google het als hint oppakt.

    Google wil echter natuurlijk liever zelf automatisch detecteren en bepalen wat de originele (canonical) url is. Net als ze automatisch willen bepalen waar een pagina over gaat i.p.v. de opgegeven Meta Keywords te gebruiken ;)

    Ergo, het lijkt me dus logisch dat Google de pagina’s die een canonical tag bevatten gewoon blijft crawlen. Maar aangezien de canonical zich steeds meer als een 301 redirect gaat gedragen, lijkt me dit een test waard :)

  17. Roy zegt:

    @eduard, @martin baseren jullie je kennis momenteel niet vooral op de informatie die Google vrij geeft?

    Het klinkt aannemelijk / klopt dat er verschillende prio’s worden gegeven aan bepaalde processen, het is de vraag welke prio een canonical heeft gekregen, Google zegt zelf dat het een aanwijziging is. Ik heb sterke aanwijzingen dat je er leuke dingen mee kunt doen (het zou niet multi-domain werken bijv.). Ik heb impressums, AGB/ALV’s en andere pagina’s welke je zou uitsluiten, canonicals zien hebben welke sites op hoge competitieve termen van 16 naar 4 duwde overnight…

    Het probleem is dat de informatie door Google wordt vrijgegeven en dat we daar tussen de regels de strekking van kunnen lezen en begrijpen, maar ik heb nog nergens gezien of het inderdaad zo werkt als dat ze zeggen, hoewel er toch wel wat uitzonderingen zijn zo onderhand.

    De robots.txt was inderdaad voorheen bedoeld om zaken uit in de index te houden, totdat Google besloot dat ze het beter wisten, maar dat was pas nadat er hoop gezeik was omdat het ding gewoon niet altijd goed werkte.

    Laten we proberen met zijn allen in 2010 minder aannames te doen en meer zaken zelf uit te testen, zo is het tenslotte ook allemaal begonnen. Onze canonical test zal zeker een artikeltje krijgen, of we daar alles in gaan delen wat we hebben gevonden weet ik nog niet, maar iig a good share of information…

  18. @Roy
    Heb ik het artikel met de resultaten van jullie test gemist of komt ie nog? :)

    Aanvullend: onlangs toch een sterke case gezien van de canonical tag:
    Een klant had de canonical tag op de homepage staan, maar verwees daarin elke keer naar het laatste artikel (ging om een blog).

    De homepage was daardoor helemaal niet geïndexeerd…

  19. Tony zegt:

    Hallo,

    Vraag over de Canonical. Tijdens het aanmaken van een artikel in WordPress, kan je de canonical link aangeven. Er treed echter een probleem op. Dit artikel komt in een categorie/archief en heeft een eigen pagina. Ik stel ook excerpts in. Wanneer deze op de home verschijnt als excerpt van een nieuw artikel, dan staat er in de head van de home en op de artikelpagina zelf, de canonicallink van het artikel.

    Hiermee lijkt te worden aangegeven dat de home eigenlijk wordt doorverwezen naar de artikelpagina. Op de pagina zelf van het artikel staat die link ook. Is dat niet verkeerd? Deze link moet toch alleen komen op pagina´s waar dit artikel staat, met uitzondering van de home en de pagina zelf?

    BVD.

  20. @Tony De canonical is bedoeld voor alle varianten van een pagina die via een andere URL te bereiken zijn. Het is naar mijn weten geen probleem om op de pagina zelf ook een canonical tag naar die pagina te hebben. Op de homepagina hoort de canonical echter inderdaad niet, dit is namelijk geen variant van het betreffende artikel, maar een verzameling van de laatste artikelen. Ik weet zo niet hoe die daar terecht kan komen, maar hij hoort er inderdaad niet.

Reageer