Jak zkontrolovat robots.txt kvůli zablokovaným stránkám
Otevřete v prohlížeči https://vasedomena.cz/robots.txt: cokoli se tam servíruje, je váš robots.txt, a řídí, co smí crawlery stahovat. Neřídí to, co se indexuje, což je jediná nejzásadnější věc, kterou je potřeba o souboru pochopit dřív, než ho upravíte.
Kde musí robots.txt ležet
Musí sedět v kořeni hostitele, jako /robots.txt, v čistém textu UTF-8. Platí pro přesně jedno schéma, hostitele a port, takže https://example.com/robots.txt neřídí nic na https://shop.example.com ani nic na verzi http téhož hostitele. Každá subdoména, kterou chcete řídit, potřebuje vlastní soubor.
Na stavovém kódu, který soubor vrací, záleží stejně jako na jeho obsahu. 404 se čte jako "žádná omezení, procházej vše", což je naprosto platný stav. Opakované 5xx se čte jako dočasné selhání a Google může procházení hostitele pozastavit, místo aby předpokládal, že smí pokračovat. 403 se pro tento účel chová jako chyba serveru. Pokud je robots.txt nespolehlivý, stává se nespolehlivým s ním i procházení.
Syntaxe v pěti řádcích
User-agent: *
Disallow: /admin/
Allow: /admin/public-page.html
Disallow: /*?sessionid=
Sitemap: https://example.com/sitemap.xml
User-agent otevírá skupinu. Disallow blokuje předponu cesty, Allow vyřízne výjimku z blokace, * odpovídá jakémukoli běhu znaků a $ ukotví konec URL. Sitemap je nezávislý na jakékoli skupině a bere absolutní URL. Formát je standardizovaný jako RFC 9309, takže chování popsané zde není specifické pro konkrétního dodavatele.
O tom, co se skutečně stane, rozhodují dvě pravidla rozlišení. Crawler použije jen nejkonkrétnější skupinu, která ho jmenuje, a jakmile ho skupina jmenuje přímo, skupinu * úplně ignoruje. Uvnitř této skupiny vyhrává nejdelší odpovídající pravidlo a remíza připadá Allow.
Chyby, které zablokují celý web
Disallow: /zapomenuté z nasazení na staging. Jeden znak, celý web zablokovaný. Dostane se tam přesně tak, jako se dostává noindex ze stagingu: konfigurační soubor povýšený spolu s vydáním.- Blokování CSS a JavaScriptu. Google stránky vykresluje, takže zablokovaný adresář se zdroji může způsobit, že stránka vypadá pro crawler rozbitě, přestože vám připadá v pořádku.
- Očekávání, že robots.txt odstraní stránku z vyhledávání. To nedokáže. Zablokovaná URL může být pořád uvedena podle externích odkazů, obvykle bez úryvku, a protože ji crawler nemůže stáhnout, noindex na dané stránce se nikdy neuvidí. Pro odstranění stránky povolte procházení a servírujte noindex.
- Používání
noindex:jako direktivy uvnitř robots.txt. Nikdy to nebylo součástí standardu a Google to přestal respektovat 1. září 2019. Dnes se to tiše ignoruje. - Přidání skupiny pro jmenovaného bota s očekáváním, že pravidla se zástupným znakem pořád platí. Neplatí. Jakmile existuje
User-agent: Googlebot, Googlebot čte jen tuto skupinu a nic jiného, takže se v ní musí zopakovat každé sdílené pravidlo. - Prázdný řádek uvnitř skupiny. Prázdný řádek skupinu ukončí, takže pravidla po něm nepatří nikam až do dalšího řádku
User-agent. - Uvádění soukromých cest. Soubor je veřejný. Jmenování
/internal-admin/v něm zveřejní umístění věci, kterou se snažíte skrýt.
Jak otestovat jednu cestu
Stáhněte soubor a nejdřív si přečtěte skupinu, která se na vás vztahuje:
curl -s https://example.com/robots.txt
Pak ručně aplikujte pravidlo nejdelší shody na danou cestu. S Disallow: /blog/ a Allow: /blog/public/ je URL /blog/public/post povolená, protože odpovídající pravidlo Allow je delší. U vlastnosti, kterou vlastníte, zpráva o robots.txt v Search Console ukazuje stažený soubor, kdy byl naposledy získán, a jakékoli chyby parsování, což je nejrychlejší způsob, jak potvrdit, že crawler čte to, co si myslíte, že čte.
Potvrďte, že je dosažitelný odevšad
Robots.txt, který se vám načte od stolu, může přesto crawleru selhat. Pravidla ochrany proti botům, limity rychlosti a geografické blokace běžně vrací 403 rozsahům adres datových center a přitom normálně obsluhují rezidentní návštěvníky, a výsledkem je hostitel, kterého Google zpomalí nebo přestane procházet z důvodů, které nic ve vašich logách nenazve chybou.
Způsob, jak to zjistit, je požádat o soubor odněkud, co není vaše kancelář. Namiřte bezplatný nástroj na HTTP kontrolu na https://example.com/robots.txt a přečtěte si stavový kód vrácený z kontrolních bodů v různých zemích. 200 všude je zdravá odpověď; 200 doma a 403 ze tří regionů je zjištění. K otestování, zda pravidla blokují konkrétní stránku, bezplatný tester robots.txt zkontroluje URL proti skupině pro všechny crawlery a nahlásí, zda je uvedena v sitemapě. Robots.txt žije mimo stránku, takže volba Indexovatelnost na HTTP monitoru HostTracker ho nečte: sleduje značky noindex a canonical na samotné stránce, zatímco naplánovaný crawl, v beta verzi, křížově kontroluje každou procházenou stránku proti robots.txt. SEO monitoring vysvětluje, co pokrývá který z nich.