Robots.txt a meta directives

Robots.txt a meta directives

Prečo jemne ladiť crawl: rozdiel medzi preliezaním a indexáciou

Technické SEO oddeľuje dve fázy spracovania webu: crawl (preliezanie URL robotmi) a indexáciu (zaradenie obsahu do výsledkov vyhľadávania). robots.txt riadi, čo robot smie navštíviť, zatiaľ čo meta directives (napr. <meta name="robots"> alebo hlavička X-Robots-Tag) riadia, čo vyhľadávač smie indexovať a ako má s obsahom narábať. Jemné ladenie crawl-u prináša priamy vplyv na výkon servera, rozpočet crawl-u (crawl budget) a čistotu indexu.

Architektúra rozhodovania robotov: kde sa uplatňujú pravidlá

  • DNS & sieť: latencia/5xx ovplyvní rýchlosť preliezania.
  • robots.txt: prvý dotaz na doméne – definuje prístup na úrovni cesty.
  • HTTP stavové kódy: 200/301/302/404/410/451/5xx formujú ďalšie správanie.
  • Meta directives: posudzuje sa až po načítaní dokumentu/hlavičky.
  • Signály odkazov: objavovanie nových URL aj bez indexácie (nofollow je dnes „hint“).

robots.txt: princípy a priority

Súbor /robots.txt platí pre host (vrátane subdomény) a spravidla sa hodnotí per User-agent blok. Vyhľadávače zohľadňujú najšpecifickejšie zodpovedajúce pravidlo a posledné konfliktné pravidlá môžu byť pre rôzne roboty vyhodnotené odlišne.

  • Disallow: cesta/šablóna, ktorú robot nesmie preliezať.
  • Allow: výnimka voči Disallow pre konkrétnejšiu cestu.
  • Wildcard: * (ľubovoľný reťazec) a $ (koniec URL) – podporované veľkými vyhľadávačmi.
  • Sitemap: odkaz(y) na XML sitemap(y) – odporúčané pre rýchle objavovanie.

robots.txt: vzorové konfigurácie

# Základ: povoliť všetko, okrem interného vyhľadávania a filtrov User-agent: * Disallow: /search/ Disallow: /filter/ Allow: /filter/help
Sitemap: https://www.example.com/sitemap.xml
Sitemap: https://cdn.example.com/media-sitemap.xml
# Jemné ladenie pre e-shop s fasetami User-agent: * # Blokovanie parametrov, ktoré generujú permutácie bez hodnoty Disallow: /*?sort= Disallow: /*?view= Disallow: /*?color= # Ponechať prístup na pagináciu kategórií (ak má hodnotu pre index) Allow: /category/*?page= # Chrániť vykresľovanie – neblokovať kritické zdroje Allow: /assets/css/ Allow: /assets/js/
# Media host – iba obrázky a videá User-agent: * Disallow: / Allow: /*.jpg$ Allow: /*.jpeg$ Allow: /*.png$ Allow: /*.webp$ Allow: /*.mp4$

Čomu sa vyhnúť v robots.txt

  • Nesnažte sa „noindexovať“ cez robots.txt. Direktíva noindex v robots.txt nie je podporovaná. Ak URL zablokujete v robots.txt, vyhľadávač nevidí meta/hlavičky a nemôže uplatniť noindex.
  • Neblokujte zdroje potrebné na renderovanie (CSS/JS/fonty pre verejné stránky). Blokovanie znižuje pochopenie layoutu a môže zhoršiť hodnotenie.
  • Nezakazujte 404/410 sekcie. Nechajte robotov vidieť stav, aby rýchlejšie vyradili URL z indexu.
  • Nezamieňajte host/subdomény. robots.txt je per host – cdn.example.com potrebuje vlastný súbor.
  • Pozor na BOM a kódovanie. Súbor má byť čistý UTF-8 bez BOM, s koncami riadkov \n.

Meta robots (HTML) a X-Robots-Tag (HTTP): jemné ovládanie indexácie

Na úrovni dokumentu (HTML) alebo súboru (PDF, obrázky) môžeme riadiť indexáciu a prezentáciu výsledku:

  • index/noindex: povoliť/zakázať zaradenie do indexu.
  • follow/nofollow: ako zaobchádzať s odkazmi. Dnes je nofollow „hint“, nie striktívny príkaz.
  • Úryvky a náhľady: nosnippet, max-snippet, max-image-preview (none/standard/large), max-video-preview.
  • Preklad a cache: notranslate, noarchive.
  • Dostupné do: unavailable_after s RFC 850 dátumom.
  • Obrázky: noimageindex zabráni indexácii obrázkov zo stránky.

Príklady meta robots v HTML

<!-- Zakázať indexáciu, povoliť sledovanie odkazov --> <meta name="robots" content="noindex,follow">







X-Robots-Tag pre ne-HTML súbory

HTTP hlavička X-Robots-Tag umožňuje aplikovať direktívy na PDF, obrázky, video, alebo na celý host (cez server config). Výhoda: netreba upravovať obsah súboru.

# Apache (.htaccess) <FilesMatch "\.(pdf|docx)$"> Header set X-Robots-Tag "noindex, noarchive, nosnippet" </FilesMatch>
# Nginx (server/location) location ~* \.(pdf|docx)$ { add_header X-Robots-Tag "noindex, noarchive, nosnippet"; }

Dôležité: Ak je URL zablokovaná v robots.txt, robot si jej hlavičku nevyžiada a X-Robots-Tag sa neuplatní. Na „odindexovanie“ ponechajte crawl a použite noindex (meta/hlavička) alebo vráťte 404/410.

Relácie, parametre a fasetová navigácia: stratégia

  • URL s parametrami (triedenie, zobrazenie, farba, veľkosť) obvykle Disallow v robots.txt, ale kľúčové varianty (napr. ?page=) ponechať prístupné, ak nesú hodnotu pre používateľov.
  • Rel=canonical z parametrových stránok na primárnu kategóriu. Neblokujte a zároveň nedávajte canonical – ak je blokované, robot canonical neuvidí.
  • Interné prelinkovanie: minimalizujte odkazy na zakázané parametre, aby ste neplytvali rozpočtom crawl-u.

Stavové kódy vs. noindex vs. Disallow: rozhodovacia matica

  • Chcete URL odstrániť z indexu natrvalo? Vráťte 410 Gone (alebo 404) – rýchle vyradenie. Neblokujte v robots.txt.
  • Chcete URL viditeľnú pre používateľov, ale mimo indexu? 200 OK + noindex (meta alebo X-Robots-Tag).
  • Dočasný presun / údržba? 302 alebo 503 s Retry-After; nenechávajte dlhodobo.
  • Trvalý presun? 301 (bez noindex na cieľi); sledujte reťazenie.

Jemné ladenie rýchlosti preliezania a výkonu

  • Serverové limity: sledujte 5xx počas crawl špičiek. Ak sa objavujú, optimalizujte caching, kompresiu, DB dotazy a CDN.
  • Crawl-delay: niektoré roboty akceptujú, Google ho ignoruje. Riadenie rýchlosti riešte skôr výkonom, škálovaním a HTTP optimalizáciami.
  • Crawl budget: čistá informačná architektúra, menší počet bezcenných URL, rýchle odpovede, správne kódy a zmysluplné sitemapy.

Rendering a dynamika: kedy meta nemusí „stihnúť“

Ak meta robots vkladáte po načítaní cez JavaScript, nie všetci roboty ho uvidia včas. Odporúčanie: vkladajte <meta name="robots"> priamo do HTML na serveri alebo používajte X-Robots-Tag v odpovedi.

Typické scenáre a riešenia

  1. Staging / UAT prostredie: nepoužívajte iba Disallow: /. Najbezpečnejšie je HTTP auth (Basic) alebo IP whitelisting. Ak musíte, pridajte aj noindex + X-Robots-Tag a zamedzte odkazovaniu z produkcie.
  2. Interné vyhľadávanie: Disallow /search a odkazy označte rel="nofollow" (hint). Lepšie je interné vyhľadávanie nezverejňovať pre index.
  3. Duplicitné verzie (http/https, s/bez www): vyriešte 301 a canonical, nevynucujte to cez robots.txt.
  4. PDF katalógy bez indexácie: ponechajte crawl, pridajte X-Robots-Tag: noindex a linkujte len tam, kde to dáva zmysel.
  5. Obrázky citlivých sekcií: noimageindex na stránke a prípadne X-Robots-Tag pre obrazové cesty.

Špecifiká direktív a jemné rozdiely

  • noindex,follow je platné: URL sa neindexuje, odkazy sa môžu sledovať (ako hint).
  • noindex,nofollow: často zbytočne obmedzuje objavovanie. Používajte len keď chcete minimalizovať šírenie signálov.
  • nosnippet potlačí úryvok; môže znižovať CTR – používajte skôr max-snippet.
  • max-image-preview pomáha riadiť veľkosť náhľadov v Discover/Obrázkoch; „large“ podporuje bohatšie náhľady.
  • unavailable_after: po dátume robot obsah neindexuje/znižuje viditeľnosť; nezamieňať so 410.

Bezpečnosť a citlivý obsah vs. robots.txt

robots.txt nie je bezpečnostný mechanizmus. URL v ňom sú verejné a môžu sa stať „zoznamom pokladov“. Citlivé oblasti chráňte autentifikáciou, autorizáciou a kontrolou prístupu na úrovni siete.

Monitoring a diagnostika: ako overiť efekt

  • Serverové logy: identifikujte user-agentov, frekvencie, 5xx/4xx, preliezané cesty; sledujte zmeny po deployi.
  • Nástroje vyhľadávačov: kontrola Crawl stats, Page indexing, test robots.txt, odstránenia URL, reporty pre obrázky/video.
  • Automatické testy: CI kontrola prítomnosti kľúčových direktív a syntaktických chýb.
  • Meranie výkonu: po úpravách porovnajte CPU/IO počas crawl peakov a čas odozvy.

Checklist pre nasadenie zmien

  1. Má každý host/subdoména správny vlastný robots.txt a URL je bez presmerovania?
  2. Nie sú blokované CSS/JS/fonty potrebné na renderovanie verejných stránok?
  3. Parametre bez hodnoty pre vyhľadávanie sú Disallow, no dôležité varianty zostávajú prístupné?
  4. Na URL určených mimo index je noindex (meta/hlavička) a nie Disallow?
  5. Stavové kódy odrážajú realitu (410 pre trvalé odstránené, 301 pre trvalý presun)?
  6. Sitemapy obsahujú iba kanonické, indexovateľné URL s 200 a správnym canonicalom?
  7. Overené v nástrojoch vyhľadávačov a v logoch po release?

Anti-patterny, ktoré stoja crawl budget

  • Nekonečné kombinácie filtrov (farba × veľkosť × sort × view). Riešenie: whitelisting výživných kombinácií + Disallow zvyšku.
  • „Pseudopaginácia“ bez obsahu (?page=999). Riešenie: ohraničiť stránky a prebytok vrátiť 404 alebo presmerovať na poslednú platnú stranu.
  • Soft-404 s 200 OK. Riešenie: vrátiť 404/410 a neblokovať v robots.txt.
  • Reťazené presmerovania. Riešenie: skracovať na 1 skok, aktualizovať interné odkazy.

Stratégia pre veľké weby

  • Segmentácia robots.txt podľa sekcií (kategórie, blog, media) a podľa robotov (ak je to opodstatnené).
  • Strojové pravidlá: generujte robots.txt z konfigurácie IA, nie ručne.
  • Iterácia: nasadzujte v malých krokoch, sledujte logy a dopad na indexáciu/zdrojové nároky.

Rýchly „cookbook“: recepty na časté úlohy

# 1) Vyradiť /thank-you/ z indexu, ale ponechať crawl # (HTML stránka) <meta name="robots" content="noindex,follow">
# 2) Zamedziť indexácii všetkých PDF, ponechať prístupnosť používateľom # (server config) X-Robots-Tag: noindex
# 3) Zastaviť preliezanie interného vyhľadávania # (robots.txt) User-agent: * Disallow: /search/
# 4) Boj s nekonečnými parametrami User-agent: * Disallow: /*?utm_ Disallow: /*&utm_ Disallow: /*?session= Disallow: /*&session=
# 5) Odstránená sekcia # (HTTP 410; neblokovať v robots) HTTP/1.1 410 Gone

Zhrnutie: pravidlá pre rozumné jemné ladenie

  • Robots.txt = prístup, meta/X-Robots-Tag = indexácia a prezentácia.
  • Na odindexovanie ponechajte URL crawlovateľnú a použite noindex alebo správny 4xx/410.
  • Nezneprístupňujte kritické zdroje pre renderovanie.
  • Pracujte s parametrami selektívne, nie plošne.
  • Merajte v logoch, overujte v nástrojoch vyhľadávačov a iterujte.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *