Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

🚫 Kuidas noindexida lehekülgede jagunemise lehti Yoast SEO-s

🚫 Kuidas noindexida lehekülgede jagunemise lehti Yoast SEO-s

Kui sul on sadu postitusi, kümneid kategooriaid ja pilv silte, paljunevad lehekülgede kaupa jagatud lehed märkamatult. /page/2/, siis /page/3/, siis /page/15/ ja enne kui arugi saad, indekseerib Google tuhat rämps-URLi, millel pole unikaalset sisu, kuid mis kulutavad sinu läbivaatuse eelarvet.

Yoast SEO vanemates versioonides oli sisseehitatud lüliti nimega „Noindex subpages of archives". Üks linnuke ja probleem oli lahendatud. Kuid 2020. aastal eemaldas Yoasti meeskond selle seade liidesest. Ametlik seisukoht: Google on muutunud lehekülgede kaupa jagatud seeriate käsitlemisel targemaks ja see seade pole enam vajalik.

Praktikas on see vajalik. Eriti suurte saitide puhul, kus iga lisaleht indeksis sööb läbivaatuse kvoodi URLide arvelt, mis tegelikult peaksid järjestuses olema.

Yoasti arendajad jätsid alles lahenduse: wpseo_robots filtri. Selle abil saad programmeeritavalt määrata noindex, follow kõigile lehekülgede kaupa jagatud lehtedele. Allpool on kaks koodivalikut: range (kõik /page/ URLid) ja valikuline (ainult kategooria ja sildi arhiivid).

💡 Kiirülevaade:

  • Õpi, miks Yoast eemaldas sisseehitatud valiku ja millal on see endiselt vajalik
  • Saa valmis kood faili functions.php jaoks: kaks versiooni wpseo_robots filtrist
  • Õpi tulemusi kontrollima lähtekoodi ja Google Search Console'i kaudu

Miks peaks lehekülgede kaupa jagatud lehed indekseerimisest blokeerima

Igal lehekülgede kaupa jagatud lehel on kolm probleemi. Esiteks, sisu dubleerimine: /category/seo/, /category/seo/page/2/ ja /category/seo/page/3/ kuvavad samu eelvaateid, lihtsalt lehtede vahel ära jagatuna. Teiseks, õhuke sisu: lehekülgede kaupa jagatud lehel pole tervet artiklit, ainult pealkirjade loend koos väljavõtetega. Kolmandaks, läbivaatuse eelarve: Googlebot kulutab oma läbivaatuse limiidi URLidele, millel pole otsinguväärtust, selle asemel et värskeid postitusi uuesti läbi vaadata.

Yoast SEO lahendas selle ülesande ajalooliselt ühe linnukesega seadetes. Kuid alates versioonist 14.0 vaatas ettevõte oma lähenemise üle. Loogika oli järgmine: Google õppis tundma rel="prev" ja rel="next" atribuute, mõistab lehekülgede kaupa jagamise struktuuri ja suunab kasutajad ise esimesele lehele. Ja noindex alamlehtedel vähendab Yoasti hinnangul läbivaatuste arvu ning takistab otsingumootoril vanu artikleid nendel lehtedel olevate linkide kaudu uuesti avastamast.

See argument on vaieldav. Kui sul on väike blogi 30 postitusega, siis pole probleemi, Google saab sellest aru. Aga kui sinu sait on kasvanud mitme tuhande URLini koos kategooria, sildi ja kuupäeva arhiivide lehekülgede kaupa jagamisega, raiskab otsingumootor aega valedele asjadele. Alamlehtede indekseerimisest blokeerimine koodi abil on kontrollitud ja pööratav lahendus.

Valik 1: noindex kõigile lehekülgede kaupa jagatud lehtedele

Kõige lihtsam ja radikaalsem lähenemine. Filter kontrollib is_paged() tingimust, mis on standardne WordPressi funktsioon ja tagastab true igal lehekülgede kaupa jagatud lehel (arhiivid, kategooriad, sildid, avaleht). Kui tingimus on tõene, asendame väärtusega noindex, follow.

Lisa see kood oma aktiivse teema faili functions.php või Code Snippets pistikprogrammi kaudu:

1add_filter('wpseo_robots', function($robots) {
2 if (is_paged()) {
3 return 'noindex,follow';
4 }
5 return $robots;
6});

Mis toimub rida-realt:

  • add_filter('wpseo_robots', ...) haakub Yoast SEO filtri külge, mis vastutab robots meta sildi sisu eest. Filter võtab vastu praeguse $robots väärtuse ja ootab tagasi stringi.
  • is_paged() on sisseehitatud WordPressi tuumafunktsioon. See käivitub igal URLil, kus paged muutuja on olemas (see tähendab /page/N/).
  • return 'noindex,follow' ütleb otsingumootorile: „ära indekseeri seda lehte, kuid järgi sellel olevaid linke." Lingid lehekülgede kaupa jagatud lehel jätkavad kaalu edastamist.
  • return $robots tagastab kõigile teistele lehtedele standardse Yoasti väärtuse muutmata kujul.

Pärast koodi lisamist külasta mõnda lehte nagu /category/seo/page/2/ ja ava HTML-i lähtekood (Ctrl+U). Otsi rida <meta name="robots". Kui näed content="noindex, follow", siis filter töötas.

Valik 2: noindex ainult kategooria ja sildi arhiividele

Esimene valik tabab kõiki lehekülgede kaupa jagatud lehti valimatult, sealhulgas avalehte (/page/2/). Kui sinu avaleht kuvab postituste eelvaateid ja soovid selle alamlehti indeksis hoida, vajad sihipärasemat loogikat.

Lisame teise tingimuse: is_archive(). See WordPressi funktsioon tagastab true ainult arhiivilehtedel: kategooriad, sildid, kuupäeva arhiivid, autori arhiivid ja kohandatud taksonoomiad.

1add_filter('wpseo_robots', function($robots) {
2 if (is_paged() && is_archive()) {
3 return 'noindex,follow';
4 }
5 return $robots;
6});

Erinevus esimesest valikust on tingimuste kombinatsioonis. is_paged() && is_archive() tähendab: „lehekülgede kaupa jagatud leht JA arhiivileht samaaegselt." Avalehe lehekülgede kaupa jagamine (/page/2/) ei vasta is_archive() tingimusele, seega säilib selle indekseerimine.

Milline valik valida:

Olukord

Valik

Suur sait, tuhanded lehekülgede kaupa jagatud URLid, vaja maksimaalset kontrolli

Valik 1

Avaleht kuvab postituste voogu, avalehe alamlehed on indekseerimiseks olulised

Valik 2

E-pood WooCommerce'il tootekategooriatega

Valik 2

Vaja prognoositavust ja minimaalselt erandeid

Valik 1

Kuidas tulemust kontrollida

Pärast koodi sisestamist kontrolli kolme asja.

Esiteks, lähtekood. Ava mõni lehekülgede kaupa jagatud leht, Ctrl+U, otsi <meta name="robots". Veendu, et näed content="noindex, follow", mitte content="index, follow".

Teiseks, Google Search Console. Mine URL-i kontrollimise tööriista, kleebi lehekülgede kaupa jagatud lehe aadress ja klõpsa „Testi". Plokis „Indekseerimine" näed olekut: „Lehte ei indekseerita" põhjusega „noindex sildiga välistatud". See kinnitab, et Googlebot võttis direktiivi vastu ja töötles selle.

Kolmandaks, indeksi dünaamika. Ava Search Console'is „Indeks" → „Lehed". 2-4 nädala jooksul pärast koodi rakendamist näed kasvu lehtede arvus olekuga „noindex sildiga välistatud" ja indekseeritud lehekülgede kaupa jagatud URLide vähenemist. Protsess ei ole hetkeline: Googlebot peab iga URLi uuesti läbi vaatama, et uut silti lugeda.

Olulised piirangud ja ettevaatusabinõud

Kood muudab kogu saidi käitumist. Enne rakendamist veendu, et mõistad tagajärgi.

Tuhandete lehtede järsk indeksist väljalangemine võib ajutiselt põhjustada liikluse languse. Kui sait elas aastaid lehekülgede kaupa jagamise indekseerimisega ja mõned alamlehed said otsinguliiklust, kaotad need külastused. Vastutasuks vabastad läbivaatuse eelarve lehtedele, mis tegelikult peaksid järjestuses olema. Kuid 3-6 nädalane kohanemisperiood on vältimatu.

Enne muutmist tee failist functions.php varukoopia. PHP koodi süntaksiviga viib kogu saidi alla (surma valge ekraan). Kui kasutad Code Snippets'i, püüab pistikprogramm saatusliku vea kinni ja deaktiveerib lõigu. Kui muudad functions.php otse, hoia FTP ligipääs käepärast, et fail tagasi kerida.

Kui saidile on paigaldatud vahemälu pistikprogramm (WP Rocket, W3 Total Cache), tühjenda pärast koodi lisamist vahemälu. Vastasel juhul serveeritakse külastajatele ja otsingumootoritele mitu tundi või päeva vanu HTML-koopiaid lehtedest ilma uue robots meta sildita.

Yoast SEO kõigi võimaluste põhjalikumaks jaotuseks, alates paigaldamisest kuni meta siltide peenhäälestuseni, vaata meie juhendit Yoast SEO seadistamiseks WordPressile.

⁉️🤔 Korduma kippuvad küsimused

Miks eemaldas Yoast SEO alamlehtede sisseehitatud noindex valiku?

Google õppis rel="prev" ja rel="next" siltide kaudu lehekülgede kaupa jagatud seeriaid ära tundma ja kasutajaid esimesele lehele suunama. Yoast otsustas, et noindex'i pealesurumine alamlehtedel vähendab läbivaatuste arvu ja segab vanade artiklite uuesti indekseerimist lehekülgede kaupa jagatud lehtede linkide kaudu. Yoasti ametlik dokumentatsioon kinnitab: seade eemaldati liidesest, kuid wpseo_robots filter jääb programmeeritavaks juhtimiseks alles.

Kas wpseo_robots filter on 2026. aastal endiselt toetatud?

Jah. wpseo_robots filter töötab praegustes Yoast SEO versioonides (24.x, 2026) ja on dokumenteeritud Metadata API-s aadressil developer.yoast.com. Oluline muudatus: enne versiooni 19.8 lubas filter robots meta sildi eemaldamiseks tagastada false. Alates 19.8-st ignoreeritakse false tagastamist; filter ootab ainult stringi ('noindex,follow' või $robots). Mõlemad selle artikli koodiversioonid tagastavad stringi ja on täielikult ühilduvad.

Kas kood töötab, kui saidil on kohandatud lehekülgede kaupa jagamise struktuur?

Funktsioon is_paged() tugineb standardsele WordPressi päringu parameetrile paged. Kui lehekülgede kaupa jagamine on rakendatud kohandatud parameetri kaudu (näiteks ?pg=2 või virtuaalne kerimine), siis tingimus ei käivitu. Kohandatud lehekülgede kaupa jagamise korral asenda is_paged() konkreetse query_var kontrolliga: get_query_var('custom_page_var'). Pistikprogrammid nagu WP-PageNavi töötavad standardse paged kaudu, seega konflikti ei ole.

Kui kaua läheb aega, kuni Google eemaldab lehekülgede kaupa jagatud lehed indeksist?

Keskmiselt 2 kuni 6 nädalat. Kiirus sõltub saidi suurusest ja läbivaatuse sagedusest: igapäevase läbivaatusega saidil vaatab Googlebot peamised jaotised uuesti läbi 7-10 päevaga; väikesel blogil iganädalase läbivaatusega kuu ajaga. Saad seda kiirendada käsitsi uuesti läbivaatuse taotlusega Search Console'is („Indeks" → „Lehed" → vali URL → „Taotle indekseerimist"), kuid Google töötleb selliseid taotlusi järjekorra alusel.

Kas lehekülgede kaupa jagamist saab blokeerida robots.txt kaudu noindex'i asemel?

Tehniliselt jah: Disallow: */page/* robots.txt-s keelab lehekülgede kaupa jagatud URLide läbivaatuse. Kuid see on halvem kui noindex. Põhjus: robots.txt blokeerib lehe läbivaatuse, mitte selle indekseerimise. Kui välised lingid viitavad lehekülgede kaupa jagatud lehele, võib Google selle indekseerida kui „kirjelduseta leht". Samal ajal ei vaadata läbi ka linke lehelt endalt ja kaotad kaalu edastamise postitustele. noindex, follow lahendab mõlemad ülesanded: lehte ei indekseerita, kuid sellel olevaid linke vaadatakse läbi.

Kas sinu puhul peaks lehekülgede kaupa jagamise indekseerimisest blokeerima

Vastus taandub kahele tegurile: saidi suurus ja see, kas läbivaatuse eelarve on napp ressurss.

Kui sul on 50 postitust ja kolm kategooriat, siis ära vaeva pead. Google saab ise aru, milliseid lehti otsingutulemustes kuvada, ja filtreerib vähem väärtuslikud ise välja. wpseo_robots filter on selles stsenaariumis tarbetu keerukus.

Kui sul on 500+ postitust, kümneid kategooriaid, aktiivne blogi siltide ja kuupäeva arhiividega, loob lehekülgede kaupa jagamine sadu ja tuhandeid URL-e, mida otsingumootor värskete artiklite asemel läbi vaatab. Luba valik 2 (arhiivid) või valik 1 (kõik), kontrolli tulemust lähtekoodi ja Search Console'i kaudu ning anna Google'ile uuesti läbivaatamiseks 3-4 nädalat.

Kood on pööratav: kommenteeri filter välja ja kuu aja jooksul naasevad kõik lehekülgede kaupa jagatud lehed indeksisse. Pöördumatuid tagajärgi ei ole.