Проверка поискового робота
Многие боты называют себя YandexBot или Googlebot, чтобы их не блокировали. Вставьте IP из логов — проверим его так, как рекомендуют сами поисковики: обратным и прямым DNS-запросом.
Как работает проверка
Поисковики рекомендуют проверять своих роботов в два шага — так делает и этот инструмент:
- Обратный DNS. По IP-адресу запрашивается имя хоста. У робота Яндекса оно оканчивается на yandex.ru, yandex.net или yandex.com, у Google — на googlebot.com или google.com.
- Прямой DNS. По найденному имени запрашивается IP-адрес. Он должен совпасть с исходным — иначе обратную запись могли подделать.
Если оба шага пройдены, это настоящий поисковый робот, и блокировать его нельзя.
Когда это нужно
- в логах много запросов от «YandexBot», и нагрузка растёт;
- вы настраиваете блокировку ботов и не хотите задеть поисковики;
- парсер маскируется под Googlebot, чтобы обойти защиту.
Как делать это автоматически
Проверять каждый адрес вручную неудобно. nbots делает такую проверку для каждого посетителя, который называет себя поисковым роботом: настоящих пропускает без проверки и не считает в лимит визитов, поддельных отмечает как ботов. Подробнее — в статье о защите от парсинга.
Частые вопросы
Почему нельзя верить User-Agent?
Это обычная строка, которую любой бот может подставить. Многие боты называют себя YandexBot или Googlebot, чтобы их не блокировали.
Как Яндекс рекомендует проверять своих роботов?
Через обратный DNS-запрос: имя хоста должно оканчиваться на yandex.ru, yandex.net или yandex.com, а прямой запрос этого имени должен вернуть тот же IP.
Что делать с поддельными поисковыми роботами?
Их можно смело блокировать: настоящий поисковик ходит только со своих адресов. Антибот делает это автоматически.
Сколько длится проверка?
Обычно меньше секунды. Если DNS отвечает медленно, проверка может занять до нескольких секунд.
Какие роботы поддерживаются?
Яндекс, Google, Bing, Mail.ru, Apple и DuckDuckGo.
Проверяется ли IPv6?
Да, если у адреса есть обратная DNS-запись.