Содержание

Анализ файлов robots.txt крупнейших сайтов / Хабр

Robots.txt указывает веб-краулерам мира, какие файлы можно или нельзя скачивать с сервера. Он как первый сторож в интернете — не блокирует запросы, а просит не делать их. Интересно, что файлы robots.txt проявляют предположения веб-мастеров, как автоматизированным процессам следует работать с сайтом. Хотя бот легко может их игнорировать, но они указывают идеализированное поведение, как следует действовать краулеру.

По существу, это довольно важные файлы. Так что я решил скачать файл robots.txt с каждого из 1 миллиона самых посещаемых сайтов на планете и посмотреть, какие шаблоны удастся обнаружить.

Я взял список 1 млн крупнейших сайтов от Alexa и написал маленькую программу для скачивания файла robots.txt с каждого домена. После скачивания всех данных я пропустил каждый файл через питоновский пакет urllib.robotparser и начал изучать результаты.


Найдено в yangteacher.ru/robots. txt


Среди моих любимых питомцев — сайты, которые позволяют индексировать содержимое только боту Google и банят всех остальных. Например, файл robots.txt сайта Facebook начинается со следующих строк:

Notice: Crawling Facebook is prohibited unless you have express written permission. See: http://www.facebook.com/apps/site_scraping_tos_terms.php

(Предупреждение: Краулинг Facebook запрещён без письменного разрешения. См. http://www.facebook.com/apps/site_scraping_tos_terms.php)

Это слегка лицемерно, потому что сам Facebook начал работу с краулинга профилей студентов на сайте Гарвардского университета — именно такого рода активность они сейчас запрещают всем остальным.

Требование письменного разрешения перед началом краулинга сайта плюёт в лицо идеалам открытого интернета. Оно препятствует научным исследованиям и ставит барьер для развития новых поисковых систем: например, поисковику DuckDuckGo запрещено скачивать страницы Facebook, а поисковику Google можно.

В донкихотском порыве назвать и посрамить сайты, которые проявляют такое поведение, я написал простой скрипт, который проверяет домены и определяет тех, которые внесли Google в белый список тех, кому разрешено индексировать главную страницу. Вот самые популярные из этих доменов:


(В оригинальной статье указаны также аналогичные списки китайских, французских и немецких доменов — прим. пер.)

Я включил в таблицу пометку, позволяет ли сайт ещё DuckDuckGo индексировать свою заглавную страницу, в попытке показать, насколько тяжело приходится в наши дни новым поисковым системам.

У большинства из доменов в верхней части списка — таких как Facebook, LinkedIn, Quora и Yelp — есть одно общее. Все они размещают созданный пользователями контент, который представляет собой главную ценность их бизнеса. Это один из их главных активов, и компании не хотят отдавать его бесплатно. Впрочем, ради справедливости, такие запреты часто представляются как защита приватности пользователей, как в этом заявлении технического директора Facebook о решении забанить краулеры или глубоко в файле robots.

txt от Quora, где объясняется, почему сайт забанил Wayback Machine.

Далее по списку результаты становятся более противоречивыми — например, мне не совсем понятно, почему census.gov позволяет доступ к своему контенту только трём основным поисковым системам, но блокирует DuckDuckGo. Логично предположить, что данные государственных переписей принадлежат народу, а не только Google/Microsoft/Yahoo.

Хотя я не фанат подобного поведения, но вполне могу понять импульсивную попытку внести в белый список только определённые краулеры, если учесть количество плохих ботов вокруг.

Я хотел попробовать ещё кое-что: определить самые плохие веб-краулеры в интернете, с учётом коллективного мнения миллиона файлов robots.txt. Для этого я подсчитал, сколько разных доменов полностью банят конкретный useragent — и отранжировал их по этому показателю:

user-agent Тип Количество
MJ12bot SEO 15156
AhrefsBot
SEO
14561
Baiduspider Поисковая система 11473
Nutch Поисковая система 11023
ia_archiver SEO 10477
WebCopier Архивация 9538
WebStripper Архивация 8579
Teleport Архивация 7991
Yandex Поисковая система 7910
Offline Explorer Архивация 7786
SiteSnagger Архивация 7744
psbot Поисковая система 7605
TeleportPro Архивация 7063
EmailSiphon Спамерский скрапер 6715
EmailCollector Спамерский скрапер 6611
larbin Неизвестно 6436
BLEXBot SEO 6435
SemrushBot SEO 6361
MSIECrawler Архивация 6354
moget Неизвестно 6091

В списке боты нескольких определённых типов.

Первая группа — краулеры, которые собирают данные для SEO и маркетингового анализа. Эти фирмы хотят получить как можно больше данных для своей аналитики — генерируя заметную нагрузку на многие сервера. Бот Ahrefs даже хвастается: «AhrefsBot — второй самый активный краулер после Googlebot», так что вполне понятно, почему люди хотят заблокировать этих надоедливых ботов. Majestic (MJ12Bot) позиционирует себя как инструмент конкурентной разведки. Это значит, что он скачивает ваш сайт, чтобы снабдить полезной информацией ваших конкурентов — и тоже на главной странице заявляет о «крупнейшем в мире индексе ссылок».

Вторая группа user-agents — от инструментов, которые стремятся быстро скачать веб-сайт для персонального использования в офлайне. Инструменты вроде WebCopier, Webstripper и Teleport — все они быстро скачивают полную копию веб-сайта на ваш жёсткий диск. Проблема в скорости многопоточного скачивания: все эти инструменты очевидно настолько забивают трафик, что сайты достаточно часто их запрещают.

Наконец, есть поисковые системы вроде Baidu (BaiduSpider) и Yandex, которые могут агрессивно индексировать контент, хотя обслуживают только языки/рынки, которые не обязательно очень ценны для определённых сайтов. Лично у меня оба эти краулера генерируют немало трафика, так что я бы не советовал блокировать их.

Это знак времени, что файлы, которые предназначены для чтения роботами, часто содержат объявления о найме на работу разработчиков программного обеспечения — особенно специалистов по SEO.

В каком-то роде это первая в мире (и, наверное, единственная) биржа вакансий, составленная полностью из описаний файлов robots.txt. (В оригинальной статье представлены тексты всех 67 вакансий из файлов robots.txt — прим. пер.).

Есть некоторая ирония в том, что Ahrefs.com, разработчик второго среди самых забаненных ботов, тоже поместила в своём файле robots.txt объявление о поиске SEO-специалиста. А ещё у pricefalls.com объявление о работе в файле robots.

txt следует после записи «Предупреждение: краулинг Pricefalls запрещён, если у вас нет письменного разрешения».

Весь код для этой статьи — на GitHub.

Защита сайта от нежелательных ботов. Бот MJ12bot,…

Привет, Вы узнаете про защита сайта от нежелательных ботов, Разберем основные ее виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое защита сайта от нежелательных ботов, нежедательный бот, бот, mj12bot, blexbot, ahrefsbot , настоятельно рекомендую прочитать все из категории Интернет маркетинг , SEO, SMO, монетизация , .

Большие сайты с тысячами страниц и интернет-магазины с большим ассортиментом товаров зачастую сталкиваются с проблемой внезапно высокой нагрузки на сервер.

Причиной очень часто становятся не ddos атаки, вирусы или действия хакеров, а обычные ро бот ы малоизвестных поисковых систем или различных сервисов, которые за счет большого количества запросов к сайту в единицу времени приводят к увеличению нагрузки и превышению допустимых на хостинге лимитов.

Замечу, что данная проблема актуальна именно для крупных интернет-магазинов, поскольку, если ваш сайт состоит из 100-500 страниц и менее, то даже средний хостинг справится с такой внезапной нагрузкой без особых проблем. VDS серверы способны выдерживать куда более высокие нагрузки и, как правило, для интернет-магазинов на VDS такая проблема ощутима только в период новогоднего бума или накануне праздников, когда серверы работают на пределе своих возможностей.

Определить причину внезапно высокой нагрузки на сервер порой можно только через анализ логов, но иногда достаточно Яндекс Метрики, которая порой принимает ботов за пользователей.

Признаки появления бота на сайте

  • Большое количество просмотренных страниц в единицу времени
  • Нехарактерная для данного времени и дня недели высокая посещаемость сайта
  • Резкий рост посещаемости пользователей из других стран мира и с необычными для России браузерами
  • Необычно медленная загрузка страниц сайта
  • Долгий ответ сервера
  • Жалобы со стороны хостинга о потреблении сайтом большого кличества ресурсов
  • Однотипное поведение пользователей с многочисленным посещением одной и той же страницы

Примеры нежелательных ботов

Нежелательные боты зачастую это вовсе не боты спамеры или парсеры сайтов. Очень часто эти боты представляют различные сервисы или малоизвестные поисковые системы.

Прямой угрозы они не несут, но из-за неправильной настройки, внутренней ошибки или по каким-либо другим причинам они могут создавать высокую нагрузку на сайт за счет большого количества хитов в единицу времени.

Бот mj12bot

Поисковый робот сервиса Majestic, которые собирает данные об исходящих ссылках на сайтах. Робот нормально воспринимает канонические страницы, но на сайтах, где канонические урлы отсутствуют, начинает очень сильно «буксовать» на страницах, в урлах которых содержатся параметры.

Бот BLEXBot

Робот BLEXBot Crawler заявлен как робот поисковой системы — какой именно поисковой системы, на официальной странице не уточняется.

Бот AhrefsBot

Этот робот, равно как и MJ12bot, анализирует страницы сайта на наличие внешних ссылок. Сам сайт ahrefs.com предоставляет наплохой профессиональный сервис по оценке и анализу ссылочного.

Бот HubSpot Webcrawler

Это робот поисковой системы сайта amazon.com. На самом «Амазоне» заявлено, что данная платформа создана для компаний, которым нужно привлечь посетителей, т.е. по сути робот является сборщиком контента с интернет-магазинов.

Другие нежелательные боты

Приведенный ниже перечень ботов мной лично не встречался, но вполне возможно, что они еще существуют:

Aboundex
80legs
360Spider
Java
Cogentbot
Alexibot
asterias
attach
BackDoorBot
BackWeb
Bandit
BatchFTP
Bigfoot
Black.Hole
BlackWidow
BlowFish
BotALot
Buddy
BuiltBotTough
Bullseye
BunnySlippers
Cegbfeieh
CheeseBot
CherryPicker
ChinaClaw
Collector
Copier
CopyRightCheck
cosmos
Crescent
Custo
AIBOT
DISCo
DIIbot
DittoSpyder
Download Demon
Download Devil
Download Wonder
dragonfly
Drip
eCatch
EasyDL
ebingbong
EirGrabber
EmailCollector
EmailSiphon
EmailWolf
EroCrawler
Exabot
Express WebPictures
Extractor
EyeNetIE
Foobot
flunky
FrontPage
Go-Ahead-Got-It
gotit
GrabNet
Grafula
Harvest
hloader
HMView
HTTrack
humanlinks
IlseBot
Image Stripper
Image Sucker
Indy Library
InfoNavibot
InfoTekies
Intelliseek
InterGET
Internet Ninja
Iria
Jakarta
JennyBot
JetCar
JOC
JustView
Jyxobot
Kenjin. Spider
Keyword.Density
larbin
LexiBot
lftp
libWeb/clsHTTP
likse
LinkextractorPro
LinkScan/8.1a.Unix
LNSpiderguy
LinkWalker
lwp-trivial
LWP::Simple
Magnet
Mag-Net
MarkWatch
Mass Downloader
Mata.Hari
Memo
Microsoft.URL
Microsoft URL Control
MIDown tool
MIIxpc
Mirror
Missigua Locator
Mister PiX
moget
Mozilla/3.Mozilla/2.01
Mozilla.*NEWT
NAMEPROTECT
Navroad
NearSite
NetAnts
Netcraft
NetMechanic
NetSpider
Net Vampire
NetZIP
NextGenSearchBot
NG
NICErsPRO
niki-bot
NimbleCrawler
Ninja
NPbot
Octopus
Offline Explorer
Offline Navigator
Openfind
OutfoxBot
PageGrabber
Papa Foto
pavuk
pcBrowser
PHP version tracker
Pockey
ProPowerBot/2.14
ProWebWalker
psbot
Pump
QueryN.Metasearch
RealDownload
Reaper
Recorder
ReGet
RepoMonkey
RMA
Siphon
SiteSnagger
SlySearch
SmartDownload
Snake
Snapbot
Snoopy
sogou
SpaceBison
SpankBot
spanner
Sqworm
Stripper
Sucker
SuperBot
SuperHTTP
Surfbot
suzuran
Szukacz/1. 4
tAkeOut
Teleport
Telesoft
TurnitinBot/1.5
The.Intraformant
TheNomad
TightTwatBot
Titan
True_bot
turingos
TurnitinBot
URLy.Warning
Vacuum
VCI
VoidEYE
Web Image Collector
Web Sucker
WebAuto
WebBandit
Webclipping.com
WebCopier
WebEMailExtrac.*» bot
WebEnhancer
WebFetch
WebGo IS
Web.Image.Collector
WebLeacher
WebmasterWorldForumBot
WebReaper
WebSauger
Website eXtractor
Website Quester
Webster
WebStripper
WebWhacker
WebZIP
Whacker
Widow
WISENutbot
WWWOFFLE
WWW-Collector-E
Xaldon
Xenu
Zeus
ZmEu
Zyborg
AhrefsBot
archive.org_bot
bingbot
Wget
Acunetix
FHscan

Ограничение активности ботов с использованием robots.txt

Универсальное решение заключается в том, чтобы через дерективу Crawl-delay в файле robots.txt ограничить количество запросов . Об этом говорит сайт https://intellect. icu . Численное значение указывает паузу в секундах между обращениями к сайту.

Типовой пример, подходящий для большинства сайтов

User-agent: *
Crawl-delay: 10

10 секунд более чем достаточно, чтобы лимитировать нарузку на сайт роботов поисковых машин.

Впрочем, некоторые нежелательные боты игнорируют данную директиву и даже прямой запрет доступа через robots.txt не спасает от высокой нагрузки.

User-agent: MJ12bot
Disallow: /

В таких случаях остается только вариант блокирования доступа к сайта по ip адресам, откуда идут запросы, или по User-agent.

Второй вариант является более предпочтительным, поскольку при блокировании доступа по ip, сайт становится недоступен для всех устройств, в том числе и для обычных пользователей.

Блокирование ботов по User-agent через .htaccess файл

Подавляющее большинство сайтов работает на linux платформе, где роль веб-сервера выполняет Apache сервер. Веб-сервер обрабатывает запросы пользователей и отдает страницы сайта. Wget» bot
Deny from env=bot

Понятно, что можно использовать данный перечень в исходном виде, а можно оставить в списке только тех нежелательных ботов, которые действительно создавали в прошлом и создают высокую нагрузку на ваш сайт на данный момент.

На этом все! Теперь вы знаете все про защита сайта от нежелательных ботов, Помните, что это теперь будет проще использовать на практике. Надеюсь, что теперь ты понял что такое защита сайта от нежелательных ботов, нежедательный бот, бот, mj12bot, blexbot, ahrefsbot и для чего все это нужно, а если не понял, или есть замечания, то нестесняся пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Интернет маркетинг , SEO, SMO, монетизация ,

MJ12Bot | Главная | от Majestic

Что MJ12bot делает на моем сайте?

Мы просматриваем Интернет с целью создания поисковой системы с помощью быстрого и эффективного загружаемого распределенного поискового робота, который позволяет людям с широкополосным подключением внести свой вклад в то, что, как мы надеемся, станет крупнейшей поисковой системой в мире. Производство системы полнотекстового поиска в Majestic-12 в настоящее время находится на стадии исследований, частично финансируемых за счет коммерциализации исследований Majestic.

Что происходит с просканированными данными?

Просканированные данные (в настоящее время только веб-график ссылок) добавляются в крупнейший общедоступный индекс поисковой системы по обратным ссылкам, который мы поддерживаем в виде специального инструмента под названием Site Explorer. Узнайте о своих собственных обратных ссылках из обширного индекса обратных ссылок.

Мой веб-хост блокирует вашего бота, почему?

Некоторые интернет-провайдеры и плохо настроенные брандмауэры могут помешать MJ12Bot сканировать ваш сайт. Обычно это происходит потому, что интернет-провайдер или брандмауэр не понимают, что при этом они блокируют настоящих посетителей вашего веб-сайта на более позднем этапе. Некоторые также делают это, чтобы минимизировать пропускную способность. В этих случаях некоторые интернет-провайдеры могут снять блокировку для всех своих пользователей, когда поймут цель бота. Если ваш интернет-провайдер не разрешает нашему боту, мы рекомендуем вам подумать о смене интернет-провайдера.

Почему вы продолжаете сканировать страницы 404 или 301?

У нас долгая память, и мы хотим гарантировать, что временные ошибки, неработающие страницы веб-сайта или другие временные изменения на сайтах не вызовут непоправимых изменений в профиле вашего сайта, когда они не должны. Кроме того, если на эти страницы все еще есть ссылки, их будут продолжать находить и переходить по ним. Google опубликовал заявление, поскольку им также задают этот вопрос, их причина, конечно же, такая же, как и у нас, и их ответ можно найти здесь: Политика Google 404.

Вы сканируете ссылки с rel=nofollow

Это распространенное неправильное понимание атрибута nofollow (возможно, с неправильным названием). Google представил атрибут rel=nofollow в 2005 году, заявив, что помеченные таким образом ссылки не будут влиять на PageRank цели, это не мешает сканеру посещать целевую страницу, это становится особенно очевидным, если на целевой странице есть несколько ссылок, некоторые может иметь этот атрибут, некоторые могут не иметь. Если вы хотите, чтобы боты не сканировали страницу, следует использовать файл robots.txt, чтобы запретить целевую страницу.

Дополнительную информацию о rel=nofollow можно найти здесь: Википедия Nofollow

Как я могу заблокировать MJ12bot?

MJ12bot соответствует стандарту robots.txt. Если вы хотите, чтобы бот предотвращал сканирование веб-сайта, добавьте в файл robots.txt следующий текст:

. Агент пользователя: MJ12bot
Запретить: /

Пожалуйста, не блокируйте нашего бота по IP-адресу в htaccess — мы не используем последовательные блокировки IP-адресов, поскольку мы являемся распределенным поисковым роботом, основанным на сообществе. Всегда проверяйте, может ли бот получить файл robots.txt. Если это невозможно, то он будет считать, что ваш сайт можно сканировать.

Если у вас есть основания полагать, что MJ12bot НЕ подчинялся вашим командам robots.txt, сообщите нам об этом по электронной почте: bot@majestic12. co.uk. Укажите URL-адрес вашего веб-сайта и записи в журнале, показывающие, что бот пытается получить страницы, которые он не должен был делать.

Какие команды в robots.txt поддерживает MJ12bot?

Текущий сканер поддерживает следующие нестандартные расширения файла robots.txt:

  • Crawl-Delay до 20 секунд (более высокие значения будут округлены в меньшую сторону до максимального значения, поддерживаемого нашим ботом)
  • Перенаправления (в пределах того же сайта) при попытке получить robots.txt
  • Простое сопоставление шаблонов в директивах Disallow, совместимое со спецификацией подстановочных знаков Yahoo
  • Директивы Allow могут переопределять Disallow, если они более специфичны (длиннее)
  • Некоторые сбои при получении robots.txt, такие как 403 Forbidden, будут рассматриваться как директива о полном запрете
Почему мой блок robots.txt не работал на MJ12bot?

Мы заинтересованы в любых сообщениях о потенциальных нарушениях файла robots. txt со стороны MJ12bot.

Возник ряд ложных срабатываний — это может быть полезным контрольным списком при настройке веб-сервера:

  1. Перенаправления за пределы сайта при запросе robots.txt — MJ12Bot выполняет перенаправления, но только в том же домене. В идеале файл robots.txt должен быть доступен по адресу «/robots.txt», как указано в стандарте.
  2. Несколько доменов работают на одном сервере. Современные веб-серверы, такие как Apache, могут регистрировать доступ к нескольким доменам в один файл — это может вызвать путаницу при попытке увидеть, к какому веб-серверу был осуществлен доступ в какой момент. Вы можете добавить информацию о домене в журнал доступа или разделить журналы доступа для каждого домена
  3. Robots.txt не синхронизирован с копией разработчика. У нас были жалобы на то, что MJ12Bot не подчинился robots.txt — только для того, чтобы узнать, что разработчик тестировал сервер разработки, который не был синхронизирован с активной версией
  4. .
Как замедлить работу MJ12bot?

Вы можете легко замедлить работу бота, добавив в файл robots.txt следующее:

Агент пользователя: MJ12bot
Задержка сканирования: 5

Crawl-Delay должен быть целым числом и означает количество секунд ожидания между запросами. MJ12bot будет делать задержку до 20 секунд между запросами к вашему сайту — обратите внимание, что, хотя это маловероятно, все же возможно, что ваш сайт мог быть просканирован несколькими роботами MJ12 одновременно. Установка высокой задержки сканирования должна свести к минимуму влияние на ваш сайт. Этот параметр Crawl-Delay также будет активен, если он использовался для подстановочного знака *.

Если наш бот обнаружит, что вы использовали Crawl-Delay для любого другого бота, он автоматически будет сканировать медленнее, даже если MJ12bot специально не запрашивался об этом.

Каковы текущие версии MJ12bot?

Текущие рабочие версии MJ12bot серии v1. 4.x:

  • v1.4.8 (текущая версия — апрель 2017 г.)
  • v1.4.7 (заменяется версией 1.4.8 — конец 2018 г.)
  • v1.4.6 (заменяется версией 1.4.7 — июнь 2016 г.)
  • v1.4.5 (прекращено — июнь 2016 г.)
  • v1.4.4 (прекращено в мае 2014 г.)
Как проверить, что запросы исходят от вас?

Как проект сообщества, к сожалению, у нас нет возможности ограничить наших ботов ограниченным количеством IP-адресов, как это делают некоторые из наших более финансируемых коллег. Однако мы можем отправить предварительно подготовленную строку идентификатора со всеми запросами на ваш сайт. Его можно отправить как часть заголовков http или https в поле CRAWLER-IDENT или как часть строки User-Agent. Мы не будем делиться этой строкой с кем-либо еще или отправлять ее в любой другой домен или субдомен, чем вы запрашиваете, поэтому запросы, включающие эту строку, могут быть проверены как исходящие из нашей сети. Чтобы воспользоваться этой возможностью, пожалуйста, свяжитесь с bot@majestic12. co.uk, указав детали вашего сайта и идентификатор, который вы хотите отправить, или, если вы предпочитаете, мы можем сгенерировать для вас случайную строку идентификатора.

перенаправлений — Попытка определить, является ли бот, сканирующий мой сайт, вредоносным — MJ12bot

спросил

Изменено 1 год, 9 месяцев назад

Просмотрено 2к раз

Мой сервер получает около 3000 запросов в час от бота, идентифицирующего себя как «MJ12bot».

URL-адреса, на которые он нажимает, формируют перенаправление 301 и недействительны в моем новом веб-приложении.

Как ни странно, некоторые URL-адреса, на которые он нажимает, находятся на моей конечной точке входа в систему.

Как я могу определить, являются ли эти запросы законными, или я должен заблокировать бота?

  • перенаправления

MJ12Bot — это бот, разработанный Majestic, который предназначен для сбора информации о вашем сайте для их собственных продуктов для проверки обратных ссылок и ключевых слов.

Предполагается, что он соответствует стандарту robots.txt . Не должно быть проблем с блокировкой, например:

 User-agent: MJ12bot
Запретить: /
 

Дополнительная информация: Мне действительно нужно блокировать MJ12Bot

4

Это выглядит странно. Это могут быть злоумышленники, скрывающие свои попытки взлома под видом бота, что действительно случается.

В итоге я заблокировал бота. После вчерашних 3000 попыток доступа к ОДНОМУ URL-адресу я поместил свой robots.txt в:

 Агент пользователя: MJ12bot
Задержка сканирования: 120
 

Это не помогло, оно пошло и добавило еще 2000 попыток в тот день, после чего я заблокировал его в Cloudflare.

Самое смешное, что на сайте, который он пытался проиндексировать, всего 30 статических страниц. Не знаю, зачем ему нужно было обращаться к нему 11 636 раз за два дня.

С 20 января бот, идентифицирующий себя как MJ12bot, заходил на один и тот же сайт 66 202 раза.