# Teknisen SEO:n tarkistuslista SaaS-sivustoille

<https://www.fixreports.com/fi/blog/technical-seo-checklist-saas>

Päivitetty 2026-10-26

SaaS-yrityksen tekninen SEO on pääosin erottelua ja renderöintiä. Erottelua siksi, että samassa verkkotunnuksessa on yleensä markkinointisivusto, jonka pitäisi sijoittua hauissa, dokumentaatio, jonka pitäisi sijoittua, ja sovellus, jonka ei pitäisi näkyä haussa lainkaan. Renderöintiä siksi, että SaaS-sivustot on usein rakennettu JavaScript-sovelluksina, ja vaikka Google renderöi JavaScriptiä, monet muut hakurobotit, mukaan lukien useimmat tekoälybotit, eivät renderöi. Tämä tarkistuslista kattaa molemmat sekä tavanomaiset perusasiat: kanoniset osoitteet, sivukartat, strukturoidun datan, nopeuden ja sen, miten tekoälyhakukoneet tavoittavat sivusi.

**Tärkeimmät kohdat**

- Google käy läpi, renderöi ja indeksoi JavaScript-sivut erillisissä vaiheissa ja sanoo, että palvelinpuolen renderöinti tai esirenderöinti ”is still a great idea” (on yhä hyvä ajatus), koska kaikki botit eivät pysty suorittamaan JavaScriptiä ([Google Search Central](https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics)).
- Joulukuussa 2024 julkaistu analyysi havaitsi, ettei yksikään suurista tekoälyboteista, mukaan lukien GPTBot, ClaudeBot ja PerplexityBot, renderöinyt JavaScriptiä ([Vercel](https://vercel.com/blog/the-rise-of-the-ai-crawler)).
- Googlen mukaan AI Overviewsilla ja AI Modella ei ole lisäteknisiä vaatimuksia, eivätkä ne tarvitse erityistä schema.org-merkintäkoodia tai tekoälyä varten tehtyjä tekstitiedostoja ([Google Search Central](https://developers.google.com/search/docs/appearance/ai-features)).
- OpenAI käyttää ChatGPT-hakuun OAI-SearchBotia ja mallien koulutukseen GPTBotia; GPTBotin estäminen ei poista sivustoa ChatGPT-hausta ([OpenAI](https://developers.openai.com/api/docs/bots)).
- Google-Extended määrää, saako Google käyttää sisältöä Geminin koulutukseen, eikä se vaikuta sisällön mukanaoloon Google-haussa ([Google Search Central](https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers)).

## Pitäisikö sovelluksesi näkyä hakutuloksissa?

Ei. Kirjautumisen takana olevilla sovellussivuilla ei ole mitään tarjottavaa hakijoille, eikä Googlebot kirjaudu sisään. Riski on päinvastainen: sovelluksen julkiset URL-osoitteet, kuten jaetut linkit, tyhjät näkymät, salasanan palautussivut ja testiympäristöt, voivat päätyä indeksiin ja kilpailla markkinointisivujesi kanssa.

- Tarjoile sovellus omasta isäntänimestään, kuten `app.example.com`, ja lähetä jokaisessa sen vastauksessa `X-Robots-Tag: noindex`.
- Pidä testi- ja esikatseluympäristöt poissa hausta todennuksella, joka on luotettavampi keino kuin robots-säännöt.
- Älä luota robots.txt:hen sivujen poistamisessa Googlesta: estetty URL voi silti näkyä hakutuloksissa, jos siihen linkitetään muualta, eikä Google näe noindex-sääntöä sivulla, jota se ei saa käydä läpi ([Google Search Central](https://developers.google.com/search/docs/crawling-indexing/block-indexing)).
- Kirjautumis- ja rekisteröitymissivuja haetaan usein nimellä (”tuotteesi kirjautuminen”). Niiden pitäminen indeksoitavina auttaa nykyisiä asiakkaita löytämään ne; niissä ei pitäisi olla raskasta markkinointisisältöä.

[Robots.txt-tarkistuksemme](/fi/robots-txt-checker) näyttää, mitä kukin hakurobotti saa hakea, ja [metatagien tarkistus](/fi/meta-tag-checker) näyttää sivun robots-metatagin ja X-Robots-Tag-otsakkeen.

## Pystyvätkö hakukoneet ja tekoälybotit lukemaan markkinointisivujasi?

Tarkista, mitä hakurobotti saa ennen kuin mitään JavaScriptiä suoritetaan. Jos hinnoittelusivusi HTML-vastauksessa ei ole hintoja eikä otsikoita, vain script-tagi, JavaScriptiä suorittamattomat hakurobotit näkevät tyhjän sivun.

- **Google** renderöi JavaScriptin tuoreella Chromiumilla, mutta renderöinti tapahtuu jonossa läpikäynnin jälkeen, ja Google suosittelee palvelinpuolen renderöintiä tai esirenderöintiä ([Google Search Central](https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics)).
- **Tekoälybotit**: Vercelin oman verkkonsa analyysi havaitsi, että OpenAI:n, Anthropicin, Perplexityn ja Metan botit hakivat JavaScript-tiedostoja mutta eivät suorittaneet niitä; Googlen infrastruktuuria käyttävä Gemini sekä Applebot renderöivät sivut ([Vercel](https://vercel.com/blog/the-rise-of-the-ai-crawler)).
- **Linkkien esikatselut** chat-sovelluksissa ja sosiaalisissa verkostoissa lukevat yleensä vain palvelimen HTML:n, joten otsikoiden, kuvausten ja Open Graph -tagien on oltava siinä.

Käytännön ratkaisu on renderöidä markkinointisivut, dokumentaatio ja blogi palvelimella tai koontivaiheessa, mitä esimerkiksi Next.js, Nuxt ja Astro tukevat, ja jättää selainpuolen renderöinti kirjautuneiden käyttäjien sovellukseen. Nopea testi: aja `curl` URL-osoitteellesi tai katso sivun lähdekoodia tarkastetun DOM:n sijaan ja varmista, että teksti on mukana.

## Millainen markkinointisivuston rakenteen pitäisi olla?

SaaS-ostajat hakevat aikeilla, jotka voi kohdistaa sivuille. Jokainen näistä ansaitsee oman indeksoitavan sivunsa, jolla on kuvaava otsikko ja oma kanoninen URL-osoite:

- **Tuote- ja ominaisuussivut**, yksi kutakin keskeistä toimintoa kohden.
- **Käyttötapaus- ja toimialasivut** hauille, kuten ”laskutusohjelma mainostoimistoille”.
- **Integraatiosivut**, yksi integraatiota kohden, koska ihmiset hakevat ”[tuotteesi] + [heidän työkalunsa]”.
- **Hinnoittelu**, jossa paketit ja hinnat ovat HTML:ssä eivätkä lataudu rajapinnasta renderöinnin jälkeen.
- **Vertailu- ja vaihtoehtosivut**, kirjoitettuina reilusti: kilpailijoiden hinnat ja ominaisuudet muuttuvat, joten päivää sivut ja pidä ne ajan tasalla.
- **Asiakastarinat** luvan kanssa ja todellisin, lähteeseen jäljitettävin yksityiskohdin.

Vältä ohuita muunnelmia: kymmenet lähes identtiset ”[ominaisuus] [toimialalle]” -sivut, joissa vain sanat on vaihdettu, ovat sitä, mitä Googlen roskapostikäytännöt kutsuvat sisällön massatuotannon väärinkäytöksi (scaled content abuse) ([Google Search Central](https://developers.google.com/search/docs/essentials/spam-policies)).

## Miten dokumentaatio, ohjekeskukset ja muutoslokit kannattaa hoitaa?

Dokumentaatio tuo usein enemmän hakuliikennettä kuin markkinointisivusto, koska ihmiset hakevat ohjeita asioiden tekemiseen.

- Tee dokumentaatiosta julkista ja indeksoitavaa, ellei se sisällä asiakaskohtaisia tietoja.
- Versioidussa dokumentaatiossa osoita vanhempien versioiden kanoninen URL saman sivun nykyiseen versioon tai merkitse vanhat versiot noindex-säännöllä, jotta hakutulokset näyttävät nykyiset ohjeet.
- Anna jokaiselle dokumentaatiosivulle kuvaava otsikko ja H1, jotka vastaavat sitä, miten ihmiset muotoilevat tehtävän (”Vie laskut CSV-tiedostoon”), eivät sisäisiä ominaisuuksien nimiä.
- Pidä muutoslokin merkinnät pysyvissä, päivätyissä URL-osoitteissa.
- Sisällytä dokumentaatio XML-sivukarttaasi tai anna sille oma sivukartta, joka mainitaan robots.txt:ssä.

Jos ohjekeskuksesi toimii kolmannen osapuolen alustalla aliverkkotunnuksessa, tarkista, että se on vahvistettu Search Consolessa ja että sen sivut linkittävät takaisin pääsivustolle.

## Mitkä kanonisiin osoitteisiin, hreflangiin ja uudelleenohjauksiin liittyvät ongelmat ovat yleisiä SaaS-sivustoilla?

- **Parametrit**: UTM-tagit, suosittelukoodit ja A/B-testien parametrit luovat päällekkäisiä URL-osoitteita. Jokaisen sivun pitäisi ilmoittaa oma puhdas URL-osoitteensa kanoniseksi ([Google Search Central](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls)).
- **Loppukauttaviivat ja kirjainkoko**: valitse yksi muoto ja ohjaa toinen siihen 301-uudelleenohjauksella.
- **Lokalisoidut sivut**: jos käännät markkinointisivuston, yhdistä kieliversiot hreflang-merkinnöillä, mukaan lukien viittaus sivuun itseensä ja x-default ([Google Search Central](https://developers.google.com/search/docs/specialty/international/localized-versions)).
- **Brändimuutokset ja verkkotunnuksen vaihdot**: ohjaa vanhat URL-osoitteet uusiin yksi yhteen 301-uudelleenohjauksilla; kaiken ohjaaminen etusivulle hukkaa vanhojen sivujen arvon.

[SEO-analyysi](/fi/website-seo-checker) testaa otsikot, H1-otsikot, kanoniset osoitteet ja robots-säännöt sivustosi keskeisillä sivuilla ja löytää rikkinäiset sisäiset linkit.

## Millainen strukturoitu data sopii SaaS-sivustolle?

- **Organization** etusivulla, mukana nimi, URL-osoite, logo ja `sameAs`-linkit virallisiin profiileihin.
- **WebSite** etusivulla, mukana `name` ja `url`, joiden avulla Google valitsee tuloksissa näytettävän sivuston nimen ([Google Search Central](https://developers.google.com/search/docs/appearance/site-names)).
- **SoftwareApplication**: Googlen ohjelmistosovelluksen rikas tulos edellyttää hintaa sekä joko koostearviota tai arvostelua ([Google Search Central](https://developers.google.com/search/docs/appearance/structured-data/software-app)). Lisää vain aitoja arvioita, jotka näkyvät sivulla; ilman niitä merkintäkoodi kuvaa tuotteen silti, mutta ei tuo rikasta tulosta.
- **BreadcrumbList** dokumentaatio- ja blogisivuilla.
- **Article** blogikirjoituksissa kirjoittajan ja päivämäärien kanssa.

Älä odota FAQ-merkintäkoodin tuovan lisätilaa: Google lopetti FAQ-rikkaiden tulosten näyttämisen 7. toukokuuta 2026 ([Google Search Central](https://developers.google.com/search/updates)). [Strukturoidun datan tarkistus](/fi/structured-data-checker) listaa sivun jokaisen kohteen ja ominaisuudet, joita Google sille vaatii.

## Miksi SaaS-markkinointisivut eivät läpäise Core Web Vitals -arviointia?

SaaS-markkinointisivustot lataavat yleensä paljon kolmansien osapuolten skriptejä: analytiikkaa, tagienhallintaa, chat-widgettejä, A/B-testausta, istuntojen tallennusta ja mainospikseleitä. Ne viivästyttävät pääsisältöä ja pitävät pääsäikeen varattuna, mikä näkyy hitaana LCP:nä ja heikkona INP:nä.

- Käy läpi jokainen kolmannen osapuolen skripti ja poista ne, joita kukaan ei käytä.
- Lataa chat-widgetit vasta vuorovaikutuksen yhteydessä, ja vältä A/B-testausskriptejä, jotka piilottavat sivun, kunnes ne on suoritettu.
- Tarjoile hero-kuvat ja tuotekuvakaappaukset niiden näyttökoossa WebP- tai AVIF-muodossa, äläkä lataa ensimmäistä laiskasti.
- Seuraa INP:tä sivuilla, joilla on vuorovaikutteisia hintalaskureita ja demoja.

Google käyttää Core Web Vitals -mittareita sijoitusjärjestelmissään, vaikka osuvuus menee edelle ([Google Search Central](https://developers.google.com/search/docs/appearance/core-web-vitals)). [Nopeustesti](/fi/website-speed-test) mittaa sivun hidastetulla puhelimella ja näyttää todellisten käyttäjien datan, kun Googlella sitä on.

## Miten tekoälyhakukoneet löytävät ja lainaavat SaaS-sisältöä?

Tekoälyhaulle ei ole erillistä teknistä polkua, eivätkä näitä järjestelmiä ylläpitävät yritykset tue kaikkia suosittuja neuvoja.

- **Googlen AI Overviews ja AI Mode** käyttävät sivuja, jotka on indeksoitu ja jotka ovat kelpoisia näyttämään tekstikatkelman; Googlen mukaan lisävaatimuksia ei ole, erityistä schemaa ei tarvita eikä tekoälyä varten tehtyjä tekstitiedostoja tarvita ([Google Search Central](https://developers.google.com/search/docs/appearance/ai-features)).
- **ChatGPT-haku** perustuu OAI-SearchBotiin. Jos haluat näkyä ChatGPT:n vastauksissa, älä estä OAI-SearchBotia robots.txt:ssä; GPTBotin estäminen kieltää vain koulutuskäytön ([OpenAI](https://developers.openai.com/api/docs/bots)).
- **Geminin koulutusta** ohjataan Google-Extended-tunnuksella, joka ei vaikuta Google-hakuun ([Google Search Central](https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers)).
- **llms.txt** on yhteisön ehdotus sivuston Markdown-muotoisesta tiivistelmästä. Googlen mukaan se ei tarvitse tällaisia tiedostoja; muut tekoälypalvelut eivät ole dokumentoineet, käyttävätkö ne niitä. Tiedoston julkaiseminen maksaa vähän, mutta se ei korvaa sivuja, jotka hakurobotit voivat käydä läpi.

Kaikissa niissä auttaa sama: palvelimella renderöidyt sivut, selkeät otsikot, jotka vastaavat ostajien kysymyksiin, konkreettiset faktat, kuten hinnat ja rajoitukset, tekstinä sekä sivut, jotka eivät ole ristiriidassa keskenään.

## Usein kysytyt kysymykset

### Pitäisikö dokumentaatiomme olla aliverkkotunnuksessa vai alikansiossa?

Molemmat voivat sijoittua hyvin. Tärkeämpää on, että dokumentaatio on läpikäytävissä, siihen linkitetään pääsivustolta, se on mukana sivukartassa ja se on vahvistettu Search Consolessa.

### Indeksoiko Google JavaScript-sovelluksemme sisällön?

Google pystyy renderöimään JavaScriptiä, mutta tekee sen erillisessä vaiheessa, ja muut hakurobotit eivät usein tee sitä lainkaan. Renderöi sisältö palvelimella tai koontivaiheessa niillä sivuilla, joiden haluat löytyvän.

### Pitäisikö meidän estää tekoälybotit?

Se on liiketoimintapäätös. Koulutusbottien, kuten GPTBotin tai Google-Extendedin, estäminen pitää sisällön poissa mallien koulutuksesta poistamatta sinua hausta; hakubottien, kuten OAI-SearchBotin, estäminen poistaa sinut kyseisen palvelun vastauksista. Robots.txt-tarkistus näyttää, mitä nykyiset sääntösi sallivat.

### Tarvitsemmeko SoftwareApplication-merkintäkoodia?

Se on vapaaehtoista. Se kuvaa tuotteesi hakukoneille; ohjelmistosovelluksen rikas tulos vaatii lisäksi aitoja arvioita tai arvosteluja, jotka näkyvät sivulla.

### Mikä on SaaS-sivustojen yleisin tekninen SEO-virhe?

Kaksi virhettä aiheuttaa eniten vahinkoa: markkinointisivut, jotka renderöivät sisältönsä vain JavaScriptillä, sekä testi- tai sovellus-URL-osoitteet, jotka on jätetty avoimiksi indeksoinnille.

## Lähteet

- Google Search Central: [Understand JavaScript SEO basics](https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics)
- Google Search Central: [AI features and your website](https://developers.google.com/search/docs/appearance/ai-features)
- Google Search Central: [Google's common crawlers (Google-Extended)](https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers)
- Google Search Central: [Block search indexing with noindex](https://developers.google.com/search/docs/crawling-indexing/block-indexing)
- Google Search Central: [How to specify a canonical URL](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls)
- Google Search Central: [Localized versions of your pages](https://developers.google.com/search/docs/specialty/international/localized-versions)
- Google Search Central: [Site names in Google Search](https://developers.google.com/search/docs/appearance/site-names)
- Google Search Central: [Software app structured data](https://developers.google.com/search/docs/appearance/structured-data/software-app)
- Google Search Central: [Understanding Core Web Vitals and Google search results](https://developers.google.com/search/docs/appearance/core-web-vitals)
- OpenAI: [Overview of OpenAI crawlers](https://developers.openai.com/api/docs/bots)
- Vercel: [The rise of the AI crawler](https://vercel.com/blog/the-rise-of-the-ai-crawler)
