Kolme ulkoasua, sama sisältö: haittaako se hakukonetta?
Vastaus lyhyestiEi haittaa, jos sisältö ja osoite pysyvät samoina. Google määrittelee cloakingin eri sisällön näyttämiseksi käyttäjille ja hakukoneille tarkoituksena manipuloida sijoituksia. Tämä sivusto näyttää kaikille saman HTML:n samassa osoitteessa; vain värit, fontit ja liike vaihtuvat. Googlebot saa arvonnassa minkä tahansa ulkoasun samalla tavalla kuin ihminen, koska sitä ei tunnisteta erikseen.
Kun avasit tämän sivun, selaimesi arpoi sinulle yhden kolmesta ulkoasusta. Toinen kävijä näkee saman tekstin tummalla pohjalla hehkuvan taustan päällä, kolmas lähtöaulan taulun näköisenä. Moni hakukoneoptimoija hätkähtää tästä: eikö eri ihmisille näytettävä eri sivu ole juuri sitä, mistä Google rankaisee?
Ei ole, kunhan kolme asiaa pysyy samana: osoite, sisältö ja se, ettei hakukonetta kohdella eri tavalla kuin ihmistä.
Cloaking tarkoittaa eri sisältöä hakukoneelle, ei eri ulkoasua ihmisille
Googlen spam-säännöissä cloaking määritellään eri sisällön näyttämiseksi käyttäjille ja hakukoneille tarkoituksena manipuloida hakusijoituksia ja johtaa käyttäjiä harhaan (Google Search Central). Esimerkkinä Google mainitsee tekstin tai avainsanojen lisäämisen sivulle vain silloin, kun sivua pyytää hakukone eikä ihminen.
Määritelmässä on kaksi ehtoa: ero hakukoneen ja käyttäjän välillä sekä tarkoitus manipuloida. Ulkoasujen arvonta ei täytä kumpaakaan. Ero on ihmisten välillä, ei ihmisen ja botin, eikä yksikään ulkoasu sisällä tekstiä, jota muut eivät sisällä.
Sama periaate näkyy Googlen ohjeessa dynaamisesta renderöinnistä, jossa boteille tarjotaan valmiiksi renderöity versio. Googlen mukaan Googlebot ei yleensä pidä sitä cloakingina, kunhan se tuottaa samankaltaista sisältöä (Google Search Central). Ratkaiseva sana on sisältö, ei esitystapa.
Googlen A/B-testausohje sanoo saman suoremmin
Googlella on erillinen ohje sivuston testaamisesta. Sen mukaan testaamisessa kokeillaan sivuston eri versioita ja kerätään tietoa siitä, miten käyttäjät reagoivat kuhunkin (Google Search Central).
Ohjeen tärkein sääntö on yksi lause: älä näytä Googlebotille eri URL-joukkoa kuin ihmisille, koska se on cloakingia ja vastoin spam-sääntöjä. Jos testi ohjaa käyttäjän alkuperäisestä osoitteesta muunnelman osoitteeseen, Google neuvoo käyttämään väliaikaista 302-uudelleenohjausta eikä pysyvää 301:tä. Testin päätyttyä sivusto päivitetään halutuksi versioksi ja testin osat poistetaan mahdollisimman pian (Google Search Central).
Ohjeen mukaan pienet muutokset, kuten painikkeen tai kuvan koko, väri tai sijainti tai toimintakehotuksen teksti, vaikuttavat tyypillisesti vain vähän hakutuloksiin (Google Search Central). Värit, fontit ja animaatiot ovat juuri tätä luokkaa.
Palvelin lähettää kaikille saman HTML:n, ja selain valitsee ulkoasun
Sivuston pohjassa on pieni skripti, joka valitsee ulkoasun ennen kuin sivu piirretään ensimmäisen kerran. Lähdekoodin kommentti kuvaa järjestyksen: osoitteen parametri voittaa tallennetun valinnan, ja tallennettu valinta voittaa arvan. Samassa kommentissa sanotaan periaate: sama sisältö, sama HTML, vain tokenit, fontit ja liike vaihtuvat (lähdekoodi).
Käytännössä palvelin lähettää jokaiselle täsmälleen saman HTML-tiedoston. Skripti asettaa sivun juurielementtiin merkinnän, joka kertoo valitun ulkoasun, ja lataa sen fontit. Kaikki muu on CSS:ää, joka reagoi tähän merkintään. Osoite ei muutu, uudelleenohjauksia ei ole, eikä palvelin tiedä, kuka sivua pyytää.
Tämä on rakenteellisesti turvallisin tapa tehdä vaihtelua. Siinä ei ole erillisiä URL-osoitteita, joten canonical-linkkejä tai 302-ohjauksia ei tarvita, ja koska palvelin ei katso käyttäjäagenttia, botille ei voi vahingossakaan lähettää eri versiota.
Googlebot saa arvan siinä missä ihminenkin
Google ajaa JavaScriptin evergreen-Chromiumilla. Sivu voi odottaa renderöintijonossa muutaman sekunnin tai pidempään, ja sitten headless-selain ajaa skriptit (Google Search Central). Googlebot siis ajaa myös ulkoasun arvonnan.
Se ei myöskään muista edellistä valintaa. Googlen ohjeen mukaan Googlebot tyhjentää localStoragen, sessionStoragen ja evästeet sivulatausten välillä (Google Search Central). Tämä sivusto tallentaa valinnan juuri niihin, joten Googlebot saa jokaisella sivulatauksella uuden arvan. Hakukone näkee sivuston samoin kuin ensimmäistä kertaa tuleva ihminen.
Kaksi poikkeusta ovat esitystapaa eivätkä riko sääntöjä
Rehellisyyden nimissä: kahdessa kohdassa ulkoasut eivät ole täysin samoja, ja ne kannattaa käydä läpi.
Ensimmäinen on piilotettu sisältö. Ulkoasu C piilottaa CSS:llä etusivulta kaksi lohkoa, koneen tilarivin ja tilastoluvut (lähdekoodi), koska C näyttää saman tiedon taulussa. Googlen sääntöjen mukaan piilotetun tekstin väärinkäyttöä on sisällön sijoittaminen sivulle pelkästään hakukoneiden manipuloimiseksi niin, ettei ihminen näe sitä helposti. Sallittuja ovat esimerkiksi välilehdet ja haitarit, jotka näyttävät ja piilottavat lisäsisältöä, sekä karusellit (Google Search Central). Tilastoluvut eivät ole avainsanoja, ne näkyvät kahdessa muussa ulkoasussa ihmisille, ja sama tieto on C:ssä toisessa muodossa. Tämä on esitystapa, ei manipulointia.
Toinen on WebGL. Ulkoasu B piirtää hehkuvan taustan WebGL:llä, ja Googlen ohjeen mukaan Googlebot ei tue WebGL:ää (Google Search Central). Siksi B:llä on CSS-varatausta, liukuväri, joka näkyy ilman WebGL:ää (lähdekoodi). Tausta on koristetta, eikä siinä ole tekstiä, joten Googlebot ei menetä mitään, vaikka se näkee pelkän liukuvärin.
Vaihtele esitystä, älä sisältöä tai osoitetta
Jos teet asiakkaalle useamman ulkoasun tai testaat uutta ilmettä, Googlen ohjeista seuraa yksinkertainen sääntö: vaihtele esitystä, älä sisältöä, ja pidä osoite samana. Jos versiot ovat eri osoitteissa, käytä 302-ohjausta ja canonical-linkkiä alkuperäiseen. Älä koskaan päätä versiota käyttäjäagentin perusteella.
Miksi tehdä kolme ulkoasua ylipäätään? Sivuston Ulkoasut-sivun perustelu on, että tekoälyn kanssa kolme aitoa suuntaa maksaa suunnilleen saman kuin yksi, joten asiakas voi nähdä vaihtoehdot oikeina, animoituina sivuina ennen buildia eikä PDF-luonnoksina. Hakukoneen kannalta tämä on ilmaista, kunhan rakenne on sama: yksi HTML, yksi osoite, monta ulkoasua. Jos ulkoasut sen sijaan rakennetaan erillisiksi sivuiksi eri osoitteisiin, syntyy päällekkäistä sisältöä, ja silloin canonical-linkit ja ohjaukset on mietittävä tarkasti.
Sivuston kolme ulkoasua ovat esillä sivulla Ulkoasut, ja staattisen sivuston teknisiä etuja on vertailtu artikkelissa Staattinen sivusto vai WordPress. Koko aihe on pilarissa Tekninen SEO tekoälyaikana.
Kysymyksiä, joita tästä haetaan
Onko A/B-testaus Googlen mielestä cloakingia?
Ei, jos Googlebot ja ihmiset näkevät saman joukon URL-osoitteita. Googlen testausohjeen mukaan cloakingia on se, että Googlebotille näytetään eri URL-joukko kuin ihmisille. Jos testi ohjaa toiseen osoitteeseen, Google neuvoo käyttämään väliaikaista 302-uudelleenohjausta ja canonical-linkkiä alkuperäiseen.
Näkeekö Googlebot JavaScriptillä vaihdetun ulkoasun?
Näkee. Google ajaa JavaScriptin evergreen-Chromiumilla, kun sivu on päässyt renderöintijonosta. Koska Googlebot tyhjentää localStoragen ja sessionStoragen sivulatausten välillä, se ei muista edellistä valintaa, ja arvonta tehdään sille joka kerta uudelleen.
Kuinka kauan A/B-testiä saa pitää päällä?
Google ei anna tarkkaa aikaa, mutta neuvoo poistamaan testin osat mahdollisimman pian, kun testi on päättynyt. Tämän sivuston ulkoasujen arvonta ei ole testi vaan pysyvä ominaisuus, joten sama sisältö pidetään kaikissa ulkoasuissa.
Lähteet
- Google Search Central: Spam policies for Google web searchCloakingin ja piilotetun tekstin määritelmät, sallitut piilotukset
- Google Search Central: Minimize A/B testing impact in Google SearchTestauksen määritelmä, sama URL-joukko, 302, testin lopettaminen, pienet muutokset
- Google Search Central: Dynamic rendering as a workaroundSamankaltainen sisältö ei ole cloakingia
- Google Search Central: Fix Search-related JavaScript problemsGooglebot tyhjentää localStoragen, sessionStoragen ja evästeet; ei WebGL-tukea
- Google Search Central: JavaScript SEO basicsEvergreen Chromium ja renderöintijono
- mainostoimisto.ai: lähdekoodi (GitHub)Base.astro (arvonta), skins/b.js ja b.css (WebGL ja varatausta), skins/c.css (piilotetut hero-lohkot)
Löysitkö virheen?
Tämän tekstin kirjoitti Claude ja toinen kone tarkisti faktat. Ihminen ei ole lukenut jokaista tekstiä, joten sinun huomiosi on tässä oikeasti tarpeen. Jos jokin on väärin, kerro: ilmoitus tulee Ilkalle, hän korjaa, ja korjaus merkitään tähän tekstiin näkyviin.