Tämä opas kertoo miten robots.txt-tiedosto, meta-robots-tagi ja rel=”nofollow” -attribuutti vaikuttavat hakukoneiden robotteihin ja muihin botteihin.

Opas listaa keinoja joita jokaisen webmasterin olisi hyvä hallita: muuten vaarana ovat kalliit mutta helposti korjattavat virheet. Lopussa käsitellään myös linkkivoiman kanavointia hakukoneoptimointia varten.

Robots.txt

Robots.txt on normaali tekstitiedosto, joka sijoitetaan domainin juureen. Esimerkiksi http://nettibisnes.info/robots.txt.

Robots.txt:ssä voi antaa seuraavia komentoja:

  • User-agent: edeltää muita komentoja, kertoo mitä bottia ne koskevat, arvona * (= kaikki botit) tai botin nimi
  • Disallow: kieltää tiedoston, hakemiston tai koko sivuston boteilta (tyhjä arvo sallii kaiken)
  • Allow: sallii botin toiminnan halutussa osassa sivustoa, käytetään yhdessä Disallow:n kanssa
  • Sitemap: kertoo hakukoneille missä URL-osoitteessa sivuston xml-muotoinen sivukartta sijaitsee
  • Crawl-delay: määrittää kuinka tiheään hakukone saa käyttää sivustoa, arvona kokonaisluku sekunteja

Alkuperäinen robots.txt-standardi on peräisin vuodelta 1994, ja siihen sisältyy vain User-agent ja Disallow. Sittemmin jotkut hakukoneet ovat alkaneet tukea myös komentoja Allow, Crawl-delay ja Sitemap. Kaikki robots.txt-tiedostoa kunnioittavat botit eivät kuitenkaan huomioi näitä uusia komentoja.

Robots.txt ei ole pakollinen mutta se on hyödyllinen tyhjänäkin, koska sillä vältetään palvelimen lokitiedostoon kertyvät virheilmoitukset yrityksistä noutaa tiedostoa. Samalla tavalla hyödyllinen on selaimen osoitepalkin alussa näkyvä favicon.ico-kuva sivuston juurihakemistossa.

Esimerkki robots.txt-tiedostosta

#Aluksi kaikkia botteja koskevat säännöt
User-agent: *
Disallow: /perhekuvat/
Disallow: /opinnaytteet/
Allow: /opinnaytteet/gradu.pdf
Crawl-delay: 30
Sitemap: http://www.sivusto.fi/sitemap.xml

#Sallitaan AdSense-mainosten kohdistaminen kaikkialla
User-agent: Mediapartners-Google
Disallow:

Ylläolevassa esimerkissä

  • kielletään hakukoneilta perheen valokuvia sisältävä kansio (Disallow: /perhekuvat/)
  • kielletään opinnäytteitä sisältävän hakemiston tutkiminen (Disallow: /opinnaytteet/)
  • … mutta poikkeuksena sallitaan Allow-komennolla gradun sisältävän pdf-tiedoston indeksointi (Allow: /opinnaytteet/gradu.pdf)
  • käsketään botteja pitämään vähintään 30 sekunnin tauko yhteyksien välissä, jotta ne eivät kuormita liikaa sivustoa (Crawl-delay: 30)
  • kerrotaan missä avoimen Sitemaps-protokollan mukainen sivukartta on, jotta hakukoneiden olisi helpompi indeksoida sivusto (Sitemap: http://www.sivusto.fi/sitemap.xml)
  • Sallitaan AdSense-mainosten kohdistaminen koko sivustolla (Disallow: ).

Tiedostoon voi merkitä kommentteja laittamalla niiden eteen #-merkin. Botit eivät huomioi näitä kohtia.

User-agent

Kaikki robots.txt:n osiot alkavat User-agent -määrityksellä: se kertoo mitä botteja jäljessä tulevat rivit koskevat.

User-agent -määrityksiä voi olla useampi rivi peräkkäin:

# Sallitaan Google-mainokset ja Snap-esikatselut kaikkialla
User-agent: Mediapartners-Google
User-agent: SnapPreviewBot
Disallow:

# ...mutta kielletään muut botit hakemistosta
User-agent: *
Disallow: /mirror/

“User-agent: *” -määritykset eivät periydy niille boteille joilla on omat määritykset robots.txt:ssä. Yhteisiksi halutut komennot on siis kopioitava jokaiseen osioon erikseen:

User-agent: *
Disallow: /feed/

User-agent: Googlebot
Disallow: /feed/
Disallow: /linkit.html

Kun siis halutaan että /feed/-kansio suljetaan kaikilta boteilta, joudutaan komento Disallow: /feed/ kopioimaan jokaisen User-agentin alle.

Disallow

Disallow-komentoa voi käyttää seuraavilla tavoilla:

  • Disallow: /
    Kieltää koko sivuston tutkimisen.
  • Disallow:
    Sallii koko sivuston botille (huomaa miten pieni ero edelliseen!).
  • Disallow: /kuvat/perhe/
    Kieltää hakemiston, siinä olevat tiedostot ja alihakemistot botilta.
  • Disallow: /tekstit/yksityinen.doc
    Kieltää yksittäisen tiedoston.
  • Disallow: /wp
    Kieltää “wp”-alkuiset hakemistopolut ja juuressa olevat tiedostot (varo!).
  • Disallow: *?*
    Kieltää kaikki URL-osoitteet joissa on kysymysmerkki.
  • Disallow: *.php$
    Kieltää kaikki osoitteet, joiden lopussa on “.php”. $-merkki on pakollinen: se tarkoittaa osoitteen loppua.

Jokerimerkkejä * ja $ tukevat Google, Yahoo! ja Microsoftin Bing. Ask.com tukee *-merkkiä muttei säännöllisiä lausekkeita.

Allow

Allow-komentoa voidaan käyttää täsmentämään Disallow:lla tehtyjä liian jyrkkiä kieltoja. Allow’n parametrejä käytetään samalla logiikalla kuin Disallow’n. Periaate on kuitenkin se, että hakukoneille on kaikki sallittu mitä ei erikseen kielletä.

Vaikkapa näin:

User-agent: *
Disallow: /uploads/
Allow: /uploads/pdf-files/ #pdf-tiedostot sallitaan boteille

Hakukoneista Allow-käskyä tukevat ainakin Google, Yahoo! ja Ask.com. Bing ei ole ilmoittanut tukevansa sitä.

Sitemap

Sitemap-komento kertoo xml-sivukarttoja tukeville hakukoneille URL-osoitteen, josta sivukartta löytyy. Toisin kuin muut robots.txt-komennot, Sitemap ei ole riippuvainen User-agent-määrityksestä vaan se voidaan laittaa mihin tahansa tiedoston sisällä.

Sitemap: http://www.sivusto.com/sivukartta.xml

Sitemap-komentoa tukevat kaikki länsimaissa merkittävimmät hakukoneet: Google, Yahoo!, Bing ja Ask.com.

Crawl-delay

Crawl-delay-komento kertoo montako sekuntia botin on odotettava ennen kuin se saa siirtyä seuraavaan sivuun. Arvon on oltava kokonaisluku.

Google ei välitä crawl-delay-käskystä, koska jotkut ovat laittaneet siihen hyvin suuria lukuja, jolloin hakukone saisi tutkia sivuja liian harvoin.

Hakukoneet Bing, Yahoo! ja Ask.com huomioivat crawl-delay-komennon.

Meta-robots-tagi

Robots-meta-tagi on robots.txt:lle vaihtoehtoinen ja täydentävä tapa antaa ohjeita boteille. Tagi sijoitetaan (X)HTML-tiedoston head-osioon ja se on joko muotoa

<meta name="robots" content="parametrit" />
tai
<meta name="botin nimi" content="parametrit" />

Jos koodi ei ole XHTML- vaan HTML-muotoista, viimeinen kauttaviiva tulee jättää pois.

Parametreja voi olla samassa tagissa useita. Ne erotetaan toisistaan pilkulla, jonka jälkeen voi halutessaan laittaa välilyönnin. Seuraavaksi käsitellään hakukoneiden tunnistamia parametreja.

noindex ja index

Noindex-parametrilla voidaan kieltää sivun indeksoiminen hakukoneissa. Näin:

<meta name="robots" content="noindex" />

Hakukoneita ei tarvitse erikseen kehottaa indeksoimaan sivuja index-parametrillä. Sitä voi kuitenkin käyttää kehitystyön tulosten valvontaan, esimerkiksi vaihtelemalla noindex ja index -parametriä eri sivuilla vaikkapa php-ehtolauseiden avulla.

nofollow, follow ja none

Nofollow-paramerillä voidaan kieltää hakukoneita seuraamasta sivulla olevia linkkejä. Näin estetään myös linkkisuosion välittyminen linkitetyille sivuille.

Nofollow-parametriä tarvitaan harvoin. Sitä voi käyttää esimerkiksi useisiin huonolaatuisiin ja spämmisivustoihin linkittävällä sivulla, jos rel=”nofollow” -attribuutin laittaminen linkkeihin olisi liian työlästä.

Nofollow- ja noindex -parametrien yhdistelmä voidaan korvata none-parametrillä. Seuraavat tagit tarkoittavat siis samaa:

<meta name="robots" content="noindex, nofollow" />
<meta name="robots" content="none" />

Hakukoneita ei tarvitse erikseen käskeä huomioimaan linkkejä follow-parametrilla. Sen käyttö voi kuitenkin tehdä koodin selkeämmäksi jos joillakin muilla sivuilla on käytössä nofollow.

noarchive ja nocache

Hakukoneita voi kieltää tallentamasta sivuista välimuistikopioita noarchive-parametrillä. Nocache tarkoittaa samaa ainakin Bing-hakukoneessa, mutta suosittelen käyttämään noarchive:a, jos suunnittelet ryhtyväsi verkkohuijariksi (tai tekeväsi jotain muuta yhtä typerää).

noodp

Jos sivu tai sivusto on listattu DMOZ-hakemistossa (toiselta nimeltä ODP eli Open Directory Project tai “Google Directory”), Google saattaa näyttää hakutuloksissa sinne kirjoitetun kuvauksen. Tämä ei ole yleensä optimaalinen tilanne, joten noodp-robots-tagilla kannattaa kieltää DMOZ-kuvauksen näyttäminen:

<meta name="googlebot" content="noodp" />

noydir

Maksullisessa Yahoo Directory:ssä oleva kuvaus voi näkyä Yahoo!-hakukoneen tuloksissa. Tällöin kannattaa käyttää noydir-parametriä, joka toimii tämän linkkihakemiston suhteen samoin kuin noodp DMOZ:n.

<meta name="slurp" content="noydir" />

Slurp on Yahoo!:n käyttämä botti.

nosnippet

Jos haluat estää hakukoneita laittamasta hakutuloksiin otteita sivusi sisällöstä, käytä nosnippet-parametriä. Ainakin Google- ja Bing-tuloksissa tämä parametri estää samalla myös välimuistikopion näyttämisen eli se toimii kaupan päälle kuin noarchive.

unavailable_after

Tämä parametri poistaa sivun Googlesta halutun ajankohdan jälkeen. Syntaksi on tällainen:

<meta name="googlebot" content="unavailable_after: 25-Dec-2007 15:00:00 EST">

Päiväys noudattaa RFC 850 -formaattia.

Unavailable_after sopii virallisen tarinan mukaan tietyn ajan jälkeen vanheneville sivuille: esimerkiksi alennuksesta kertovalle sivulle tai myöhemmin maksulliseen arkistoon siirtyvälle sisällölle. Käytännössä sen käyttäminen ei ole yleensä hyvää bisnestä, vaan hakijat kannattaa pikemminkin 301-ohjata mahdollisimman hyödylliselle toiselle sivulle.

Rel=”nofollow” -mikroformaatti

Rel=”nofollow” on linkkiin eli a-elementtiin sijoitettava attribuutti. Siis tällainen:

<a href="http://www.spamheaven.com/" rel="nofollow">Spam Heaven</a>

Google lanseerasi tämän mikroformaatin vuonna 2005 taistellakseen spämmiä vastaan. Erityisesti kohteena oli foorumeille jätettävä spam ja blogeihin automaattisesti syötetty kommenttispämmi.

Nofollow kertoo hakukoneille, että linkille ei pidä antaa arvoa: linkki ei paranna kohdesivun sijoittumista hakukoneissa. Se ei kuitenkaan kiellä seuraamasta linkkiä – toisin kuin samanniminen meta-robots-tagin arvo.

Monessa blogialustassa kommentoijien linkit merkitään automaattisesti nofollow-attribuutilla, niin tässäkin WordPress-blogissa. Halutessani voisin asentaa ns. dofollow-lisäosan, jolloin kommentoijat saisivat hakukonemehuja sivustoilleen. En kuitenkaan ole aikeissa tehdä niin, koska en halua mieleni myrkyttyvän kommentoijien motiivien epäilystä.

Nofollow-attribuutti soveltuu paitsi suosituille foorumeille ja blogien kommentteihin niin myös

  1. spämmisivuille osoittaviin linkkeihin: linkitys näille ilman “linkkikondomia” saattaisi vähentää linkittävän sivuston arvoa hakukoneissa
  2. linkkeihin joiden kohdesivustoja ei haluta tukea: linkitys ilman nofollow-attribuuttia antaa hakutuloksia parantavaa linkkivoimaa kohdesivulle ja sivustolle jonka osa se on
  3. affiliate-linkkeihin ja muihin linkin sisältäviin mainoksiin: Google voi rangaista myydyistä linkeistä, joissa ei ole nofollow’ta

Hakukoneet ja muut botit

Seuraavaksi luetellaan merkittävimpien hakukoneiden robotit, jotka voidaan laittaa robots.txt-tiedoston user-agent-kohtaan tai meta-tagiin “robots”-tekstin paikalle. Lisäksi käsitellään tarkemmin duggmirror, ia_archiver, SnapPreviewBot, wget ja Fasterfox -botit.

Google

Botit:

  • Googlebot: normaali Googlen haku
  • Googlebot-Mobile: kännykkähaku
  • Googlebot-Image: kuvahaku
  • Mediapartners-Google: AdSense-mainokset määräytyvät tämän botin indeksoiman sisällön mukaan
  • Adsbot-Google: tutkii AdWords-mainoksien laskeutumissivujen laatua

Microsoftin Bing (ent. Live Search)

Botit:

  • MSNBot: normaali Bing-haku
  • MSNBot-Media: kuvat, videot yms.
  • MSNBot-NewsBlogs: uutiset ja blogit
  • MSNBot-Products: tuotteet ja ostokset
  • MSNBot-Academic: akateeminen haku

Bing on Microsoftin uudella nimellä lanseeraama Live Search (sitä ennen MSN-portaalin hakukone). Suomessa sillä on hiukan markkinaosuutta, esimerkiksi Live Messenger -pikaviestiohjelman ja Internet Explorer 7/8 -selaimen käyttäjiä. USA:ssa Bingin osuus hauista on noin 10 prosenttia, ja se on siellä kolmanneksi suosituin hakukone.

Bing on Googlen lisäksi usein ainoa hakukone, jolla on huomionarvoista merkitystä suomenkielisten sivujen markkinoinnissa.

Yahoo!

Botit:

  • Slurp: normaali Yahoo!-haku
  • Yahoo-MMCrawler: kuvahaku
  • Yahoo-MMAudVid: videohaku (ja AlltheWeb-audiohaku)
  • YahooSeeker/M1A1-R2D2: mobiili-web-haku

Yahoo! on toiseksi suosituin hakukone Yhdysvalloissa, jossa sillä on noin parinkymmenen prosentin markkinaosuus. Yahoon botit vastaavat myös esimerkiksi AlltheWeb-hakukoneen tuloksista.

Ask.com

Botti: Teoma

Ask.com eli entinen Ask Jeeves on neljänneksi suosituin hakukone USA:ssa, jossa sillä on muutaman prosentin markkinaosuus.

Alexa ja Internet Archive Wayback Machine

Botti: ia_archiver

Alexa on nettisivustojen kävijämääriä mittaava verkkopalvelu. Internet Archive taas on netissä julkaistua materiaalia arkistoiva palvelu ja sen Wayback Machine väline sivustojen historian tutkimiseen.

Alexan ia_archiver-botti suorittaa crawl-toimet myös Wayback Machinen puolesta. Selitys on palveluiden yhteinen perustaja: Brewster Kahle.

ia_archiver kannattaa blokata jos seuraavat kaksi seikkaa pätevät:

  1. Et tarvitse Alexa-tilastojen tuomaa statusta (esim. mainostilan myyntiä varten).
  2. Et halua että ihmiset näkevät tulevaisuudessa millaisia web-sivuja tai sisältöjä tuotat nykyään.

DuggMirror

Botti: duggmirror

DuggMirror on sosiaaliseen Digg-uutissivustoon syötettyjä juttuja kopioiva mirror eli peilisivusto. Sen tarkoitus on tehdä sisältö saatavaksi silloinkin jos sivuston oma palvelin tai tietoliikenneyhteys ei pysty palvelemaan Digg:stä tulevia kävijämassoja.

duggmirror-botti kannattaa joskus blokata seuraavasta syystä: joku voi syöttää esimerkiksi StumbleUpon -verkkopalveluun DuggMirror-domainiin kopioidun sivusi, jolloin jotkut voivat vahingossa linkittää siihen; näin et saa linkistä maksimaalista hyötyä omalle sivustollesi.

Snap-esikatselut

Botti: SnapPreviewBot

Snap on hakukone, joka tarjoaa blogeihin Snap Shots -lisäosaa, joka näyttää pienen esikatseluikkunan kun kursori viedään linkin tai sen vieressä olevan symbolin päälle.

Jos olet sulkenut jonkun sivuston osan muilta boteilta, saatat ehkä silti haluta että Snap-esikatselut toimivat kaikkialla. Asia ratkaistaan laittamalla robots.txt-tiedostoon seuraava osio:

User-agent: SnapPreviewBot
Disallow:

Wget

Botti: Wget

Wget on yksinkertainen tietokoneohjelma jota käytetään mm. web-sisällön automaattiseen ja ajoitettuun kopiointiin. Wget kannattaa blokata, jos se kuluttaa liikaa tiedonsiirtokapasiteettia. Sen käyttäjä voi kuitenkin käskeä ohjelmaa jättämään robots.txt:n huomiotta.

Fasterfox

Botti: Fasterfox

Fasterfox on Firefox-selaimen lisäosa joka nopeuttaa sivujen latautumista. Tämän se tekee mm. seuraamalla avatulla sivulla olevia linkkejä ennakoivasti ja lataamalla taustalla kohdesivut valmiiksi. Kaistastaan tarkka webmaster blokkaa Fasterfoxin robots.txt:llä.

Muut botit

Netissä liikkuu paljon vanhentuneita ja virheellisiä listoja boteista. Ajantasaisimman tiedon löytää yleensä bottia käyttävän palvelun tai ohjelman omista ohjeista. Tämän vuoksi en linkitä tähän mitään historiallista dokumenttia tai listaa joka on hyvää vauhtia muuttumassa sellaiseksi.

Linkkisuosion kanavointi

Huom! Google on muuttanut algoritmiaan, eikä nofollow-attribuutti sovi enää linkkisuosion kanavointiin.

Nofollow-linkit ovat nykyisin Googlelle kuin mustia aukkoja, jotka imevät hukkaan linkkisuosiota. Ainoa tapa vaikuttaa linkkivoiman kanavoitumiseen Googlessa on aidot muutokset linkki- ja sivurakenteeseen.

Robots.txt ei sovellu linkkisuosion kanavoimiseen koska

  1. Blokatuillekin sivuille voi kertyä linkkisuosiota.
  2. Boteilta suljetuille sivuille kertynyt linkkivoima ei pääse leviämään eteenpäin.
  3. Em. syistä robots.txt-sulku voi heittää hukkaan kallisarvoista linkkivoimaa.

Edellinen saattaa kuulostaa intuition vastaiselta. On kuitenkin syytä muistaa että linkkisuosio on relaationaalinen ominaisuus: muilla sivuilla olevat linkit ratkaisevat sen kertymisen, ei sisällön tutkiminen mikä voidaan kieltää robots.txt:llä.

Robots.txt:ssä oleva kielto ei myöskään takaa että sivua ei näytetä Googlen hakutuloksissa: se voi rankata linkkisuosion, domain-nimen ja linkeissä olevien ankkuritekstien avulla. Jopa DMOZ-kuvausta voidaan käyttää tuolloin hakutuloksissa. Google kuitenkin kunnioittaa robots.txt:tä eli se ei tutki siinä kiellettyjen sivujen sisältöä.

Myöskään “noindex” meta-robots-tagin parametrinä ei estä linkkivoiman kertymistä sivulle. Tämän vuoksi jopa sivukartta voidaan poistaa sillä hakukoneiden näkyvästä indeksistä, mutta silti se levittää linkkivoimaa yhtä tehokkaasti jos sitä ei nofollow-parametrillä tai -mikroformaatilla estetä.

Lähteitä ja lisätietoa:

Linkkisuosion kanavointi – kappale on osa tämän blogin oppaasta joka kertoo mitä hakukoneoptimointi on.

Eric Enge haastattelee Google-insinööri Matt Cuttsia – haastatelussa käsitellään mm. Googlen robots.txt-politiikan historiallisia taustoja.

Robots-meta-tagit ei-HTML-tiedostoille – virallisen Google-blogin artikkeli esittelee paitsi unavailable_after -parametrin niin myös X-Robots-Tag -direktiivin jolla voidaan vaikuttaa esimerkiksi videoiden, kuvien, ääni- ja pdf-tiedostojen indeksoitumiseen. Aihetta syventävät myös Sebastian ja Hamlet Batista.

Googlen robots.txt-ohjeet: Miten rajoitan sivustoni käyttöä robots.txt-tiedoston avulla?

Bing-botit – lista Bingin käyttämistä boteista.

Yahoon bottikohtaiset ohjeet: Slurp – video – kuvat – mobiili

Ask.com: ohjeet webmastereille – yhden sivun tiivis paketti Ask.comin botista.

5 vastausta juttuun “Robots.txt, meta-robots, nofollow ja hakukoneet”

  1. Lasse sanoo:

    “Opas listaa keinoja joita jokaisen webmasterin olisi hyvä hallita” on hyvin tiivistetty.

    Itse opin hallitsemaan robottien käyttäytymistä niin sanotusti kantapään kautta…

    Kiitos oppaasta!

  2. Arttu sanoo:

    Ole hyvä, Lasse :)

    Täytyy tunnustaa että itsellenikin tuli alun perin yllätyksenä että esim. “User-agent: *” -käskyt eivät periydy erikseen käskytetyille boteille ja että Google näyttää robots.txt:llä suljettuja sivuja tuloksissaan.

  3. am Design » Baabelin kirjasto » Asiaa, asiattomuuksia ja joulutervehdys – Artikkelikatsaus: Marraskuu 2007 sanoo:

    [...] ilahdutti marraskuussa kattavalla kattauksella robottimanipulaation pitopöytään. Artikkelin Robots.txt, meta-robots, nofollow ja hakukoneet sisältö tiivistyy hyvin sen aloituskappaleeseen: Tämä opas kertoo miten [...]

  4. Valontuoja » Blog Archive » Linkit 01.6. - 02.6. sanoo:

    [...] Robots.txt, meta-robots, nofollow ja hakukoneet | Nettibisnes.Info [...]

  5. RÃ¥tta sanoo:

    nyt löytyy Robots.txt vaikkakin vielä tyhjänä, mutta kuitenkin

Kommentoi