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) určují, co vyhledávač smí indexovat a jak má s obsahem nakládat. Jemné ladění crawlu má přímý vliv na výkon serveru, crawl budget a čistotu indexu.
Architektura rozhodování robotů: kde se uplatňují pravidla
- DNS & síť: latence/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: vyhodnocují 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 host (včetně subdomény) a obvykle se vyhodnocuje pro každý blok User-agent. Vyhledávače zohledňují nejkonkrétnější odpovídající pravidlo a konfliktní pravidla mohou různé roboty vyhodnotit odlišně.
- Disallow: cesta/vzor, který robot nesmí procházet.
- Allow: výjimka z
Disallowpro konkrétnější cestu. - Wildcard:
*(libovolný řetězec) a$(konec URL) – podporují je velké vyhledávače. - Sitemap: odkaz(y) na XML sitemap(y) – doporučují se pro rychlé objevování.
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ů, které generují bezcenné permutace Disallow: /*?sort= Disallow: /*?view= Disallow: /*?color= # Ponechat přístup k stránkování kategorií (pokud má pro indexaci hodnotu) Allow: /category/*?page= # Zajistit vykreslování – neblokovat kritické zdroje Allow: /assets/css/ Allow: /assets/js/
# Mediální 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
noindexvrobots.txtnení podporována. Pokud URL zablokujete vrobots.txt, vyhledávač neuvidí meta tagy/hlavičky a nemůže uplatnitnoindex. - Neblokujte zdroje potřebné k vykreslení (CSS/JS/fonty pro veřejné stránky). Blokování zhoršuje porozumění layoutu a může negativně ovlivnit hodnocení.
- Nezakazujte sekce s kódem 404/410. Umožněte robotům zjistit stav, aby mohly URL rychleji vyřadit z indexu.
- Nezaměňujte hostitele/subdomény.
robots.txtse vztahuje na každý host samostatně –cdn.example.compotřebuje vlastní soubor. - Pozor na BOM a kódování. Soubor má být čisté UTF-8 bez BOM, s konci řádků
n.
Meta robots (HTML) a X-Robots-Tag (HTTP): jemné řízení indexace
Na úrovni dokumentu (HTML) nebo souboru (PDF, obrázky) můžeme řídit indexaci a prezentaci výsledku:
index/noindex: povolit/zakázat zařazení do indexu.follow/nofollow: jak nakládat s odkazy. Dnes jenofollow„hint“, nikoli 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_afters datem ve formátu RFC 850. - Obrázky:
noimageindexzabrá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 soubory, které nejsou v HTML
HTTP hlavička X-Robots-Tag umožňuje aplikovat direktivy na PDF, obrázky, video nebo na celý host (prostřednictvím konfigurace serveru). Výhoda: není tř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í. Chcete-li URL „odindexovat“, ponechte ji procházet a použijte noindex (meta/hlavička), případně vraťte 404/410.
Relace, parametry a fasetová navigace: strategie
- URL s parametry (řazení, zobrazení, barva, velikost) obvykle blokujte pomocí Disallow v
robots.txt, ale důležité varianty (např.?page=) ponechte přístupné, pokud mají pro uživatele hodnotu. - Rel=canonical z parametrických stránek na primární kategorii. Neblokujte stránku a zároveň nenastavujte canonical – pokud je blokovaná, robot canonical neuvidí.
- Interní prolinkování: minimalizujte odkazy na zakázané parametry, abyste neplýtvali crawl budgetem.
Stavové kódy vs. noindex vs. Disallow: rozhodovací matice
- Chcete URL natrvalo odstranit z indexu? Vraťte
410 Gone(nebo404) – dojde k rychlému vyřazení. URL neblokujte vrobots.txt. - Chcete, aby byla URL viditelná uživatelům, ale nebyla v indexu?
200 OK+noindex(meta neboX-Robots-Tag). - Dočasné přemístění / údržba?
302nebo503s Retry-After; nenechávejte toto nastavení dlouhodobě. - Trvalé přemístění?
301(beznoindexna cílové URL); sledujte řetězení přesměrování.
Jemné ladění rychlosti procházení a výkonu
- Limity serveru: sledujte chyby 5xx během špiček crawlu. Pokud se objevují, optimalizujte cachování, kompresi, dotazy do databáze a CDN.
- Crawl-delay: některé roboty toto nastavení respektují, Google ho ignoruje. Rychlost procházení řešte především výkonem, škálováním a optimalizací HTTP.
- Crawl budget: přehledná informační architektura, méně bezcenných URL, rychlé odpovědi, správné kódy a smysluplné sitemapy.
Vykreslování a dynamický obsah: kdy meta tag nemusí „stihnout“
Pokud meta robots vkládáte až po načtení prostřednictvím JavaScriptu, 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í
- Staging / UAT prostředí: nespoléhejte pouze na
Disallow: /. Nejbezpečnější je HTTP autentizace (Basic) nebo povolení přístupu pouze z vybraných IP adres. Pokud musíte, přidejte takénoindex+X-Robots-Taga zabraňte odkazování z produkčního prostředí. - Interní vyhledávání: nastavte Disallow
/searcha odkazy označterel="nofollow"(hint). Ještě lepší je interní vyhledávání pro indexaci nezpřístupňovat. - Duplicitní verze (http/https, s/bez www): vyřešte pomocí
301acanonical, nevynucujte to přesrobots.txt. - PDF katalogy bez indexace: ponechte je procházet, přidejte
X-Robots-Tag: noindexa odkazujte na ně jen tam, kde to dává smysl. - Obrázky z citlivých sekcí: použijte
noimageindexna stránce a případněX-Robots-Tagpro cesty k obrázkům.
Specifika direktiv a jemné rozdíly
noindex,followje platná direktiva: URL se neindexuje, odkazy lze sledovat (jako hint).noindex,nofollow: často zbytečně omezuje objevování. Používejte pouze tehdy, když chcete minimalizovat šíření signálů.nosnippetpotlačí úryvek; může snižovat CTR – upřednostnětemax-snippet.max-image-previewpomáhá řídit velikost náhledů v Discover/Obrázcích; hodnota „large“ umožňuje bohatší náhledy.unavailable_after: po uvedeném datu robot obsah neindexuje/snižuje jeho viditelnost; nezaměňujte s kódem 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 účinek
- Protokoly serveru: identifikujte user-agenty, frekvenci požadavků, chyby 5xx/4xx a procházené cesty; sledujte změny po nasazení.
- Nástroje vyhledávačů: kontrola Crawl stats, Page indexing, test robots.txt, odstraňování URL, přehledy pro obrázky/video.
- Automatické testy: kontrola přítomnosti klíčových direktiv a syntaktických chyb v CI.
- Měření výkonu: po úpravách porovnejte vytížení CPU/IO během špiček crawlu a dobu odezvy.
Checklist pro nasazení změn
- Má každý host/subdoména vlastní správný soubor
robots.txta je URL dostupná bez přesměrování? - Nejsou blokovány CSS/JS/fonty potřebné k vykreslení veřejných stránek?
- Jsou parametry bez hodnoty pro vyhledávání nastaveny na
Disallow, zatímco důležité varianty zůstávají přístupné? - Je na URL určených k vyloučení z indexu nastaveno
noindex(meta/hlavička), a nikoliDisallow? - Odpovídají stavové kódy skutečnosti (410 pro trvale odstraněné stránky, 301 pro trvalé přesměrování)?
- Obsahují sitemapy pouze kanonické, indexovatelné URL s kódem 200 a správným canonicalem?
- Bylo vše po vydání ověřeno v nástrojích vyhledávačů a v logách?
Anti-patterny, které stojí crawl budget
- Nekonečné kombinace filtrů (barva × velikost × sort × view). Řešení: povolit pouze hodnotné kombinace a zbytek nastavit na
Disallow. - „Pseudostránkování“ bez obsahu (
?page=999). Řešení: omezit počet stránek a přebytečné stránky nechat vracet kód404nebo přesměrovat na poslední platnou stránku. - Soft 404 s
200 OK. Řešení: vrátit404/410a URL neblokovat vrobots.txt. - Řetězená přesměrování. Řešení: zkrátit je na jedno přesměrování a aktualizovat interní odkazy.
Strategie pro velké weby
- Segmentace robots.txt podle sekcí (kategorie, blog, média) a robotů (pokud je to opodstatněné).
- Strojová pravidla: generujte
robots.txtz konfigurace IA, nikoli ručně. - Iterace: nasazujte po malých krocích, sledujte logy a dopad na indexaci i nároky na zdroje.
Rychlý „cookbook“: recepty na časté úkoly
# 1) Vyřadit /thank-you/ z indexu, ale ponechat crawl # (HTML stránka) <meta name="robots" content="noindex,follow">
# 2) Zabránit indexaci všech PDF, ale ponechat je uživatelům přístupné # (konfigurace serveru) X-Robots-Tag: noindex
# 3) Zastavit procházení interního vyhledávání # (robots.txt) User-agent: * Disallow: /search/
# 4) Zamezit nekonečným parametrům User-agent: * Disallow: /*?utm_ Disallow: /*&utm_ Disallow: /*?session= Disallow: /*&session=
# 5) Odstraněná sekce # (HTTP 410; neblokovat v robots) HTTP/1.1 410 Gone
Shrnutí: pravidla pro rozumné jemné ladění
- Robots.txt = přístup, meta/X-Robots-Tag = indexace a prezentace.
- Chcete-li URL vyřadit z indexu, ponechte ji procházetelnou a použijte
noindexnebo správný kód4xx/410. - Nezablokujte kritické zdroje potřebné k vykreslování.
- S parametry pracujte selektivně, nikoli plošně.
- Měřte v logách, ověřujte v nástrojích vyhledávačů a postupně dolaďujte.
