Moduuli 1 · 1.2
Indeksointirobotti: miten hakukone löytää sivustosi
Moduuli 1: Miten hakukoneet toimivat · Lukuaika: 11 minuuttia
Oppimistavoite: Tämän oppitunnin jälkeen osaat kuvata, miten hakurobotti löytää uusia sivuja, mitä tilakoodeja se kohtaa ja mitä ne tarkoittavat, sekä mikä estää hakurobottia.
Keskeiset käsitteet: hakurobotti eli crawler (Googlebot, Bingbot), linkkien seuraaminen, sivustokartta, HTTP-tilakoodi (200, 301, 302, 404, 410, 429, 5xx), uudelleenohjaus, indeksointibudjetti (crawl budget), JavaScript ja renderöinti, orposivu, robots.txt
Mikä hakurobotti on
Hakurobotti (crawler, myös spider tai bot) on ohjelma, joka hakee verkkosivuja samaan tapaan kuin selaimesi, mutta automaattisesti ja valtavassa mittakaavassa. Googlella on Googlebot, Bingillä Bingbot. Ne pyytävät osoitteen, saavat HTML:n takaisin, lukevat siinä olevat linkit ja lisäävät uudet osoitteet listalleen haettaviksi myöhemmin.
Googlen mukaan Googlebot käy sivustolla keskimäärin enintään kerran muutamassa sekunnissa, ja useimmat pyynnöt tulevat Googlebotin älypuhelinversiolta. Google katsoo siis sivustoasi lähinnä niin kuin puhelin sen näkee. Palaamme tähän oppitunnilla 4.2.
Hakurobotti voi myös esiintyä Googlebotina: nimi (user-agent) on helppo väärentää. Google suosittelee tarkistamaan epäilyttävän käynnin IP-osoitteen käänteisellä DNS-haulla. Siitä on hyötyä, jos palvelimen lokissa näkyy "Googlebot", joka tekee outoja asioita.
Miten hakurobotti löytää uusia sivuja
Google mainitsee kolme tapaa:
- Jo tunnettujen sivujen uudelleenkäynti. Niistä se huomaa muutokset ja uudet linkit.
- Linkkien seuraaminen. Linkki Googlen jo tuntemalta sivulta uudelle sivulle on tärkein tapa tulla löydetyksi. Tämä koskee sekä oman sivustosi sisäisiä linkkejä (valikko, linkki tekstissä) että muiden sivustojen linkkejä.
- Itse toimittamasi lista: sivustokartta. Sivustokartta on tiedosto, jossa on sivujesi osoitteet. Lähetät sen Search Consoleen tai merkitset sen robots.txt-tiedostoon (oppitunti 3.4). Googlen mukaan sivustokartta ei ole pakollinen, mutta siitä on hyötyä varsinkin uusille sivustoille, joille on vielä vähän linkkejä, suurille sivustoille ja sivuille, jotka ovat syvällä sivuston rakenteessa.
Linkkien on oltava oikeita linkkejä
Google voi seurata linkkiä vain, jos se on tavallinen <a>-elementti, jossa on href:
<a href="/bruidsboeketten">Bruidsboeketten</a> <!-- hyvä -->
<span onclick="ga('/bruidsboeketten')">Bruidsboeketten</span> <!-- ei linkki Googlelle -->Painike, joka siirtyy toiselle sivulle pelkän JavaScriptin avulla, ei ole hakurobotille linkki. Sivua, johon ei linkitetä mistään, kutsutaan orposivuksi (orphan page). Hakurobotti löytää sen vain sivustokartan kautta, eivätkä kävijätkään löydä sitä helposti. Uuteen sivuun kannattaa siis aina linkittää valikosta tai tekstistä.
JavaScript: ensin haku, suoritus myöhemmin
Monet modernit sivustot rakentavat sivun JavaScriptillä selaimessa. Google selviää siitä: se suorittaa JavaScriptin Chromiumin tuoreella versiolla, joka on Chrome-selaimen pohja. Tätä kutsutaan renderöinniksi. Google kuvaa tällaisten sivujen käsittelyn kolmena vaiheena: indeksointirobotin haku (crawling), renderöinti ja indeksointi. Tilakoodin 200 antavat sivut menevät jonoon renderöitäviksi.
Tästä seuraa kaksi asiaa:
- Sen, mikä tulee sivulle vasta JavaScriptin jälkeen, Google näkee myöhemmin kuin suoraan HTML:ssä olevan sisällön.
- Kaikki hakurobotit eivät suorita JavaScriptiä. Google sanoo tämän itsekin. Suoraan HTML:ssä olevat tekstit, otsikot ja linkit ovat siis varmin valinta kaikille hakukoneille. Google kutsuu palvelimella luotua HTML:ää "yhä hyväksi ideaksi".
Tämän kurssin automaattiset tarkistukset lukevat HTML:n sellaisena kuin palvelin sen lähettää, ilman JavaScriptiä. Se, mitä näet selaimessasi, voi poiketa siitä.
Tilakoodit: mitä palvelin vastaa
Jokaisen sivun mukana palvelin lähettää tilakoodin. Et näe sitä ruudulla, mutta hakurobotti lukee sen ensimmäisenä:
| Koodi | Merkitys | Mitä Google tekee |
|---|---|---|
| 200 | OK, tässä on sivu | Sisältö siirtyy indeksointiin (mukaan pääsy ei ole taattu) |
| 301 / 308 | Siirretty pysyvästi toiseen osoitteeseen | Vahva signaali siitä, että uusi osoite on oikea |
| 302 / 307 | Tilapäisesti muualla | Heikko signaali; vanha osoite jää usein pääosoitteeksi |
| 404 / 410 | Ei ole (enää) olemassa | Aiemmin indeksoitu osoite poistuu indeksistä; Google käy siellä yhä harvemmin |
| 429 | Liikaa pyyntöjä | Google hidastaa indeksointia tilapäisesti |
| 5xx | Virhe palvelimella | Google hidastaa indeksointia tilapäisesti; jos osoite antaa jatkuvasti palvelinvirheen, se putoaa lopulta indeksistä |
Huomaa soft 404: sivu, joka näyttää "ei löytynyt" mutta antaa tilakoodin 200. Hakurobotille se näyttää oikealta sivulta, kävijälle ei. Search Console ilmoittaa tällaiset sivut erikseen. Poistetun sivun pitää siis antaa oikea 404 tai 410, tai ohjata 301-uudelleenohjauksella korvaavalle sivulle.
Uudelleenohjausketjua (http, sitten https, sitten www, sitten uusi sivu) Google kyllä seuraa noin kymmeneen vaiheeseen asti, mutta jokainen vaihe vie aikaa. Oppitunnilla 4.1 näet, miten sen saa tehtyä yhdellä askeleella.
Mikä estää hakurobottia
Google mainitsee syiksi sille, ettei sivua indeksoida: palvelinongelmat, verkko-ongelmat ja robots.txt-tiedoston säännöt, jotka kieltävät Googlebotilta pääsyn. Käytännössä näkee lisäksi:
- sivuston, joka on vielä "huoltotilassa" tai salasanan takana;
- WordPressissä valintaruudun "Estä hakukoneita indeksoimasta tätä sivustoa", joka lisää noindexin (se kuuluu vaiheeseen 2, mutta vaikutus on sama: sivua ei löydy);
- suojauksen tai palomuurin, joka torjuu tuntemattomat botit koodilla 403 tai 429;
- sivuston, jossa voi liikkua vain JavaScript-painikkeilla.
robots.txt saa oman oppituntinsa (3.3). Toistaiseksi riittää tietää, että se on tekstitiedosto osoitteessa https://www.example.com/robots.txt ja kertoo, mitä sivustosi osia hakurobotti ei saa hakea.
Indeksointibudjetti: useimmille sivustoille ei huolenaihe
Verkossa puhutaan paljon indeksointibudjetista (crawl budget): kuinka monta sivua Google haluaa ja pystyy hakemaan sivustoltasi. Googlen mukaan aiheesta kertova ohje on tarkoitettu suurille sivustoille, karkeasti arvioiden yli miljoonan sivun sivustoille tai sivustoille, joilla yli kymmenentuhatta sivua muuttuu päivittäin. Jos uudet sivusi haetaan jo julkaisupäivänä, asiasta ei tarvitse välittää. Bloemenatelier Lotten kaltaiselle kolmenkymmenen sivun sivustolle se ei ole aihe lainkaan. Ajantasainen sivustokartta ja satunnainen vilkaisu indeksointiraporttiin riittävät.
Käytännössä: palvelimen loki
DirectAdminissa ja vastaavissa hallintapaneeleissa voit tarkastella sivustosi käyttölokia. Hae sanalla "Googlebot" tai "bingbot", niin näet, mitä sivuja ne pyysivät ja minkä tilakoodin ne saivat. Jos siellä näkyy paljon 404- tai 5xx-virheitä, tiedät mistä aloittaa. Muilla palveluntarjoajilla lokit löytyvät yleensä vastaavalla nimellä asiakaspaneelista.
Yhteenveto
- Hakurobotti hakee sivuja ja löytää uusia osoitteita linkkien ja sivustokartan kautta.
- Vain oikeita
<a href>-linkkejä seurataan; sivu, johon ei linkitetä, on orposivu. - Google suorittaa JavaScriptin, mutta myöhemmin; muut hakurobotit eivät usein lainkaan. Tärkeä sisältö kuuluu HTML:ään.
- Tilakoodi ratkaisee, mitä hakurobotti tekee: 200 käsitellään, 301 siirtää, 404/410 poistaa, 5xx ja 429 hidastavat indeksointia.
- Indeksointibudjetilla on merkitystä vain hyvin suurilla tai hyvin nopeasti muuttuvilla sivustoilla.
Tietovisa
Tehtävä
Tehtävä A1.2: Mitä hakurobotti näkee kotisivullasi? Syötä sivustosi osoite (tai www.wikipedia.org, jos sinulla ei ole omaa sivustoa). Kirjaa sitten, mitä odotat: lopullisen sivun tilakoodi, osoite, johon päädyt uudelleenohjausten jälkeen, ja onko sivulla noindex. Ohjelma hakee etusivun kuten hakurobotti, ilman JavaScriptiä, ja näyttää uudelleenohjausketjun, tilakoodin, HTML:ssä olevien oikeiden omaan sivustoosi osoittavien linkkien määrän sekä sen, onko sivun teksti luettavissa ilman JavaScriptiä.
Lisälukemista
Näiden artikkelien ohjeet koskevat WebOkén hallintapaneeleja; muilla palveluntarjoajilla toiminta on samankaltaista.
- DirectAdmin-ohje 4.7: Site Redirects: verkkotunnuksen tai sivun uudelleenohjaus
- DirectAdmin-ohje 17.2: Site summary & logs: virhelogi ja käyttölogi
- Ohjaa kävijät pakotetusti https-osoitteeseen
- Google, Miten HTTP-tilakoodit ja verkkovirheet vaikuttavat Google-hakuun: https://developers.google.com/search/docs/crawling-indexing/http-network-errors
- Google, JavaScript-hakukoneoptimoinnin perusteet: https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics
- Google, Indeksointibudjetti suurille sivustoille: https://developers.google.com/crawling/docs/crawl-budget
