Mám problém s robots.txt. Vložil jsem soubor robots.txt do hlavního adresáře webu (a také do /var/www/html - aby to fungovalo na všech serverech), ale roboti stále procházejí mé webové stránky.

toto je můj robots.txt:

User-agent: YandexBot Disallow: / User-agent: SemrushBot Disallow: / User-agent: AhrefsBot Disallow: / User-agent: SemrushBot/1.2~bl Disallow: / 

Máš nějaké návrhy?

  • Který z těchto robotů stále prochází vaše stránky? Ne všichni roboti poslouchají robots.txt, ale byl bych překvapen, kdyby některý z těchto konkrétních byl problematický.
  • Zkontrolovali jste, že se váš soubor robots.txt skutečně zobrazuje pro váš web? Můžete navštívit http://example.com/robots.txt a dostat svůj soubor? (Samozřejmě nahrazením názvu vaší domény, kde mám example.com.)
  • Jak dlouho jste čekali po zavedení souboru robots.txt? Prohledávače musí znovu načíst soubor robots.txt, aby si uvědomily, že by neměly procházet. Žádný prohledávač nenačte soubor robots.txt pro každou stránku, kterou prochází. Většina to načte jednou denně.
  • 1 Dobrý den, zkontroloval jsem to a soubor robots.txt je veřejný pro všechny, kdo si chtějí soubor prohlédnout. ive vytvořil tento soubor robots.txt před jedním dnem.

Upozorňujeme, že váš soubor robots.txt je neplatný (to však nutně neznamená, že to je důvod problému, který máte; roboti mohou takové chyby ignorovat).

Pokud robot analyzuje váš soubor robots.txt přesně podle specifikací robots.txt, uvidí tento robot pouze jeden záznam a tento záznam by se vztahoval pouze na roboty s názvem „YandexBot“. Všichni ostatní roboti by měli dovoleno procházet všechno.

Důvodem je, že záznamy musí být odděleny prázdnými řádky. Takže by to mělo být:

User-agent: YandexBot Disallow: / User-agent: SemrushBot Disallow: / User-agent: AhrefsBot Disallow: / User-agent: SemrushBot/1.2~bl Disallow: / 

Pokud budete mít vždy stejné Disallow pro všechny tyto roboty můžete použít jeden záznam s více User-agent řádky, pokud jim dáváte přednost:

User-agent: YandexBot User-agent: SemrushBot User-agent: AhrefsBot User-agent: SemrushBot/1.2~bl Disallow: / 

(Možná budete muset použít různá jména pro některé roboty, které chcete blokovat, jak ve své odpovědi navrhuje @StephenOstermiller.)

Poté, co vytvoříte soubor robots.txt, bude trvat, aby jej načetli prohledávače, které jej ctí, nejméně jeden den.

Yandex má řadu robotů a má dokumentaci o tom, jak je všechny zakázat pomocí souboru robots.txt zde: https://yandex.com/support/webmaster/controlling-robot/robots-txt.xml Možná budete chtít zvážit změnu svého robots.txt k tomu pro Yandex:

User-agent: Yandex Disallow: / 

SEM Rush má dva roboty. Jejich dokumentace o tom je zde: https://www.semrush.com/bot/ Jednu z nich jste zakázali správně, ale vaše druhé pravidlo s číslem verze robota nebude účinné. Měli byste zvážit použití těchto pravidel k zakázání veškerého procházení SEM Rush:

User-agent: SemrushBot Disallow: / User-agent: SemrushBot-SA Disallow: / 

AhrefsBot již zakazujete přesně podle jejich dokumentace: https://ahrefs.com/robot

User-agent: AhrefsBot Disallow: / 

Pracoval pro vás: Charles Robertson | Chcete nás kontaktovat?