robots.txt, meta-robots, nofollow ja hakukoneet . . .
HOKS! kaikki robotit eivät noudata näitä sääntöjä !
Tämä opas kertoo miten robots.txt-tiedosto, meta-robots-tagi ja rel=”nofollow” -attribuutti
ennen vaikuttivat hakukonerobotteihin.
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 on normaali tekstitiedosto, joka sijoitetaan domainin juureen.
Esimerkiksi http://sivustot.net/robots.txt.
robots.txt:ssä voi antaa seuraavia komentoja:
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.
#Aluksi kaikkia botteja koskevat säännöt User-agent: * Disallow: /perhekuvat/ Disallow: /opinnaytteet/ Allow: /opinnaytteet/gradu.pdf Crawl-delay: 30 Sitemap: http://www.sivustot.net/sitemap.xml #Sallitaan AdSense-mainosten kohdistaminen kaikkialla User-agent: Mediapartners-Google Disallow:
Ylläolevassa esimerkissä
Tiedostoon voi merkitä kommentteja laittamalla niiden eteen #-merkin. Botit eivät huomioi näitä kohtia.
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-komentoa voi käyttää seuraavilla tavoilla:
Jokerimerkkejä * ja $ tukevat Google, Yahoo! ja Microsoft Live Search (MSN). Ask.com tukee *-merkkiä muttei säännöllisiä lausekkeita.
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-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.sivustot.net/sivukartta.xml
Sitemap-komentoa tukevat kaikki länsimaissa merkittävimmät hakukoneet: Google, Yahoo!, Live Search ja Ask.com.
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.
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-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-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.
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.
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" />
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.
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.
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” 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
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:
Botit:
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.
Botit:
Yahoo! on toiseksi suosituin hakukone Yhdysvalloissa, jossa sillä on noin parinkymmenen prosentin markkinaosuus. Yahoon botit vastaavat myös esimerkiksi AlltheWeb-hakukoneen tuloksista.
Botti: Teoma
Ask.com eli entinen Ask Jeeves on neljänneksi suosituin hakukone USA:ssa, jossa sillä on muutaman prosentin markkinaosuus.
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:
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.
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:
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.
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ä.
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.
Paras väline linkkisuosion kanavointiin on rel=”nofollow” -attribuutti. Sillä voidaan säädellä tarkasti eri sivuille virtaavaa linkkivoimaa, missä kannattaa pyrkiä seuraavaan:
Robots.txt ei ole nofollow’n veroinen työkalu linkkisuosion kanavoimisessa koska
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ä.