Indeksoitavuus: robots.txt ja meta robots
Mitä ovat robots.txt ja meta robots?
robots.txt on sivuston juurihakemistossa (esim. https://esimerkki.fi/robots.txt) sijaitseva tekstitiedosto, joka kertoo hakukoneiden roboteille, mitä hakemistoja tai sivuja ne voivat indeksoida (crawl). Meta robots -tunniste puolestaan sijaitsee sivun HTML <head> -osassa ja se määrittää, indeksoidaanko sivu hakutuloksiin, vaikka se olisi jo indeksoitu. Ne toimivat eri tasoilla: toinen vastaa kysymykseen ”voitko tulla tästä ovesta sisään”, toinen kysymykseen ”voitko lisätä tämän huoneen hakemistoon, kun olet tullut sisään”.
Tätä eroa sekoitetaan usein, koska molemmista puhutaan ”bottien hallinta” -otsikon alla, mutta niiden vaikutusalueet ovat täysin erilaiset, ja väärä yhdistelmä voi johtaa ei-toivottuihin tuloksiin.
robots.txt on itse asiassa ”sääntöpyyntö”, ei turvatoimi: hyväntahtoiset botit (kuten Googlebot) noudattavat näitä sääntöjä, mutta pahantahtoiset botit voivat sivuuttaa tiedoston kokonaan. Siksi on virheellinen turvallisuusoletus yrittää ”piilottaa” salaista tai arkaluontoista sisältöä robots.txt-tiedoston avulla.
Miksi tämä on tärkeää?
Näiden kahden mekanismin sekoittaminen voi vahingoittaa sivuston näkyvyyttä vakavasti. Jos sivun indeksointi estetään robots.txt-tiedostolla, hakukone ei näe sivulla olevaa noindex -tunnistetta lainkaan — koska sen näkemiseksi hakukoneen on ensin indeksoitava sivu — ja sivu voi jäädä vahingossa hakutuloksiin (yleensä otsikottomana tai kuvauksettomana merkintänä).
Oikein käytettyinä nämä kaksi työkalua antavat sinulle mahdollisuuden hallita tarkasti, mikä sisältö näkyy hakutuloksissa: robots.txt-tiedosto ohjaa indeksointibudjetin pois merkityksettömiltä alueilta (esim. hallintapaneeli, hakutulossivut), kun taas meta robots -tagin avulla voidaan poistaa tiettyjä sivuja (esim. kiitossivu, suodatetut luettelovariaatiot) hakukoneiden indeksistä.
Suurilla sivustoilla indeksointibudjetti on rajallinen resurssi: botti indeksoi jokaisella vierailullaan vain osan sivustosta. Estämällä robots.txt-tiedostolla arvottomat alueet (esim. sisäiset hakutulossivut, suodatinyhdistelmät) varmistat, että botti käyttää aikansa todella tärkeisiin sivuihin.
Miten tämä korjataan?
- Estä robots.txt-tiedostolla vain ne hakemistot, joita et todellakaan halua indeksoitavan (esim. hallintapaneelit, ostoskorisivut).
- Jos haluat poistaa sivun hakukoneiden indeksistä, älä tee sitä robots.txt-tiedoston avulla, vaan käytä
<meta name="robots" content="noindex">-tunnistetta. - Muista, että noindex-määritteen toimimiseksi sivun on oltava robots.txt-tiedoston mukaan indeksoitavissa.
- Noudata yhden totuudenlähteen periaatetta: älä toista samaa signaalia ristiriitaisesti useilla eri menetelmillä.
- Tarkista robots.txt-tiedosto säännöllisesti; tuotantoympäristössä voi olla vahingossa jääneitä testaus- tai staging-rajoituksia.
- Tarkista säännöllisesti Google Search Consolen kattavuusraportista, mitkä sivut on merkitty ”indeksoimattomiksi” tai ”noindex-määräyksen vuoksi pois jätetyiksi”.
Esimerkki
User-agent: *
Disallow: /admin/
Allow: /
<meta name="robots" content="noindex, follow">
Huono esimerkki: sivu, joka on ensin Disallow: /kampanya/ robots.txt-tiedostossa ja lisäämällä sen sitten itse sivulle <meta name="robots" content="noindex"> — koska botti ei indeksoi sivua lainkaan, noindex-merkintä ei toimi, ja sivu voi silti näkyä hakutuloksissa.
Yleisiä virheitä
Disallow: /kirjoittamalla vahingossa koko sivuston indeksoinnin estäminen.- Sivun estäminen sekä robots.txt-tiedostossa että lisäämällä siihen noindex-tunniste (tunnistetta ei huomioida lainkaan, sivu voi jäädä hakemistoon).
- Unohtaa siirtää testaus- tai staging-ympäristön rajoittava robots.txt-tiedosto tuotantoympäristöön.
- Tärkeiden sivujen lisääminen vahingossa Disallow-luetteloon.
- Siirtää vanhat robots.txt-säännöt uuteen sivustoon sivuston siirron tai uudistuksen jälkeen tarkistamatta niitä; vanhaan sivustoon sopiva rajoitus voi uudessa rakenteessa koskea myös tärkeitä sivuja.
- Johdonmukaisen indeksointikäytännön määrittämättä jättäminen sivuilla, jotka tuottavat sivutus-, suodatus- tai lajitteluparametreja; kun osa tällaisista sivuista jää hakemistoon ja osa suljetaan pois, syntyy koko sivustolle sekava signaali.
- Canonical-tagin ja noindex-määritteen ristiriitainen käyttö samalla sivulla; esim. sivun asettaminen noindex-tilaan samalla kun toinen sivu määritetään kanoniseksi, tuottaa sekavia signaaleja.
- Unohtaa, että yksi robots.txt-tiedosto riittää koko sivustolle, ja yrittää asettaa erillisiä pääsyrajoituksia alihakemistoihin; robots.txt-tiedosto on voimassa vain juurihakemistossa.
- Seoraporu.co-raportissa ristiriitaiset signaalit, kuten ”estetty robots.txt:llä, mutta noindex on myös käytössä”, merkitään erikseen; valitse vain toinen näistä sen sijaan, että käyttäisit molempia samalla sivulla.