Teknisen SEO:n tarkistuslista verkkokaupoille

Tekninen SEO Shopify- ja WooCommerce-kauppaan: noindex, robots.txt, sivukartat, otsikot, H1, canonical, Product-data, Open Graph ja alt-tekstit.

FixReportsin toimitusLukuaika 10 min

Verkkokaupan teknisen SEO:n tarkistuslista varmistaa kolme asiaa: hakukoneet pystyvät käymään läpi (crawl) ja indeksoimaan sivut, joiden haluat löytyvän, ne ymmärtävät, mitä kukin sivu on, ja ne pystyvät näyttämään sen hyvin hakutuloksissa. Käytännössä tämä tarkoittaa, ettei sivuille ole jäänyt vahingossa noindex-sääntöjä, robots.txt ei estä tärkeitä sivuja, sivukartassa on kanoniset URL-osoitteet, jokaisella sivulla on yksilöllinen otsikko ja metakuvaus sekä yksi selkeä H1-otsikko, canonical-tagit yhdistävät varianttien ja kokoelmien kaksoiskappaleet, Product-tyyppinen strukturoitu data on kelvollista, Open Graph -tagit ovat paikallaan, alt-tekstit ovat kuvaavia eikä sisäisiä linkkejä ole rikki. Nämä tarkistukset poistavat teknisiä esteitä, mutta ne eivät takaa sijoituksia tai liikennettä.

Tärkeimmät kohdat

  • robots.txt ohjaa läpikäyntiä (crawling), ei indeksointia. Jos haluat pitää sivun poissa Googlesta, käytä noindex-sääntöä äläkä estä sivua robots.txt:ssä, koska muuten Google ei koskaan näe sääntöä (Google Search Central (avautuu uuteen välilehteen)).
  • Yksi sivukarttatiedosto voi sisältää enintään 50 000 URL-osoitetta tai 50 Mt pakkaamattomana, ja Google ohittaa elementit <priority> ja <changefreq> (Google Search Central (avautuu uuteen välilehteen)).
  • Googlen mukaan otsikoille ei ole ihanteellista määrää, mutta yksi tuotteen nimeävä H1 on selkein pääotsikko ostajille ja ruudunlukijoille.
  • Kauppiaslistaukset (merchant listings) edellyttävät tuotteen nimeä, kuvaa ja sisäkkäistä Offer-kohdetta (ei AggregateOffer), jossa on nollaa suurempi hinta ja valuutta (Google Search Central (avautuu uuteen välilehteen)).

Mitä Shopify ja WooCommerce hoitavat oletuksena?

Shopify hoitaa useimmat teknisen SEO:n perusasiat alustassa ja teemassa, kun taas WooCommerce-kauppa nojaa monessa niistä WordPressin ytimeen ja SEO-lisäosaan.

KohdeShopifyWooCommerce (WordPress)
XML-sivukartta/sitemap.xml, automaattinen/wp-sitemap.xml WordPress 5.5:stä alkaen tai SEO-lisäosan oma
robots.txtAutomaattinen; muokkaus robots.txt.liquid-mallillaWordPressin virtuaalinen tiedosto, jossa on ytimen sivukartta
Canonical-tagitLisätään automaattisestiYdin lisää ne vain yksittäisille sivuille
MetakuvausKenttä jokaisen tuotteen hakukonelistauksessaSEO-lisäosa tai teema
Product-tyyppinen strukturoitu dataTeema, structured_data-suodattimen kauttaWooCommercen ytimen JSON-LD tuotesivuilla
Open Graph -tagitTeema (Dawn: meta-tags.liquid)SEO-lisäosa tai teema
Ostoskori ja kassaEstetty robots.txt:ssä (Disallow)WooCommerce merkitsee ne noindex-säännöllä

Kunkin rivin yksityiskohdat ja lähteet ovat alla (tilanne lokakuussa 2026).

Miten varmistat, että kaupan sivut voidaan indeksoida?

Sivu voidaan indeksoida, kun se palauttaa tilakoodin 200, robots.txt ei estä sitä eikä siinä ole noindex-sääntöä.

noindex-sääntö voi olla meta-tagissa tai HTTP-otsakkeessa, eikä Google tue sitä robots.txt-tiedostossa (Google (avautuu uuteen välilehteen)):

<meta name="robots" content="noindex">
X-Robots-Tag: noindex

robots.txt hallitsee indeksointirobottien liikennettä; estetty URL voi silti näkyä hakutuloksissa ilman kuvausta, jos muut sivut linkittävät siihen (Google (avautuu uuteen välilehteen)). Search Consolen Sivujen indeksointi -raportti (avautuu uuteen välilehteen) luettelee jokaisen indeksoimattoman URL-osoitteen ja syyn, kuten ”URL marked ’noindex’” (URL on merkitty noindex-säännöllä). Kaikkia URL-osoitteita ei tarvitse indeksoida, mutta tuotteidesi ja kokoelmiesi on oltava indeksoituina.

Shopify

Oletusarvoinen robots.txt estää hallinta-, ostoskori-, kassa-, tili- ja tilauspolut sekä suodatetut (/collections/*+*) ja lajitellut (sort_by) kokoelma-URL:t, jotka ovat kokoelmasivujen kaksoiskappaleita. Voit muokata sitä robots.txt.liquid-mallilla, mutta Shopify pitää tätä mukautuksena, jota se ei tue, ja varoittaa, että virheet voivat viedä kaupalta kaiken liikenteen (Shopify Help Center (avautuu uuteen välilehteen)).

Jos haluat piilottaa sivun, blogikirjoituksen tai tuotteen, aseta kokonaislukutyyppinen metakenttä seo.hidden arvoon 1, jolloin se piiloutuu sivukartoista, hakukoneilta ja kaupan sisäisestä hausta. Tuotteen tila Listaamaton (Unlisted) piilottaa tuotteet myös kokoelmista ja suosituksista (Shopify Help Center (avautuu uuteen välilehteen)). Kun kauppa on suojattu salasanalla, hakukoneet eivät voi lukea sen sivukarttaa.

WooCommerce

Tarkista Asetukset > Lukeminen > Näkyvyys hakukoneille (Settings > Reading > Search engine visibility). Kun valinta ”Pyydä hakukoneita olemaan indeksoimatta tätä sivustoa” (Discourage search engines from indexing this site) on rastitettu, WordPress (versiosta 5.3 alkaen) lisää sivuillesi robots-meta-tagin noindex, nofollow (WordPress.org (avautuu uuteen välilehteen)) ja poistaa ytimen sivukartan käytöstä. Jos kauppa rakennettiin testiympäristössä (staging), varmista, että valinta poistettiin julkaisun yhteydessä. WooCommerce itse merkitsee ostoskori-, kassa- ja Oma tili -sivut noindex-säännöllä ja lähettää otsakkeen X-Robots-Tag: noindex päätepisteissä, kuten tilauksen vastaanottosivulla (WooCommercen lähdekoodi (avautuu uuteen välilehteen)), mikä on odotettua.

Mitä verkkokaupan XML-sivukartan pitäisi sisältää?

Sivukartassa tulisi olla vain kanoniset, indeksoitavat URL-osoitteet, jotka haluat hakuun: tuotteet, kokoelmat tai tuoteryhmät, sisältösivut ja blogikirjoitukset.

Googlen säännöt: enintään 50 000 URL-osoitetta tai 50 Mt tiedostoa kohden, sivukarttaindeksi suuremmille kokonaisuuksille, absoluuttiset URL-osoitteet, vain URL-osoitteet, jotka haluat näkyviin hakutuloksissa, ja <lastmod> vain silloin, kun se pitää paikkansa (Google (avautuu uuteen välilehteen)). Lähetä sivukartta Search Consolen Sivukartat-raportissa tai viittaa siihen robots.txt:ssä:

Sitemap: https://example.com/sitemap.xml

Shopifyssa jokaisella verkkotunnuksella on automaattinen sitemap.xml, joka linkittää tuotteiden, kokoelmien, blogien ja sivujen alisivukarttoihin ja päivittyy, kun lisäät niitä. Jokainen kansainvälinen verkkotunnus saa oman sivukarttansa (Shopify Help Center (avautuu uuteen välilehteen)).

WooCommercessa WordPress 5.5 ja uudemmat tarjoavat ytimen sivukarttaindeksin osoitteessa /wp-sitemap.xml. Siihen viitataan WordPressin robots.txt:ssä, ja yhdessä sivukartassa on oletuksena enintään 2 000 merkintää. SEO-lisäosat, kuten Yoast SEO, korvaavat sen omallaan (Make WordPress Core (avautuu uuteen välilehteen)). Tarkista, mikä sivukartta on todella käytössä, ennen kuin lähetät sen.

Miten kirjoitat tuotteiden otsikot ja metakuvaukset?

Anna jokaiselle sivulle yksilöllinen, kuvaava otsikko ja sivua tiivistävä metakuvaus, ja laita tärkeät sanat alkuun, koska Google lyhentää molemmat näytölle sopiviksi.

Googlen otsikko-ohjeet: tee otsikoista kuvaavia ja ytimekkäitä, vältä avainsanojen täyttämistä ja toistuvaa vakiotekstiä, ja sijoita sivuston nimi alkuun tai loppuun erottimen kanssa. Pituusrajaa ei ole, mutta otsikkolinkit lyhennetään laitteen leveyteen (Google (avautuu uuteen välilehteen)). Google voi myös muodostaa otsikkolinkin muusta tekstistä, kuten H1-otsikosta tai og:title-tagista.

Tekstikatkelmissa Google käyttää enimmäkseen sivun sisältöä ja käyttää metakuvausta silloin, kun se kuvaa sivua tarkemmin. Google suosittelee sisällyttämään tuotetietoja, kuten hinnan tai valmistajan, ja toteaa, että automaattisesti luodut kuvaukset ovat hyviä, kunhan ne ovat luettavia ja vaihtelevia (Google (avautuu uuteen välilehteen)).

<title>Linen shirt, natural, relaxed fit | Example Store</title>
<meta name="description" content="Relaxed-fit shirt in European linen. Sizes XS to XXL, $68, free returns within 30 days.">
  • Shopify: muokkaa kenttiä Sivun otsikko (Page title), Metakuvaus (Meta description) ja URL-tunniste (URL handle) kunkin tuotteen hakukonelistausosiossa (Shopify Help Center (avautuu uuteen välilehteen)). Shopify hyväksyy otsikkoon enintään 70 merkkiä, ehdottaa noin 60 merkkiä ja suosittelee kuvaukseen 160 merkkiä (Shopify Help Center (avautuu uuteen välilehteen)).
  • WooCommerce: WordPressin ydin ei tulosta metakuvausta (tarkistettu version 7.1.3 lähdekoodista), joten käytä SEO-lisäosaa tai teemaa.

Tarvitseeko jokainen sivu täsmälleen yhden H1-otsikon?

Google ei vaadi tiettyä määrää, mutta yksi sivun nimeävä H1 on selkein pääotsikko ostajille, ruudunlukijoille ja hakukoneille.

Googlen SEO-aloitusoppaan mukaan otsikoille ei ole ihanteellista määrää eikä otsikoiden järjestyksellä ole merkitystä haulle, vaikka semanttinen järjestys auttaa ruudunlukijoita (Google (avautuu uuteen välilehteen)). Googlen otsikkolinkkiohjeet neuvovat tekemään pääotsikosta sivun näkyvimmän tekstin, esimerkiksi ensimmäisenä näkyvänä <h1>-elementtinä. W3C:n opetusmateriaali lisää, että otsikot välittävät sivun rakenteen ja että otsikkotasoja ei pitäisi ohittaa (W3C WAI (avautuu uuteen välilehteen)).

Yleisiä virheitä verkkokaupoissa: logo H1-otsikossa jokaisella sivulla, tuotteen nimi <div>-elementissä tai H2-otsikossa, sovelluksen lisäämä toinen H1 ja kokoelmasivut ilman H1-otsikkoa.

Miten kanoniset URL-osoitteet ratkaisevat varianttien ja kokoelmien kaksoiskappaleet?

Canonical-tagi kertoo Googlelle, minkä useasta samansisältöisestä URL-osoitteesta se indeksoi, joten varianttiparametrien ja kokoelmapolkujen URL-osoitteiden tulisi osoittaa yhteen ensisijaiseen tuote-URL:iin.

Google pitää uudelleenohjauksia ja rel="canonical"-merkintää vahvoina signaaleina ja sivukarttaan sisällyttämistä heikkona. Käytä absoluuttisia URL-osoitteita, äläkä käytä robots.txt:tä tai noindex-sääntöä kanonisen URL:n valitsemiseen (Google (avautuu uuteen välilehteen)). Kun variantit erotetaan valinnaisella kyselyparametrilla, kuten ?color=green, Google ehdottaa kanoniseksi URL-osoitetta ilman parametria. Google ohittaa #-fragmentit, joten variantit tarvitsevat polkuja tai parametreja, ja se suosittelee indeksoitaville sivuille itseensä viittaavia canonical-tageja sekä yhdenmukaisia URL-osoitteita linkeissä, sivukartoissa ja canonical-tageissa (Google (avautuu uuteen välilehteen)).

<link rel="canonical" href="https://example.com/products/linen-shirt">

Jos Google ohittaa valintasi, Sivujen indeksointi -raportti näyttää tilan ”Duplicate, Google chose different canonical than user” (kaksoiskappale, jolle Google valitsi eri kanonisen URL:n kuin käyttäjä), mikä on yleensä merkki ristiriitaisista signaaleista.

  • Shopify: canonical-tagit luodaan automaattisesti (Shopify Help Center (avautuu uuteen välilehteen)); Dawn-teema tulostaa <link rel="canonical" href="{{ canonical_url }}">. Teemat, jotka käyttävät within-suodatinta, luovat kokoelmaan sidottuja tuote-URL:ejä (/collections/summer/products/linen-shirt), ja Shopify huomauttaa, että ne ovat tavallisen tuotesivun kaksoiskappaleita (Shopify (avautuu uuteen välilehteen)). Tarkista, että niiden canonical osoittaa osoitteeseen /products/linen-shirt.
  • WooCommerce: WordPressin ydin tulostaa canonical-tagin vain yksittäisnäkymiin, kuten tuotteisiin ja sivuihin (WordPressin kehittäjäviite (avautuu uuteen välilehteen)), joten kauppa- ja tuoteryhmäarkistot ovat SEO-lisäosan tai teeman varassa. Tuotteiden kestolinkkirakenteen muuttaminen muuttaa jokaisen tuote-URL:n, ja vanhat linkit palauttavat 404-virheen, ellet lisää uudelleenohjauksia (WooCommerce (avautuu uuteen välilehteen)).

Miten otat käyttöön Product-tyyppisen strukturoidun datan kauppiaslistauksia varten?

Lisää Product-merkintä, jossa on sisäkkäinen Offer, joka vastaa sivulla näkyvää hintaa ja saatavuutta, ja testaa se sitten Googlen Rich Results Test -työkalulla (laajennettujen tulosten testi).

Google käyttää tuotekatkelmia (product snippets) tuotesivuilla, joilla ei voi ostaa suoraan, ja kauppiaslistauksia sivuilla, joilla voi (Google (avautuu uuteen välilehteen)). Se suosittelee yleensä JSON-LD-muotoa (Google (avautuu uuteen välilehteen)). Kauppiaslistaukset edellyttävät ominaisuuksia name, image ja offers (Offer-tyyppisenä), jossa price on suurempi kuin nolla ja priceCurrency on ISO 4217 -muodossa. Suositeltuja ominaisuuksia ovat muun muassa availability, gtin, brand, aggregateRating, shippingDetails ja hasMerchantReturnPolicy (Google (avautuu uuteen välilehteen)). Varianteille Google tukee ProductGroup-tyyppiä ja sen ominaisuuksia hasVariant, variesBy ja productGroupID (Google (avautuu uuteen välilehteen)).

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Linen shirt, natural",
  "image": ["https://example.com/images/linen-shirt-1x1.jpg"],
  "sku": "LS-NAT-M",
  "brand": { "@type": "Brand", "name": "Example Store" },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/linen-shirt",
    "price": "68.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}
</script>

Merkitse vain se, minkä ostajat näkevät; Google ei takaa, että strukturoitu data näkyy hakutuloksissa (Google (avautuu uuteen välilehteen)).

  • Shopify: {{ product | structured_data }} tulostaa Product-tyypin tuotteille, joilla ei ole variantteja, ja ProductGroup-tyypin tuotteille, joilla on variantteja (Shopify (avautuu uuteen välilehteen)); Dawn sisältää sen tuoteosiossaan. Jos arvostelu- tai SEO-sovellus lisää oman merkintänsä, tarkista, ettei merkintöjä ole kahteen kertaan.
  • WooCommerce: ydin tulostaa tuotesivuille Product-tyyppisen JSON-LD:n, jossa on SKU, tarjoukset (offers), arviot, jos arvosteluja on, sekä GTIN, kun GTIN-, UPC-, EAN- tai ISBN-kenttä (lisätty versiossa WooCommerce 9.2 (avautuu uuteen välilehteen)) on täytetty. Muuttuvat tuotteet (variable products), joiden muunnelmilla on eri hinnat, saavat AggregateOffer-hintahaarukan, ellei URL valitse yhtä muunnelmaa (WooCommercen lähdekoodi (avautuu uuteen välilehteen)), joten testaa ne, koska kauppiaslistaukset tarvitsevat Offer-kohteen.

Palautusten osalta Google hyväksyy merkinnässä myös organisaatiotason palautuskäytännön, mutta Merchant Centerin tai Search Consolen asetukset ovat etusijalla (Google (avautuu uuteen välilehteen)).

Mitä Open Graph -tageja tuotesivuilla pitäisi olla?

Tuotesivuilla pitäisi olla og:title, og:type, og:image ja og:url sekä og:description ja og:image:alt, jotta jaetuissa linkeissä näkyy oikea otsikko ja kuva.

Open Graph -protokolla määrittää nämä neljä pakollisiksi, määrittelee og:url-tagin kanoniseksi URL-osoitteeksi ja toteaa, että og:image:alt-tagin pitäisi olla jokaisen og:image-tagin mukana (ogp.me (avautuu uuteen välilehteen)).

<meta property="og:type" content="product">
<meta property="og:title" content="Linen shirt, natural">
<meta property="og:url" content="https://example.com/products/linen-shirt">
<meta property="og:image" content="https://example.com/images/linen-shirt-1200x630.jpg">
<meta property="og:image:alt" content="Natural linen shirt on a hanger">
<meta property="og:description" content="Relaxed-fit shirt in European linen.">

Miksi alt-teksti on tärkeä tuotekuville?

Alt-teksti kertoo hakukoneille ja ruudunlukijan käyttäjille, mitä tuotekuvassa näkyy, ja Google käyttää sitä yhdessä konenäön ja sivun sisällön kanssa.

Googlen kuvaohjeet pyytävät hyödyllistä, täsmällistä alt-tekstiä ilman avainsanojen täyttämistä; sen paras esimerkki on ”dalmatiankoiranpentu leikkii noutoleikkiä” (Dalmatian puppy playing fetch). Google ei indeksoi CSS-taustakuvia, joten tuotekuvien paikka on <img>-elementeissä (Google (avautuu uuteen välilehteen)). Verkkokaupassa tämä tarkoittaa esimerkiksi alt-tekstiä ”Luonnonvärinen pellavapaita, kuvattu takaa”, ei ”paita paita pellava osta”.

Miten löydät ja korjaat rikkinäiset sisäiset linkit?

Käy kauppasi läpi indeksointityökalulla (crawler), listaa sisäiset linkit, jotka palauttavat 4xx-virheen, ja joko päivitä kukin linkki tai ohjaa vanha URL 301-uudelleenohjauksella lähimmälle toimivalle sivulle.

Google seuraa linkkejä, jotka on rakennettu <a>-elementeiksi href-määritteellä, ja suosittelee linkittämään jokaiseen tärkeään sivuun vähintään yhdeltä muulta sivulta (Google (avautuu uuteen välilehteen)). URL-osoitteita, jotka palauttavat 4xx-koodin, ei indeksoida, ja jo indeksoidut poistetaan. Uudelleenohjauksista 301 on vahva signaali ja 302 heikko (Google (avautuu uuteen välilehteen)). Kaupan linkit rikkoutuvat, kun tuotteita poistetaan tai nimetään uudelleen, tunnisteita (handle) muutetaan tai kokoelmia poistetaan käytöstä, kun taas vanhat linkit jäävät valikkoihin, kuvauksiin ja blogikirjoituksiin.

  • Shopify: siirry kohtaan Sisältö > Valikot > Näytä URL-uudelleenohjaukset > Luo URL-uudelleenohjaus (Content > Menus > View URL redirects > Create URL redirect). Shopify ohjaa uudelleen vain URL-osoitteet, jotka ovat oikeasti rikki (Shopify Help Center (avautuu uuteen välilehteen)).
  • WooCommerce: lisää palvelinsääntöjä tai uudelleenohjauslisäosa aina, kun muutat polkutunnuksia (slug) tai kestolinkkiasetuksia.

Ilmainen skannaus havaitsee monet näistä ongelmista noin minuutissa. SEO-raportti tarkistaa otsikot, metakuvaukset, H1-otsikot, canonical-tagit, noindex-säännöt, robots.txt:n, sivukartan, Product-tyyppisen strukturoidun datan, Open Graph -tagit, alt-tekstit ja rikkinäiset sisäiset linkit enintään 25 sivulta ja antaa korjausohjeet juuri sinun alustallesi.

Usein kysytyt kysymykset

Takaako teknisen SEO:n korjaaminen paremmat sijoitukset?

Ei. Nämä korjaukset poistavat syitä, joiden vuoksi sivua ei voida käydä läpi, indeksoida tai ymmärtää; sijoitukset riippuvat silti relevanssista ja monista muista tekijöistä.

Pitäisikö jokaisella tuotevariantilla olla oma indeksoitu URL?

Se riippuu siitä, miten variantit on toteutettu. Jos ne jakavat yhden sivun ja eroavat toisistaan vain valinnaisen kyselyparametrin osalta, Google ehdottaa kanoniseksi URL-osoitetta ilman parametria. Jos jokaisella variantilla on oma sivunsa, Googlen varianttiohjeet käsittelevät jokaista sivua erikseen.

Miksi tuotteeni ei näy laajennettuna tuloksena, vaikka merkintä on kelvollinen?

Google ei takaa laajennettuja tuloksia kelvolliselle strukturoidulle datalle. Tarkista, että merkintä vastaa sivulla näkyvää sisältöä, käyttää Offer-kohdetta, jonka hinta on suurempi kuin nolla, ja läpäisee Rich Results Test -testin.

Pitäisikö minun estää suodatetut kokoelmasivut robots.txt:ssä?

Shopifyssa oletusarvoinen robots.txt estää jo suodatetut ja lajitellut kokoelma-URL:t, koska ne ovat kokoelmasivujen kaksoiskappaleita. Jos muokkaat robots.txt.liquid-tiedostoa, säilytä nämä säännöt, ellei sinulla ole erityistä syytä muuttaa niitä.

Lähteet