Proč bychom se měli starat o soubor robots.txt na webu

SEO
Piotr SmargolPiotr Smargol
Opublikowano: 22.07.2021
13 minut

Nenápadný soubor robots.txt umožňuje řídit přístup robotů vyhledávačů na vaše webové stránky. Z tohoto důvodu hraje v SEO klíčovou roli a stojí za to mu věnovat náležitou pozornost, zejména při pokročilejších SEO aktivitách. V tomto článku probereme, co je soubor robots.txt, k čemu slouží a proč je důležitý, a poté přejdeme k ukázkovým pravidlům a návodu, jak si takový soubor vytvořit sami.

KeyT_Here

Co je to soubor robots.txt a proč se používá?

.
Soubor s přesným názvem robots.txt je jednoduchý textový soubor – uložený ve formátu .txt a umístěný přímo v kořenové složce domény.

Uvnitř souboru umisťujeme pokyny pro roboty, kteří navštěvují naše webové stránky.

V těchto pokynech určíme, které stránky z kořenového adresáře domény mohou roboti navštívit a kterým možnost návštěvy zablokujeme.

Stojí za zmínku, že roboti mohou obejít směrnice umístěné v souboru robots.txt a přesto se dotazovat na stránky nebo sekce tam umístěné.

Vyzkoušejte Senuto Suite na 14 dní zdarma

Pojďme na to!

Proč je soubor robots.txt důležitý?

.
Důležitost souboru robots.txt poznáme podle toho, jak robot Google prohledává stránky.

Když robot Google narazí na vaše stránky propojené z jiné domény, která je již v jeho indexu, okamžitě zkontroluje soubor robots.txt, aby ověřil, které zdroje na stránkách může navštívit. Poté tento soubor pravidelně navštěvuje a zjišťuje, zda se v pokynech něco nezměnilo.

Analýzou protokolů webových stránek můžeme zjistit, že soubor robots.txt je i u malých webových stránek navštěvován desítky či desítkykrát měsíčně.

Kromě již zmíněné možnosti zablokovat robotům přístup na určitá místa na webu používáme soubor robots.txt k podlinkovaní adresy URL mapy webu XML. Propojení mapy stránek zde je důležité zejména v případě, že nemáme profil v Google Search Console a že naše mapa stránek má nestandardní adresu URL.

Za zmínku také stojí, jak pečlivě Google plní svůj soubor robots.txt, který najdete na adrese URL https://www.google.com/robots.txt.

Příklad pravidel v souboru robots.txt. Z jakých skupin a směrnic se takový soubor skládá

.
Každý soubor robots.txt je sestaven ze skupin. Mezi skupiny směrnic patří např:

  • odkaz na název bota,
    Každá aplikace nebo uživatel navštěvující web je představen svým klientským jménem, nebo jinak známým jako jméno bota. Právě toto jméno uvádíme v direktivách uvnitř souboru v direktivě User-agent.
  • informace o tom, které zdroje jsou vyloučeny nebo povoleny k návštěvě uvedeným botem.
  • .

Takové skupiny nám umožňují především:

  1. Vybrat jméno bota, na kterého chceme nasměrovat směrnice.
    Uživatelský agent: AdsBot-Google

    .

  2. Přidáme direktivy pro blokování přístupu do konkrétních adresářů nebo na konkrétní adresy URL.
    Zakázat: /maps/api/js/

    .

  3. Přidání direktiv pro povolení přístupu ke konkrétním adresářům nebo adresám URL.
    /maps/api/js.

Každá další skupina může obsahovat další jméno robota a směrnice pro dalšího robota, např:

Uživatelský agent: Twitterbot
Allow: /imgres

.
V souhrnu získáme sadu skupin:

Uživatelský agent: AdsBot-Google
Zakázat: /maps/api/js/
Povolit: Povolit: /maps/api/js
Zakázat: /maps/api/place/js/
Zakázat: /maps/api/staticmap
Zakázat: /maps/api/streetview

User-agent: Twitterbot
Povolit: /imgres

Všimněte si však, že řádky uvnitř skupiny jsou zpracovávány shora dolů a klientovi uživatele (v tomto případě: jménu robota) odpovídá pouze jedna sada pravidel, přesněji první nejsilněji specifikované pravidlo, které se na něj vztahuje.

Na pořadí skupin v souboru samo o sobě nezáleží. Za zmínku stojí také to, že u robotů se rozlišují malá a velká písmena. Například pravidlo:

Zakázat: /file.asp

platí pro podstránku http://www.example.com/file.asp, ale pro podstránku http://www.example.com/FILE.asp – již ne.

To by však nemělo způsobovat problémy, pokud v naší doméně správně vytvoříme adresy URL.

A konečně, pokud pro jednoho robota existuje více než jedna skupina, směrnice z duplicitních skupin se sloučí do jedné skupiny.

Uživatelský agent

.
Pouze jedna ze skupin umístěných v souboru robots.txt je přiřazena k názvu každého robota a ostatní jsou ignorovány. Proto robot se jménem Senuto, který vidí pravidla v souboru robots.txt domény:

Uživatelský agent: *
disallow: .: /search/

User-agent: Senuto
allow: /search/

vybere níže uvedené pravidlo (v příkladu) a zpřístupní adresář /search/, protože je na něj přesně zaměřeno.

Disallow

.
Direktiva disallow určuje, ke kterým adresářům, cestám nebo adresám URL nemají vybraní roboti přístup.

disallow: [cesta]

.

disallow: [address-URL]

.
Pokud není vyplněna žádná cesta nebo adresář, je směrnice ignorována.

disallow:

.
Příklad použití směrnice:

disallow: /search

Výše uvedená direktiva zablokuje přístup k adresám URL:

  • https://www.domena.pl/search/
  • .

  • https://www.domena.pl/search/test-site/
  • .

  • https://www.domena.pl/searches/
  • .

Je třeba poznamenat, že zde probíraný příklad se týká pouze použití jednoho pravidla pro jednoho určeného robota.

Povolit

.
Směrnice allow určuje, ke kterým adresářům, cestám nebo adresám URL mají určení roboti povolen přístup.

allow: [cesta]

.

allow: [adresa-URL]

Pokud není vyplněna žádná cesta nebo adresář, je směrnice ignorována.

allow:

.
Příklad použití směrnice:

povolit: /images

Výše uvedená direktiva povolí přístup k adresám URL:

  • https://www.domena.pl/images/
  • .

  • https://www.domena.pl/images/test-site/
  • .

  • https://www.domena.pl/images-send/
  • .

Je třeba poznamenat, že zde probíraný příklad se vztahuje pouze na použití jednoho pravidla pro jednoho uvedeného robota.

Mapa stránek

.
Do souboru robots.txt můžeme také zahrnout odkaz na mapu našich stránek ve formátu XML. Vzhledem k tomu, že stránku robots.txt robot Google pravidelně navštěvuje a je jednou z prvních stránek webu, na které přistupuje, má silný smysl odkaz na mapu webu zařadit.

mapa stránek: [unlabeled-address-URL]

.
V pokynech společnosti Google se uvádí, že adresa URL mapy stránek by měla být absolutní (úplná, správná adresa URL), takže např:

mapa stránek: https://www.domena.pl/sitemap.xml

Další směrnice

.
V souborech robots.txt můžeme najít i další direktivy, a to:

  • host – direktiva host se používá k označení preferované domény mezi mnoha jejími kopiemi dostupnými na internetu.
  • .

  • zpoždění procházení – v závislosti na robotovi může být tato direktiva použita různě. V případě robota vyhledávače Bing bude doba uvedená v poli crawl delay představovat minimální dobu mezi prvním a druhým procházením jedné podstránky webu. Naproti tomu Yandex bude tuto direktivu číst jako dobu, kterou musí robot počkat před dotazem na každou další stránku v doméně.

Obě tyto směrnice bude Google ignorovat a při skenování webu je nebude brát v úvahu.

Můžeme v pravidlech používat regulární výrazy?

.
Roboti vyhledávače Google (ale nejen oni) podporují v cestách jednotlivé znaky se speciálními vlastnostmi. Mezi takové znaky patří např:

    .
  • znakasterisk * – označuje nula nebo více výskytů libovolného znaku,
  • .

  • znak dolaru $ – označuje konec adresy URL.
  • .

To se neshoduje zcela s tím, co známe z regulárních výrazů https://pl.wikipedia.org/wiki/Wyrażenie_regularne. Za zmínku stojí také to, že vlastnosti znaků * a $ nejsou zahrnuty ve standardu pro vyloučení robotů https://en.wikipedia.org/wiki/Robots_exclusion_standard.

Příkladem použití těchto znaků nofollow by bylo pravidlo:

disallow: *hledá*

.
Citované pravidlo bude stejné jako pravidlo:

disallow: searches

.
a znaky * budou jednoduše ignorovány.

Tyto znaky najdou využití například tehdy, když chcete zablokovat přístup ke stránkám, kde se mezi dvěma složkami v adrese URL mohou nacházet další složky, a to buď jednotlivě, nebo opakovaně.

Pravidlo pro blokování přístupu ke stránkám, které mají ve adresě URL složku /search/ a hlouběji ve struktuře stránky složku /on-demand/, by vypadalo takto:

disallow: /search/*/on-demand

Pomocí výše uvedeného pravidla zablokujeme přístup k těmto adresám URL:

  • https://www.domena.pl/search/wstawka-w-url/on-demand/wlasciwy-url/
  • https://www.domena.pl/search/a/on-demand/,
  • .

Přístup k těmto adresám však blokovat nebudeme:

  • https://www.domena.pl/search/on-demand/
  • .

  • https://www.domena.pl/on-demand/
  • .

  • https://www.domena.pl/search/adres-url/

Zajímavým příkladem by bylo zablokování přístupu ke všem souborům s příponou .pdf (předpokládáme, že takto je ukončen každý soubor s touto příponou v naší doméně), které v adrese URL obsahují složku /data-client/. K tomu použijeme směrnici:

disallow: /data-client/*.pdf$

Více informací o správné syntaxi a pravidlech, která je třeba zahrnout do souboru robots.txt, najdete ve specifikaci syntaxe ABNF na adrese URL: https://datatracker.ietf.org/doc/html/rfc5234.

Co by měl obsahovat základní soubor robots.txt

.
Aby byl soubor robots.txt správně čten, měl by:

  • být textový soubor v kódování UTF-8,
  • .

  • mít název: robots.txt (ukázka adresy URL https://www.domena.pl/robots.txt),
  • .

  • být umístěn přímo v kořenové složce domény,
  • .

  • být v rámci domény jedinečný – neměl by existovat více než jeden soubor robots.txt, protože pokyny v souborech umístěných na jiné než uvedené adrese URL nebudou přečteny,
  • .

  • obsahovat minimálně jednu skupinu směrnic uvnitř souboru
  • .

V souboru můžeme také někdy najít znak #. Umožňuje přidat uvnitř souboru komentáře, které robot Google nebude číst. Když do řádku vložíte znak #, žádný znak následující za tímto znakem ve stejném řádku nebude společností Google přečten.

disallow: /search/ #žádný ze znaků následujících za "fence" nebude robotem Google přečten

.

Jak vytvořit soubor robots.txt

.
V tuto chvíli jsme připraveni vytvořit takový soubor sami. K tomu budeme potřebovat libovolný textový editor: MS Word, Poznámkový blok atd. V editoru vytvoříme prázdný textový dokument a nazveme jej prostě robots.txt.

Dalším krokem je doplnění textového dokumentu správnými direktivami. Před jejich zadáním bychom se měli připravit:

  • seznam robotů, kterých se omezení mají týkat,
  • .

  • seznam robotů, kterých se omezení týkat nebudou,
  • .

  • seznam webů, ke kterým chceme blokovat přístup,
  • .

  • seznam stránek, jejichž přístup nemůžeme blokovat,
  • .

  • adresa URL mapy stránek,
  • .

Máme-li výše uvedené údaje, můžeme začít ručně psát pravidla jedno pod druhé do vytvořeného textového dokumentu. Příklad souboru robots.txt:

Uživatelský agent: *
disallow: /business-card # zablokuje přístup ke stránkám ve složce business-card.
disallow: /*pdf$ #blokuje přístup k souborům s příponou .pdf
disallow: sortby= #blokuje přístup k souborům, které mají v url třídění.

User-agent: ownbotsc1
allow: *

sitemap: <https://www.domena.pl/sitemap_product.xml> #odkaz na xml sitemap
sitemap: <https://www.domena.pl/sitemap_category.xml&gt
sitemap: <https://www.domena.pl/sitemap_static.xml&gt
sitemap: <https://www.domena.pl/sitemap_blog.xml>

.
Takto vytvořený dokument musíme umístit do kořenové složky naší domény na serveru FTP, kde jsou umístěny jeho soubory. Stojí za zmínku, že v systémech pro správu obsahu, jako je například WordPress, najdeme pluginy, které nám umožní upravovat soubor robots.txt umístěný na serveru FTP.

Jak otestovat, zda jsou pokyny v souboru robots.txt správné?

.
Abychom mohli důkladně otestovat, zda námi vytvořený soubor robots.txt bude fungovat správně, musíme navštívit: https://www.google.com/webmasters/tools/robots-testing-tool.

Zde nalezneme tester, který stáhne soubor robot.txt, který se aktuálně nachází na doméně (musíme být jejím ověřeným vlastníkem v Google Search Console), a poté nám umožní jej upravit a zkontrolovat, zda námi uvedené podstránky budou blokovány nebo projdou podle směrnic v něm uvedených.

Vždy po přidání adresy URL do testu (v dolní části grafiky) klikneme na červené tlačítko „TEST“ a v odpovědi dostaneme informaci, zda byla uvedená adresa URL zablokována, a pokud ano, který řádek textu v souboru robots.txt naši adresu URL zablokoval.

Pokud adresa URL není blokována, zobrazí se zpráva, která zpřístupní adresu URL směrnice robotovi Google – jako na obrázku níže:

Na co si dát pozor při vytváření souboru robots.txt?

.
Při vytváření souboru robots.txt bychom měli dbát zejména na to, abychom robotovi Google zcela nebo částečně zablokovali přístup na web. Všechny změny v tomto souboru je proto třeba konzultovat s odborníkem, abyste svému webu ještě více neuškodili.

Stojí však za zmínku, že soubor robots.txt neblokuje roboty při indexování webu. Google připouští možnost, že pokud se jeho robot dostal na některou z našich podstránek z jiné domény, pak pokud je tato stránka považována za hodnotnou, půjde do indexu.

Další důležitou poznámkou je, že většina robotů, kteří nejsou členy Googlu, se pokyny v souboru robots.txt neřídí a příkazy v něm uvedené ignoruje.

Souhrn

.
Soubor robots.txt je rozhodně důležitým prvkem technického SEO. Jeho špatné vyplnění hrozí omezením návštěvnosti ze SEO, zatímco jeho dobré vyplnění pomůže spravovat indexaci webu a rozpočet na procházení. Čím vyšší je návštěvnost webu, čím více podstránek na našem webu existuje, tím lépe je třeba dbát na správné vyplnění robots.txt.

 

.

FAQ_Here

Share this post:  
Piotr Smargol

Lubi nowe wyzwania i nie boi się zmian. Pracę w branży SEO zaczął w 2018 roku, a pół roku później trafił do Vestigio, gdzie dziś zajmuje się kluczowymi projektami jako Senior SEO Specialist.

Vyzkoušejte Senuto na 14 dní zdarma

Vyzkoušejte zdarma

Vyzkoušejte Senuto Suite na 14 dní zdarma

Pojďme na to!

Seznamte se se Senuto v hodinovém online tréninku. Zdarma.

Vyberte si termín a přihlaste se