Internetový bot, nebo-li Web crawler prochází weby na internetu za účelem vytvoření obrovské databáze/indexu. Navštěvuje automaticky veškeré dostupné Webové stránky a vytváří databázi obsahu, přístupů, architektury..
Řešit boty má cenu! Správným nastavením přístupu botů můžete výrazně upravit rychlost webu a jeho bezpečnost. Boti přistupují na váš web neustále. V některých případech i desítky botů v jednom okamžiku, stovky až tisíce prošlých stránek za vteřinu.
Výkon webu
Malé weby a eshopy obvykle řešit boty vůbec nemusí. Bot přistoupí na web a během pár vteřin projde cely web. Zátěž webu na server se malinko zvýší a zas hned opadne.
Rozsáhlé weby jsou ale problém. Bot přistoupí na web a zahájí indexaci webu, která může trvat pár minut, ale také i pár hodin. Zátěž webu na server se zvýší a neustále stoupá až do nedostupnosti serveru. Klasickým příkladem jsou eshopy, nepoužívajicí cache, s více jak 100 000 produkty. Dobře postavený eshop obvykle nezpůsobí velkou zátěž a indexace botem projde hravě. I tak může nastat problém, pokud se takových botů sejde více naráz.
Naštěstí je možné rychlost dobrých botů ovlivnit přidáním nastavení do /robots.txt
Crawl-Delay: 10 - Číslovka 10 definuje počet vteřin mezi indexací další stránky.
nebo ovlivnit rychlost procházení přímo v rozhraní bota/vyhledávače.
Bezpečnost
Každý web má části, které nechcete, aby byly vyhledatelné. Obvykle přístupy do administrace, soubory pro partnery apod. Zamezením přístupu pro dobré boty můžete jednoduše udělat v robots.txt:
User-agent: *
Disallow: /Admin
= Všechny boti mají zakázáno přistupovat na adresu /Admin
Nebo můžeme zakázat indexaci jen některým botum:
User-agent: googlebot
Disallow: /B2B
= Zakazuji googlu přistupovat do adresáře B2B. Google však může procházet ostatní části webu. Ostatní boti mohou procházet vše.
Dobrý vs. Zlý bot
A proč mluvíme v celém článku o dobrém botu? Dobrý bot je takový bot, který respektuje pravidla napsaná do robots.txt, nebo jeho nastavení lze upravit v jeho admin rozhraní.
Dobrý bot:
- Boty vyhledávačů
- Boty hlídání dostupnosti webů a serverů
- CDN Cachovací boty (MaxCDN, Cloudflare, CDN77, Akamai,...)
Zlý bot:
- Boty marketingových agentur
- Boty hlídání cen konkurence
- Boty SEO nástrojů
- Boty na prolomení validace vstupu pomocí brutal force (/wp-admin)
- Boty napadající weby pomocí SQL injekce
Jak zablokovat přístup zlých botu na web?
Jediná možnost je blokace botů skrze .htaccess
Můžete blokovat IP adresu botů:
Order Deny,Allow
Deny from 111.111.111.111
Ale zlý boti mění často IP adresu, nebo rovnou přistupují z více IP rozsahů naráz.
Je tedy potřeba přistoupit k blokaci botů podle jména.
SetEnvIfNoCase User-Agent "SemrushBot" bad_user
SetEnvIfNoCase User-Agent "semrush" bad_user
Deny from env=bad_user
Konkrétní zápis na blokaci nejotravnějšího bota Semrush
Připravili jsme pro Vás zápis, který blokuje většinu současných zlých botů. Stačí vložit do .htaccess:
RewriteEngine on
SetEnvIfNoCase User-Agent "SemrushBot" bad_user
SetEnvIfNoCase User-Agent "semrush" bad_user
SetEnvIfNoCase User-Agent "BlackWidow" bad_user
SetEnvIfNoCase User-Agent "ChinaClaw" bad_user
SetEnvIfNoCase User-Agent "Custo" bad_user
SetEnvIfNoCase User-Agent "DISCo" bad_user
SetEnvIfNoCase User-Agent "eCatch" bad_user
SetEnvIfNoCase User-Agent "EirGrabber" bad_user
SetEnvIfNoCase User-Agent "EmailSiphon" bad_user
SetEnvIfNoCase User-Agent "EmailWolf" bad_user
SetEnvIfNoCase User-Agent "ExtractorPro" bad_user
SetEnvIfNoCase User-Agent "EyeNetIE" bad_user
SetEnvIfNoCase User-Agent "FlashGet" bad_user
SetEnvIfNoCase User-Agent "GetRight" bad_user
SetEnvIfNoCase User-Agent "GetWeb!" bad_user
SetEnvIfNoCase User-Agent "Go!Zilla" bad_user
SetEnvIfNoCase User-Agent "Go-Ahead-Got-It" bad_user
SetEnvIfNoCase User-Agent "GrabNet" bad_user
SetEnvIfNoCase User-Agent "Grafula" bad_user
SetEnvIfNoCase User-Agent "HMView" bad_user
SetEnvIfNoCase User-Agent "MegaIndex.ru" bad_user
SetEnvIfNoCase User-Agent "HTTrack" bad_user
SetEnvIfNoCase User-Agent "InterGET" bad_user
SetEnvIfNoCase User-Agent "JetCar" bad_user
SetEnvIfNoCase User-Agent "larbin" bad_user
SetEnvIfNoCase User-Agent "LeechFTP" bad_user
SetEnvIfNoCase User-Agent "Navroad" bad_user
SetEnvIfNoCase User-Agent "NearSite" bad_user
SetEnvIfNoCase User-Agent "NetAnts" bad_user
SetEnvIfNoCase User-Agent "NetSpider" bad_user
SetEnvIfNoCase User-Agent "NetZIP" bad_user
SetEnvIfNoCase User-Agent "Octopus" bad_user
SetEnvIfNoCase User-Agent "PageGrabber" bad_user
SetEnvIfNoCase User-Agent "pcBrowser" bad_user
SetEnvIfNoCase User-Agent "RealDownload" bad_user
SetEnvIfNoCase User-Agent "ReGet" bad_user
SetEnvIfNoCase User-Agent "SiteSnagger" bad_user
SetEnvIfNoCase User-Agent "SmartDownload" bad_user
SetEnvIfNoCase User-Agent "SuperBot" bad_user
SetEnvIfNoCase User-Agent "SuperHTTP" bad_user
SetEnvIfNoCase User-Agent "Surfbot" bad_user
SetEnvIfNoCase User-Agent "tAkeOut" bad_user
SetEnvIfNoCase User-Agent "VoidEYE" bad_user
SetEnvIfNoCase User-Agent "WebAuto" bad_user
SetEnvIfNoCase User-Agent "WebCopier" bad_user
SetEnvIfNoCase User-Agent "WebFetch" bad_user
SetEnvIfNoCase User-Agent "WebLeacher" bad_user
SetEnvIfNoCase User-Agent "WebReaper" bad_user
SetEnvIfNoCase User-Agent "WebSauger" bad_user
SetEnvIfNoCase User-Agent "WebStripper" bad_user
SetEnvIfNoCase User-Agent "WebWhacker" bad_user
SetEnvIfNoCase User-Agent "WebZIP" bad_user
SetEnvIfNoCase User-Agent "Widow" bad_user
SetEnvIfNoCase User-Agent "WWWOFFLE" bad_user
SetEnvIfNoCase User-Agent "Zeus" bad_user
SetEnvIfNoCase User-Agent "AhrefsBot" bad_user
SetEnvIfNoCase User-Agent "DotBot" bad_user
SetEnvIfNoCase User-Agent "BaiduSpider" bad_user
SetEnvIfNoCase User-Agent "CCBot" bad_user
SetEnvIfNoCase User-Agent "MJ12bot" bad_user
SetEnvIfNoCase User-Agent "SiteAnalyzerbot" bad_user
SetEnvIfNoCase User-Agent "BLEXBot" bad_user
SetEnvIfNoCase User-Agent "Uptimerobot" bad_user
SetEnvIfNoCase User-Agent "AspiegelBot" bad_user
SetEnvIfNoCase User-Agent "VelenPublicWebCrawler" bad_user
SetEnvIfNoCase User-Agent "Xenu Link Sleuth" bad_user
SetEnvIfNoCase User-Agent "sarpstatbot" bad_user
SetEnvIfNoCase User-Agent "ZoominfoBot (zoominfobot at zoominfo dot com)" bad_user
SetEnvIfNoCase User-Agent "Nimbostratus-Bot" bad_user
SetEnvIfNoCase User-Agent "SEOkicks" bad_user
SetEnvIfNoCase User-Agent "Seekport Crawler" bad_user
SetEnvIfNoCase User-Agent "Alphabot" bad_user
SetEnvIfNoCase User-Agent "magpie-crawler" bad_user
SetEnvIfNoCase User-Agent "LinkpadBot" bad_user
SetEnvIfNoCase User-Agent "Linguee bot" bad_user
SetEnvIfNoCase User-Agent "Semtix.cz" bad_user
SetEnvIfNoCase User-Agent "Statusoid" bad_user
SetEnvIfNoCase User-Agent "BananaBot" bad_user
SetEnvIfNoCase User-Agent "CFNetwork" bad_user
SetEnvIfNoCase User-Agent "python-request" bad_user
SetEnvIfNoCase User-Agent "FirmoGraph" bad_user
SetEnvIfNoCase User-Agent "PetalBot" bad_user
SetEnvIfNoCase User-Agent "TombaPublicWebCrawler" bad_user
SetEnvIfNoCase User-Agent "barkrowler" bad_user
SetEnvIfNoCase User-Agent "serpstatbot" bad_user
SetEnvIfNoCase User-Agent "Archive Team" bad_user
SetEnvIfNoCase User-Agent "Barkrowler" bad_user
SetEnvIfNoCase User-Agent "Sogou web spider" bad_user
Deny from env=bad_user
Poslední aktualizace: 01.01.2021