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 Microsoft Live Search (MSN). 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. Live Search (MSN) 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!, Live Search 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 Live Search eli MSN, 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 Live Search -hakukoneessa, mutta suosittelen käyttämään noarchive:a, jos suunnittelet olevasi seuraava Hillomies.
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 Live Search -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
- spämmisivuille osoittaviin linkkeihin: linkitys näille ilman “linkkikondomia” saattaisi vähentää linkittävän sivuston arvoa hakukoneissa
- linkkeihin joiden kohdesivustoja ei haluta tukea: linkitys ilman nofollow-attribuuttia antaa hakutuloksia parantavaa linkkivoimaa kohdesivulle ja sivustolle jonka osa se on
- affiliate-linkkeihin ja muihin linkin sisältäviin mainoksiin: Google voi rangaista myydyistä linkeistä, joissa ei ole nofollow’ta
- hakukoneoptimoinnin kannalta turhille sivuille osoittaviin sisäisiin linkkeihin: muuten nuo sivut söisivät rajallista linkkivoimaa tärkeämpien sivujen kustannuksella.
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.
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
Microsoft Live Search (ent. MSN Search)
Botit:
- MSNBot: normaali Live-haku
- MSNBot-Media: kuvat, videot yms.
- MSNBot-NewsBlogs: uutiset ja blogit
- MSNBot-Products: tuotteet ja ostokset
- MSNBot-Academic: akateeminen haku
Live Search on Microsoftin uudella nimellä lanseeraama MSN-portaalin hakukone. Suomessa sillä on hiukan markkinaosuutta, esimerkiksi Live Messenger -pikaviestiohjelman ja Internet Explorer 7 -selaimen käyttäjiä. USA:ssa Liven osuus hauista on noin 10 prosenttia, ja se on siellä kolmanneksi suosituin hakukone.
Live Search 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:
- Et tarvitse Alexa-tilastojen tuomaa statusta (esim. mainostilan myyntiä varten).
- 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
Paras väline linkkisuosion kanavointiin on rel=”nofollow” -attribuutti. Sillä voidaan säädellä tarkasti eri sivuille virtaavaa linkkivoimaa, missä kannattaa pyrkiä seuraavaan:
- Yhteystieto- yms. hakukoneoptimoinnin kannalta turhille sivuille kannattaa linkittää ilman nofollow-mikroformaattia vain joiltakin harvoilta sivuilta: näin ne pysyvät hakukoneiden indekseissä mutta eivät syö liikaa linkkivoimaa.
- Nofollow’n avulla mistä tahansa navigaation sivusta voidaan tehdä linkkivoimaa jakava keskus: kaikkiin paitsi tärkeisiin sivuihin nofollow’ta voi käyttää melko aggressiivisesti.
Esimerkiksi tässä blogissa linkkivoima jakautuu etusivulta vähemmän tärkeille sivuille Linkit ja Yrityksiä -sivujen kautta.
Robots.txt ei ole nofollow’n veroinen työkalu linkkisuosion kanavoimisessa koska
- Blokatuillekin sivuille voi kertyä linkkisuosiota (jos sitä ei ole nofollow’lla estetty).
- Boteilta suljetuille sivuille kertynyt linkkivoima ei pääse leviämään eteenpäin.
- 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 indeksoida Googlessa: se voi silti 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. nofollow’ta ja 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?
Live Search -botit – lista MSN:n eli nykyään Liven käyttämistä boteista. (Katso myös ohje esikatselunäkymän estämiseen.)
Yahoon bottikohtaiset ohjeet: Slurp – video – kuvat – mobiili
Ask.com: ohjeet webmastereille – yhden sivun tiivis paketti Ask.comin botista.
RSS
Tagit:
Blogilista
Uutiskirje
Avainsanatyökalu
Linkkityökalu
Linkkejä
Yrityksiä
RSS-syöte
Lisää Blogilistan suosikkeihin
Uutiskirje sähköpostiin
15.11.2007 klo 20.21
“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!
15.11.2007 klo 21.11
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.
27.12.2007 klo 23.51
[...] 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 [...]
2.6.2008 klo 15.13
[...] Robots.txt, meta-robots, nofollow ja hakukoneet | Nettibisnes.Info [...]
29.9.2008 klo 9.49
nyt löytyy Robots.txt vaikkakin vielä tyhjänä, mutta kuitenkin