Arutame projekti

Duplikaatsisu: kuidas topeltlehti leida ja parandada

Duplikaatsisu hajutab lehtede kaalu ja raiskab roomamiseelarvet. Selgitan, kust topeltlehed tulevad, kuidas neid Search Console'is leida ja millega kokku liita.

Vladislav Krivorutsko20. august 20268 min lugemist
Sisukord

TL;DR — lühidalt peamisest

  • Duplikaatsisu tähendab, et sama või peaaegu sama sisu on kättesaadav mitmelt erinevalt URL-ilt; karistust selle eest ei ole, kuid Google valib ise, millist aadressi näidata
  • Tavalisel veebilehel ei teki enamik duplikaate kopeeritud tekstist, vaid ühe aadressi tehnilistest variantidest: kaldkriips, www, http, parameetrid, filtrid
  • Peamine aruanne duplikaatide leidmiseks on Search Console'i «Lehtede indekseerimine» ning staatused koopia ja «Google valis teise kanoonilise URL-i» kohta
  • Tööriist valitakse ülesande järgi: 301 kui vana aadress pole enam vajalik, canonical kui mõlemad peavad alles jääma, noindex kui leht on vajalik inimesele, mitte otsingule
  • Eesti-, vene- ja ingliskeelsed versioonid ei ole duplikaadid — need seotakse hreflang'iga, mitte canonical'iga

Lühike vastus

Duplikaatsisu tähendab, et mitu URL-i annavad sama või peaaegu sama sisu. Karistust selle eest ei ole: Google ütleb, et veebilehe sisesed duplikaadid on tehniline olukord, mitte rikkumine. Probleem on mujal — otsingumootor peab ise otsustama, millist aadressi otsingutulemustes näidata, ja valik ei lange alati sellele, mida te turundasite.

Tavalisel veebilehel ei teki valdav enamik duplikaate kopeeritud tekstist, vaid sellest, kuidas sisuhaldussüsteem aadresse moodustab: kaldkriips lõpus, www, http, UTM-märgendid, sortimisparameetrid, toode kahes kategoorias. Ravi on kolm tööriista — 301-ümbersuunamine, canonical ja noindex — ning valik sõltub sellest, kas teine URL on elavale kasutajale vajalik.


Kust duplikaadid tegelikult tulevad

Kui klient ütleb «meil on duplikaadid», mõtleb ta tavaliselt kopeeritud teksti. Eesti saitidega töötades olen kopeeritud tootekirjeldusi kohanud tunduvalt harvemini kui tehnilisi duplikaate. Allikad selles järjekorras, kui sageli ma neid näen:

Duplikaadi allikasNäideTavaline põhjus
Ühe aadressi variandid/teenused ja /teenused/, www ja ilma, http ja httpsServeri tasemel pole ühtset URL-i formaati
GET-parameetrid?utm_source=, ?sort=price, ?sessionid=Reklaamimärgendid ja kataloogi sisemised funktsioonid
Toode mitmes kategoorias/lambid/laualamp ja /kontorisse/laualampCMS moodustab URL-i kategooria teekonna järgi
Filtrid ja fassettnavigatsioon?color=black&size=xl mis tahes kombinatsioonisKataloog vastab koodiga 200 igale parameetrikombinatsioonile
Tehnilised koopiadprindiversioon, AMP-jäänused, /index.phpVanade mallide ja kolimiste pärand
CMS-i automaatsed lehedkuupäeva-, sildi- ja autoriarhiivid, WordPressi manuselehedVaikimisi sisse lülitatud, keegi ei ole välja lülitanud
Ühesugused tekstid eri lehtedelmallipõhised esinduste või linnade kirjeldusedMaandumislehtede masstootmine ilma unikaalse sisuta

Oluline järeldus: duplikaadid tulevad peaaegu alati klasside kaupa, mitte ükshaaval. Kui leidsite ühe toote, mis avaneb kahelt aadressilt, siis avaneb kahelt aadressilt kogu kataloog. Seepärast otsin ma duplikaadi leides esimesena reeglit, mis selle tekitas, mitte ei paranda konkreetset lehte.

Eraldi tasub eristada duplikaate ja märksõnade kannibaliseerimist. Duplikaat on sama sisu erinevatel aadressidel. Kannibaliseerimine on erineva sisuga lehed, mis konkureerivad sama päringu pärast. Esimest ravitakse kokkuliitmisega, teist struktuuri ja sisu ümbertegemisega.


Millega duplikaadid päriselt kahju teevad

Kolm mõju, väga erineva suurusega.

Google näitab vale URL-i. See on peamine. Otsingumootor valib kanoonilise aadressi ise, arvestades linke, sitemap'i, canonical'it ja sisemist seotust. Kui signaalid on vastuolulised, võib otsingusse sattuda UTM-märgendiga aadress või toode teisejärgulisest kategooriast. Väliselt tundub liiklus olevat olemas, kuid kogutud signaalid on aadresside vahel laiali.

Raisku läheb roomamiseelarve. Kuni mõne tuhande lehega saidil pole see tavaliselt probleem — Googlebot jõuab kõike läbi käia. Kataloogis, kus filtrid tekitavad kümneid tuhandeid kombinatsioone, muutub olukord: robot kulutab käigud prügiaadressidele ja uued tootelehed ootavad indekseerimist nädalaid. Sümptomid kattuvad nendega, mida kirjeldasin artiklis sellest, miks Google lehti ei indekseeri.

Sisemine kaal hajub. Kui osa sisemisi linke viib aadressile /teenused ja osa aadressile /teenused/, jaguneb kaal ühe asemel kahe aadressi vahel. Mõju on kahest eelmisest tagasihoidlikum, kuid see kaob tasuta, kui linkimine korda teha.

Mida duplikaadid ei tee — need ei langeta kogu veebilehte. Kui teile öeldakse, et sait on «duplikaatide eest filtri all», paluge näidata konkreetset aruannet. Valdaval enamikul juhtudest peitub selle sõnastuse taga tavaline positsioonide langus mõnel muul põhjusel.


Kuidas duplikaate leida: kolm allikat

Ükski allikas ei anna täielikku pilti, seepärast vaatan alati kõiki kolme.

1. Search Console, aruanne «Lehtede indekseerimine». Kõige ausam allikas: see ei näita, mida teie duplikaadiks peate, vaid mida peab duplikaadiks Google. Olulised staatused:

  • «Duplikaat, kasutaja ei ole kanoonilist versiooni märkinud» — Google leidis ühesuguse sisu ja liitis aadressid ise kokku, sest canonical'it ei olnud.
  • «Google valis teise kanoonilise URL-i kui kasutaja» — te panite canonical'i, aga Google ei nõustunud sellega. See on märk, et kas lehed on tegelikult erinevad või siis sisemised lingid ja sitemap räägivad teie canonical'ile vastu.
  • «Ümbersuunamisega leht» suures koguses — sageli jälg sellest, et ümbersuunamised töötavad, kuid sisemised lingid viitavad ikka vanadele aadressidele.

2. Veebilehe roomamine. Käige sait läbi Screaming Frogi, Sitebulbi või mõne muu kraulriga ja sorteerige tulemus kolme välja järgi: title, H1 ja sisu räsi. Kattuvad title'id on kiireim duplikaadiklassi tunnus. Kontrollige eraldi, kas sait vastab koodiga 200 aadressile suvalise lisatud parameetriga: kui /teenused?foo=bar avaneb tavalise lehena, on teil potentsiaalselt lõputu arv duplikaate.

3. Otsingutulemused ise. Päring kujul site:teiedomeen.ee "tekstilõik jutumärkides" näitab, mitu aadressi Google selle tekstiga indeksis hoiab. Jäme tööriist, kuid see püüab kinni selle, mis aruannetesse ei jõudnud: vanad alamdomeenid, testkoopiad, lõpetamata kolimise jäänused.

Neljas allikas, mis ununeb, on sitemap.xml. Kui kaardil on parameetritega või ümbersuunavad aadressid, ütlete Google'ile oma kätega, et need URL-id on kanoonilised. Kuidas see peaks olema seadistatud, kirjeldasin artiklis sitemap.xml ja robots.txt seadistamisest.


Millega kokku liita: 301, canonical või noindex

Tööriista valib üks küsimus: kas teine URL on elavale kasutajale vajalik?

OlukordTööriistMiks
Vana aadress pärast struktuurimuutust301-ümbersuunamineURL-i pole enam vaja, kaal antakse edasi, aadress kaob otsingust
Kaldkriips, www, http301 serveri tasemelÜks kanooniline formaat kogu saidile
UTM-märgendid ja sortimisparameetridcanonical puhtale URL-ileLink peab töötama, aga indekseeruma ei pea
Toode kahes kategooriascanonical põhiteekonnaleMõlemad lehed on navigatsioonis vajalikud
Lehekülgede jaotuscanonical iseendaleLehed 2+ sisaldavad teisi tooteid ega ole duplikaadid
Prindiversioon, PDF-koopiacanonical HTML-versioonileKasutajale vajalik, otsingule mitte
Ostukorv, konto, sisemine otsingnoindexLeht on inimesele vajalik, otsingus kasutu
Täiesti kasutud automaatsed arhiividnoindex ja seejärel eemaldamineVäärtust pole kellelegi

Kolm asja, mille juures näen regulaarselt vigu:

  1. Canonical on soovitus, mitte käsk. Google arvestab seda koos teiste signaalidega ja võib eirata. Kui panete canonical'i lehele A, aga kõik sisemised lingid ja sitemap viivad lehele B, võidab B. Signaalid peavad olema kooskõlas.
  2. Ärge sulgege duplikaate robots.txt kaudu. Robots.txt-s keelatud lehte robot ei laadi alla — seega ei näe ta seal ei canonical'it ega noindex'it. Aadress jääb indeksisse staatusega «indekseeritud, kuigi robots.txt blokeerib» ja kokkuliitmist ei toimu. Robots.txt on roomamise säästmiseks, mitte indeksist eemaldamiseks.
  3. Ärge kombineerige ühel lehel noindex'it ja canonical'it. See on vastuoluline juhis: canonical ütleb «anna signaalid edasi», noindex «viska mind välja». Valige üks.

Keeleversioonid ei ole duplikaadid

Eesti turul on see kõige kallim viga kogu loetelust, sest siin on peaaegu iga sait mitmekeelne.

Eesti-, vene- ja ingliskeelne versioon sisaldavad erinevat teksti ja on suunatud erinevatele auditooriumidele — definitsiooni järgi ei ole need duplikaadid. Isegi kui pildid, hinnad ja struktuur kattuvad. Hullem veel: canonical eestikeelselt versioonilt venekeelsele viskab eestikeelse lehe eestikeelsest otsingust täielikult välja ehk annab kogu kohaliku liikluse konkurendile.

Õige skeem on lihtne: igal keeleversioonil on canonical iseendale ja omavahel seotakse need hreflang'iga, kaasa arvatud viide iseendale. Selle märgistuse tüüpvigu ja kontrollimist kirjeldasin eraldi artiklis hreflang'i seadistamisest.

Eraldi juhtum on üks keel mitmel domeenil või alamdomeenil, näiteks .ee ja .com sama ingliskeelse tekstiga. Need on juba päris duplikaadid saitide vahel ja siin aitab kas domeenidevaheline canonical või sisu aus lahku ajamine.


Mida ma praktikas näen

Mõned tähelepanekud Eesti projektidelt, mis korduvad ikka ja jälle.

Kõige sagedasem duplikaat ei ole kataloogis, vaid avalehel. Sait avaneb korraga neljal aadressil: www-ga ja ilma, https ja http. See seadistatakse ühe korraga serveri või CDN-i tasemel ja sulgeb terve probleemiklassi enne, kui keegi jõuab tootelehti vaadata.

Teine sageduselt on parameetrid sisemistest funktsioonidest. Sortimine, toodete arv lehel, seansi identifikaator, vana filtri jäljed. Iga selline parameeter kahe- või kolmekordistab kataloogi aadresside arvu.

Pärast kolimist tekivad duplikaadid ka õigete ümbersuunamiste korral. Ümbersuunamised tehakse ära, aga sisemised lingid menüüs, artiklite tekstides ja sitemap'is jäävad vanaks. Formaalselt kõik töötab, tegelikult käib Googlebot ahelaid pidi ja saab vastuolulisi signaale. Kontroll on lihtne: pärast kolimist ei tohi kraul leida ühtegi sisemist linki aadressile, mis vastab koodiga 301.

Duplikaadid käivad tihti käsikäes orblehtedega. Mõlemad tulenevad sellest, et saidi tegelik struktuur ja see, mida CMS sellest arvab, on lahku läinud. Ühte klassi lahendades tasub kohe kontrollida ka teist — kuidas orblehti leida, kirjutasin artiklis siselinkideta lehtedest.

Aus rakenduspiir: kõik eelnev käib saitide kohta kuni mõnekümne tuhande URL-ini, millega ma kõige sagedamini töötan. Suurtel kauplemisplatvormidel muutub parameetrite haldus omaette inseneriülesandeks ja otsused tehakse kataloogi arhitektuuri, mitte CMS-i seadete tasemel.


Tegevuste järjekord

  1. Kontrollige, kas sait avaneb mitmes avalehe aadressivariandis, ja seadistage 301 ühele kanoonilisele formaadile.
  2. Avage Search Console'is aruanne «Lehtede indekseerimine» ja kirjutage välja lehed koopia ja võõra kanoonilise URL-i staatustega.
  3. Tehke roomamine ja rühmitage lehed kattuvate title'ite ja H1 järgi — nii on näha klassid, mitte üksikjuhtumid.
  4. Otsustage iga klassi puhul, kas teine URL on kasutajale vajalik, ja valige tööriist ülaltoodud tabeli järgi.
  5. Viige sisemised lingid ja sitemap.xml valitud kanooniliste aadressidega kooskõlla — see on pool efektist.
  6. Kontrollige, et keeleversioonid oleksid seotud hreflang'iga, mitte liidetud canonical'iga.
  7. Naaske 3–4 nädala pärast aruande «Lehtede indekseerimine» juurde ja vaadake, kas Google teie valikuga nõustus.

Viimane samm jäetakse kõige sagedamini vahele, kuigi just see on tulemuse kontroll: kui Google valib endiselt teise kanoonilise URL-i, on kuskil alles vastuoluline signaal. Kui õiged aadressid tuleb sisse ehitada juba uue saidi arhitektuuri, on see veebiarenduse tasemel ülesanne, mitte punktparandus.

Korduma kippuvad küsimused

Mis on duplikaatsisu lihtsate sõnadega?
See on olukord, kus sama sisu on kättesaadav mitmelt erinevalt aadressilt. Näiteks toode avaneb nii aadressil /toode/lamp kui ka /kataloog/lambid/lamp?utm_source=fb ja lisaks kaldkriipsuga lõpus. Inimese jaoks on see üks leht, otsingumootori jaoks kolm erinevat aadressi ühesuguse tekstiga, mille vahel tuleb valida.
Kas Google karistab duplikaatsisu eest?
Ei. Google ütleb otse, et sama veebilehe sisene duplikaatsisu ei ole karistuse alus — see on tehniline olukord, mitte rikkumine. Filter on võimalik ainult võõraste tekstide sihiliku masskopeerimise korral. Tavaliste duplikaatide tegelik kahju on muus: kaal hajub aadresside vahel, roomamiseelarve kulub raisku ja otsingusse satub vale versioon lehest.
Kuidas duplikaatlehti veebilehelt leida?
Alustage Search Console'i aruandest «Lehtede indekseerimine» — seal on staatused «Duplikaat, kasutaja ei ole kanoonilist versiooni märkinud» ja «Google valis teise kanoonilise URL-i kui kasutaja». Seejärel tehke roomamine (Screaming Frog, Sitebulb või minu enda kraul) ja sorteerige lehed title'i, H1 ja sisu räsi järgi. Kolmas allikas on päring site:teiedomeen.ee koos jutumärkides tekstilõiguga.
Kas valida 301-ümbersuunamine, canonical või noindex?
301 siis, kui vana URL pole kasutajale enam vajalik: see annab kaalu edasi ja eemaldab aadressi otsingust jäädavalt. Canonical siis, kui mõlemad lehed peavad kättesaadavaks jääma (filtriga leht, prindiversioon, toode kahes kategoorias) — see on soovitus, mitte käsk. Noindex siis, kui leht on vajalik inimesele, aga mitte otsingule: ostukorv, kasutajakonto, sisemise otsingu tulemused.
Kas eri keeltes lehed on duplikaadid?
Ei. Eesti-, vene- ja ingliskeelne versioon ühest lehest ei ole duplikaadid, isegi kui struktuur ja pildid kattuvad. Neid ei tohi canonical'iga kokku liita: canonical teisele keeleversioonile viskab lehe oma keele otsingutulemustest välja. Versioonid seotakse hreflang-atribuudiga ja igal versioonil peab olema canonical iseendale.
Kas lehekülgede jaotus ja filtrid tuleks indekseerimisest sulgeda?
Lehekülgede jaotust peaaegu mitte kunagi: lehed 2, 3, 4 sisaldavad erinevaid tooteid ega ole duplikaadid, ning canonical esimesele lehele takistab sügavamate toodete leidmist. Filtreid tuleb vaadata nõudluse järgi: kombinatsioonid, millel on reaalne otsingumaht, võivad jääda indekseeritavateks maandumislehtedeks, ülejäänud sulgeda. Kõiki filtrikombinatsioone indekseerida ei tohi — keskmises poes tähendab see kümneid tuhandeid peaaegu ühesuguseid lehti.

Järeldused

Duplikaadid ei ole peaaegu kunagi ühe lehe juhus — need tulenevad sellest, kuidas sisuhaldussüsteem URL-e moodustab. Seepärast on nende ükshaaval parandamine mõttetu: sulgege allikas (üks aadressiformaat, reeglid parameetritele, canonical malli järgi) ja kogu klass kaob korraga. Alustada soovitan alati aruandest «Lehtede indekseerimine»: see näitab mitte seda, mida teie duplikaadiks peate, vaid seda, mida peab duplikaadiks Google. Kui aega süveneda ei ole, on see osa tööst, mida teen [SEO-optimeerimise](/et/seo-optimeerimine) raames.

Artikli autor

Vladislav Krivorutsko — ADLABi asutaja
Vladislav Krivorutsko

ADLAB OÜ asutaja · SEO ja Google Ads

Üle 20 aasta otsiliikluse ja monetiseerimisega, Eesti turul alates 2017. aastast. Töötan üksi: teen auditi, koostan strateegia ja viin projekti ise lõpuni — ilma alltöövõtjate ja šabloonideta. Kirjutan ainult sellest, mida olen oma ja klientide saitidel järele proovinud.

  • 20+ aastat otsiliikluses
  • 50+ projekti võtmed kätte
  • Oma saidid konkurentsitihedates nišides
  • SEO ru/et/en ühes otsingutulemuses
Loe minust lähemalt

Loe edasi