Robots.txt a meta direktivy

Proč jemně ladit crawl: rozdíl mezi procházením a indexací

Technické SEO rozlišuje dvě fáze zpracování webu: crawl (procházení URL roboty) a indexaci (zařazení obsahu do výsledků vyhledávání). robots.txt řídí, co robot smí navštívit, zatímco meta directives (např. <meta name="robots"> nebo hlavička X-Robots-Tag) řídí, co vyhledávač smí indexovat a jak má s obsahem nakládat. Jemné ladění crawl-u má přímý vliv na výkon serveru, crawl budget (rozpočet procházení) a čistotu indexu.

Architektura rozhodování robotů: kde se uplatňují pravidla

  • DNS & síť: latence a chyby 5xx ovlivňují rychlost procházení.
  • robots.txt: první dotaz na doméně – definuje přístup na úrovni cesty.
  • HTTP stavové kódy: 200/301/302/404/410/451/5xx formují další chování.
  • Meta directives: posuzují se až po načtení dokumentu/hlavičky.
  • Signály odkazů: objevování nových URL i bez indexace (nofollow je dnes „hint“).

robots.txt: principy a priority

Soubor /robots.txt platí pro hostitele (včetně subdomény) a zpravidla se hodnotí na základě User-agent bloku. Vyhledávače zohledňují nejpřesněji odpovídající pravidlo a poslední konfliktní pravidla mohou být pro různé roboty vyhodnocena odlišně.

  • Disallow: cesta/šablona, kterou robot nesmí procházet.
  • Allow: výjimka vůči Disallow pro konkrétnější cestu.
  • Wildcard: * (libovolný řetězec) a $ (konec URL) – podporované hlavními vyhledávači.
  • Sitemap: odkaz(y) na XML sitemap(y) – doporučené pro rychlé objevování obsahu.

robots.txt: vzorové konfigurace

# Základ: povolit vše kromě interního vyhledávání a filtrů 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é ladění pro e-shop s fasetami User-agent: * # Blokování parametrů generujících permutace bez hodnoty Disallow: /*?sort= Disallow: /*?view= Disallow: /*?color= # Ponechat přístup k stránkování kategorií (pokud má hodnotu pro index) Allow: /category/*?page= # Ochrana renderování – neblokovat kritické zdroje Allow: /assets/css/ Allow: /assets/js/
# Media host – pouze obrázky a videa User-agent: * Disallow: / Allow: /*.jpg$ Allow: /*.jpeg$ Allow: /*.png$ Allow: /*.webp$ Allow: /*.mp4$

Čemu se vyhnout v robots.txt

  • Nesnažte se „noindexovat“ přes robots.txt. Direktiva noindex v robots.txt není podporována. Pokud URL zablokujete v robots.txt, vyhledávač nevidí meta/hlavičky a nemůže uplatnit noindex.
  • Neblokujte zdroje nezbytné k renderování (CSS/JS/fonty pro veřejné stránky). Blokování snižuje porozumění layoutu a může zhoršit hodnocení.
  • Nezavírejte sekce s chybou 404/410. Nechte roboty vidět stav, aby rychleji vyřadily URL z indexu.
  • Nezaměňujte hostitele a subdomény. robots.txt je per hostitel – cdn.example.com potřebuje vlastní soubor.
  • Dejte pozor na BOM a kódování. Soubor by měl být čistý UTF-8 bez BOM, s ukončením řádků n.

Meta robots (HTML) a X-Robots-Tag (HTTP): jemné ovládání indexace

Na úrovni dokumentu (HTML) nebo souboru (PDF, obrázky) lze řídit indexaci a prezentaci výsledku:

  • index/noindex: povolit/zakázat zařazení do indexu.
  • follow/nofollow: jak nakládat s odkazy. Dnes je nofollow „hint“, ne striktní příkaz.
  • Úryvky a náhledy: nosnippet, max-snippet, max-image-preview (none/standard/large), max-video-preview.
  • Překlad a cache: notranslate, noarchive.
  • Dostupné do: unavailable_after s RFC 850 datem.
  • Obrázky: noimageindex zabrání indexaci obrázků ze stránky.

Příklady meta robots v HTML

<!-- Zakázat indexaci, povolit sledování odkazů --> <meta name="robots" content="noindex,follow">







X-Robots-Tag pro ne-HTML soubory

HTTP hlavička X-Robots-Tag umožňuje aplikovat direktivy na PDF, obrázky, video nebo na celý host (přes konfiguraci serveru). Výhoda: není potřeba upravovat obsah souboru.

# 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é: Pokud je URL zablokovaná v robots.txt, robot si její hlavičku nevyžádá a X-Robots-Tag se neuplatní. K „odindexování“ ponechte crawl a použijte noindex (meta/hlavička) nebo vraťte 404/410.

Relace, parametry a fasetová navigace: strategie

  • URL s parametry (třídění, zobrazení, barva, velikost) obvykle Disallow v robots.txt, ale klíčové varianty (např. ?page=) ponechat přístupné, pokud mají hodnotu pro uživatele.
  • Rel=canonical z parametrických stránek na primární kategorii. Neblokujte a současně nedávejte canonical – pokud je blokované, robot canonical neuvidí.
  • Interní prolinkování: minimalizujte odkazy na zakázané parametry, aby nedocházelo k plýtvání crawl budgetem.

Stavové kódy vs. noindex vs. Disallow: rozhodovací matice

  • Chcete URL odstranit z indexu natrvalo? Vraťte 410 Gone (nebo 404) – rychlé vyřazení. Neblokujte v robots.txt.
  • Chcete URL viditelnou pro uživatele, ale mimo index? 200 OK + noindex (meta nebo X-Robots-Tag).
  • Dočasný přesun / údržba? 302 nebo 503 s Retry-After; nevydržujte dlouho.
  • Trvalý přesun? 301 (bez noindex na cíli); sledujte řetězení.

Jemné ladění rychlosti procházení a výkonu

  • Serverové limity: sledujte chyby 5xx během peaků procházení. Pokud se objevují, optimalizujte caching, kompresi, databázové dotazy a CDN.
  • Crawl-delay: některé roboty ji akceptují, Google ji ignoruje. Řízení rychlosti řešte spíše výkonem, škálováním a HTTP optimalizacemi.
  • Crawl budget: čistá informační architektura, menší počet bezcenných URL, rychlé odpovědi, správné kódy a smysluplné sitemap-y.

Rendering a dynamika: kdy meta nemusí „stihnout“

Pokud meta robots vkládáte po načtení přes JavaScript, ne všichni roboti ho uvidí včas. Doporučení: vkládejte <meta name="robots"> přímo do HTML na serveru nebo používejte X-Robots-Tag v odpovědi.

Typické scénáře a řešení

  1. Staging / UAT prostředí: nepoužívejte pouze Disallow: /. Nejbezpečnější je HTTP autentizace (Basic) nebo IP whitelisting. Pokud musíte, přidejte i noindex + X-Robots-Tag a zamezte odkazování z produkce.
  2. Interní vyhledávání: Disallow /search a odkazy označte rel="nofollow" (hint). Lepší je interní vyhledávání nezveřejňovat pro indexaci.
  3. Duplicitní verze (http/https, s/bez www): vyřešte 301 a canonical, nevnucujte to přes robots.txt.
  4. PDF katalogy bez indexace: ponechte crawl, přidejte X-Robots-Tag: noindex a odkazujte jen tam, kde to dává smysl.
  5. Obrázky citlivých sekcí: noimageindex na stránce a případně X-Robots-Tag pro obrázkové cesty.

Specifika direktiv a jemné rozdíly

  • noindex,follow je platné: URL se neindexuje, odkazy mohou být sledovány (jako hint).
  • noindex,nofollow: často zbytečně omezuje objevování. Používejte jen když chcete minimalizovat šíření signálů.
  • nosnippet potlačí úryvek; může snižovat CTR – používejte raději max-snippet.
  • max-image-preview pomáhá řídit velikost náhledů v Discover/Obrázcích; „large“ podporuje bohatší náhledy.
  • unavailable_after: po datu robot obsah neindexuje/snižuje viditelnost; nezaměňujte s 410.

Bezpečnost a citlivý obsah vs. robots.txt

robots.txt není bezpečnostní mechanismus. URL v něm jsou veřejné a mohou se stát „seznamem pokladů“. Citlivé oblasti chraňte autentizací, autorizací a kontrolou přístupu na úrovni sítě.

Monitoring a diagnostika: jak ověřit efekt

  • Serverové logy: identifikujte user-agenty, frekvence, 5xx/4xx, procházené cesty; sledujte změny po nasazení.
  • Nástroje vyhledávačů: kontrola Crawl stats, Page indexing, test robots.txt, odstranění URL, reporty pro obrázky/video.
  • Automatické testy: CI kontrola přítomnosti klíčových direktiv a syntaktických chyb.
  • Měření výkonu: po úpravách porovnejte CPU/IO během crawl peaků a čas odezvy.

Checklist pro nasazení změn

  1. Má každý host/subdoména správný vlastní robots.txt a URL je bez přesměrování?
  2. Nejsou blokovány CSS/JS/fonty potřebné k renderování veřejných stránek?
  3. Parametry bez hodnoty pro vyhledávání jsou Disallow, ale důležité varianty zůstávají přístupné?
  4. Na URL určených mimo index je noindex (meta/hlavička) a ne Disallow?
  5. Stavové kódy odrážejí realitu (410 pro trvale odstraněné, 301 pro trvalý přesun)?
  6. Sitemap-y obsahují pouze kanonické, indexovatelné URL s 200 a správným canonicalem?
  7. Ověřeno v nástrojích vyhledávačů a v logách po releasu?

Anti-patterny, které zbytečně žerou crawl budget

  • Nekonečné kombinace filtrů (barva × velikost × třídění × zobrazení). Řešení: whitelisting výživných kombinací + Disallow zbytku.
  • „Pseudopaginace“ bez obsahu (?page=999). Řešení: ohraničit stránky a přebytek vracet 404 nebo přesměrovat na poslední platnou stránku.
  • Soft-404 s 200 OK. Řešení: vracet 404/410 a neblokovat v