Zwolnienia w Krzemowej Dolinie to coś co musiało nastąpić 🙂
Spójrzcie tylko kochane robaczki jak tam ciężko pracują! A ty jak tam robolu, piłeś dzisiaj matcha latte w pracy pomiędzy podziwianiem widoków z okna a spotkaniami z przyjaciółmi w swoim safe space?
Minęły dwa miesiące odkąd postanowiłem zablokować wszystkie mało znaczące boty wszelkiej maści dziwnych wyszukiwarek i spiderów sieciowych na swoich stronach.
Jakie rezultaty?
Zerowy spadek ruchu na stronach. Zerowy spadek w SERPach (nie blokuję Google). Znaczne odciążenie dla serwera. 3 x Wygrana.
Nie jestem szczególnie zaskoczony, bardziej zawiedziony, że mniej popularne wyszukiwarki nie mają najmniejszego znaczenia co do ruchu na stronach internetowych i nie warto ich botom pozwalać na niepotrzebne zjadanie serwerowych zasobów.
Jeśli tego jeszcze nie widzieliście, to musicie zobaczyć. Dzień z życia inżyniera Twittera. Kawka, winko, spotkania z przyjaciółmi, joga, piłkarzyki, fajne żarcie i zero pracy.
Nie dziwię się, że kwiczeli jak ich wywalił na zbite pyski.
Requesty leciały jeden za drugim na wszystkie moje strony z dziesiątkami parametrów, dzień i noc w kółko wałkował każdą możliwą podstronę.
Co to jest MJ12bot?
To bot crawlujący narzędzia Majestic SEO (nie polecam). Bot jest nieudolnie napisany i nie tylko ja mam z nim problemy, ponieważ dostaje pierdolca i DoS-uje strony poprzez masowe skanowanie nawet najgłupszych URL-i.
Warto pamiętać, że niektóre boty podszywają się pod MJ12bot, ale to dodatkowy powód, żeby i je blokować.
Jak teoretycznie zablokować MJ12bot?
Oficjalnie przez regułę blokującą w robots.txt, wystarczy dopisać te dwie linjki:
User-agent: MJ12bot
Disallow: /
Ale moment, moment! Kto by się tym przejmował, na pewno nie taka firma, która żyje z harvestowania danych SEO i dodanie tego wpisu do robots.txt nie ma kompletnie wpływu na to jak działa ich bot!
Jak skutecznie zablokować MJ12bot?
Zarówno tego dziadowskiego bota, jak i inne crawlery, które nie mają wpływu na indeksację naszej strony można prosto zablokować na poziomie serwera HTTP. W moim przypadku jest to nginx.
Wystarczy dodać regułę do sekcji server { … } (nie można tego niestety dodać do głównego bloku http { … } i dla każdej strony trzeba to kopiować):
if ($http_user_agent ~* "(SemrushBot|Semrush|AhrefsBot|MJ12bot|MegaIndex.ru|BLEXbot|BLEXBot|ZoominfoBot|YaK|VelenPublicWebCrawler|SentiBot|Vagabondo|SEOkicks|SEOkicks-Robot|mtbot|DotBot|Cliqzbot|coccocbot|Scrap|SiteCheck-sitecrawl|MauiBot|Java|GumGum|Clickagy|AspiegelBot|TkBot|CCBot|Qwantify|MBCrawler|serpstatbot|AwarioSmartBot|Semantici|ScholarBot|proximic|MojeekBot|GrapeshotCrawler|IAScrawler|linkdexbot|contxbot|PlurkBot|PaperLiBot|BomboraBot|Leikibot|weborama-fetcher|NTENTbot|admantx-usaspb|Eyeotabot|VoluumDSP-content-bot|SirdataBot|adbeat_bot|TTD-Content|admantx|Nimbostratus-Bot|Mail.RU_Bot|Quantcastboti|Onespot-ScraperBot|Taboolabot|Baidu|Jobboerse|VoilaBot|Sogou|Jyxobot|Exabot|ZGrab|Proximi|Sosospider|Accoona|aiHitBot|Genieo|BecomeBot|ConveraCrawler|NerdyBot|OutclicksBot|findlinks|JikeSpider|Gigabot|CatchBot|Huaweisymantecspider|Offline Explorer|SiteSnagger|TeleportPro|WebCopier|WebReaper|WebStripper|WebZIP|Xaldon_WebSpider|BackDoorBot|AITCSRoboti|Arachnophilia|BackRub|BlowFishi|perl|CherryPicker|CyberSpyder|EmailCollector|Foobot|GetURL|httplib|HTTrack|LinkScan|Openbot|Snooper|SuperBot|URLSpiderPro|MAZBot|EchoboxBot|SerendeputyBot|LivelapBot|linkfluence|TweetmemeBot|LinkisBot|CrowdTanglebot|Netcraft)") { return 403; }
Można tą regułę zapisać np. w pliku block-bots.conf i załączyć ten plik jeśli chcemy blokować boty na wielu stronach (zamiast przeklejać w kółko to samo):
server {
# block SEO bots
include /etc/nginx/global/block-bots.conf;
I przeładować nginx-a komendą:
service nginx reload
I po sprawie. Kiedyś myślałem, że fajnie, że boty SEO odwiedzają moją stronę, jednak teraz widzę, że ja nie mam z tego kompletnie korzyści, a jak trafi się tak nieudolnie napisany bot jak ten MJ12bot to może jeszcze namieszać. Blokować dziada!
PS. Zaktualizowałem listę botów, usunąłem blokady na Senzam, Python i Yandexa. Dodałem blokadę na bota Netcraft.