facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
facebookexternalhit/1.1 - это официальный краулер (бот) социальной сети Facebook, созданный компанией Meta Platforms (ранее Facebook, Inc.). Он используется для проверки и извлечения информации о веб-страницах, когда пользователь вставляет ссылку в пост, комментарий или личное сообщение. Бот запрашивает страницу, анализирует её содержимое (заголовки, описания, изображения) и формирует так называемый «превью» (ссылку с картинкой и текстом) для отображения в ленте. Краулер был представлен в 2010 году вместе с внедрением технологии Open Graph, которая позволяет веб-мастерам управлять тем, как их сайты выглядят в Facebook.
facebookexternalhit является легитимным краулером, и его можно считать безопасным. Однако существуют риски, связанные с подделкой User-Agent: злоумышленники могут имитировать этот User-Agent, чтобы обойти защиту от ботов (например, капчу) или получить доступ к контенту, который должен быть скрыт от поисковых систем. Рекомендуется проверять не только строку User-Agent, но и IP-адреса, с которых приходят запросы (они принадлежат диапазонам Meta, например, 69.171.224.0/20, 66.220.144.0/20 и др.). Также следует быть осторожным с тем, чтобы не блокировать этого бота, иначе ссылки на ваш сайт не будут отображаться в Facebook с превью, что снизит кликабельность.
Для идентификации facebookexternalhit в коде или на сервере необходимо проверять строку User-Agent в HTTP-запросе. В большинстве серверных языков это делается через переменную окружения (например, $_SERVER['HTTP_USER_AGENT'] в PHP, request.headers['User-Agent'] в Python). Строка выглядит как facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php). Если вы используете Nginx, можно добавить правило в конфигурацию для обработки этого бота отдельно. Важно не блокировать его в файле robots.txt, так как это не поисковый робот, и он не обязан следовать правилам robots.txt, но может игнорировать их. Рекомендуется разрешить доступ, но при необходимости ограничить частоту запросов.
if ($http_user_agent ~* "facebookexternalhit") { return 200; } - чтобы разрешить, или блокировать по IP. Но обычно лучше не блокировать, а разрешить, чтобы Facebook мог корректно отображать превью ссылок.Bot-guard.ru автоматически распознаёт и блокирует ботов вроде этого — без ручного ведения списков User-Agent. Подключение занимает несколько минут, сейчас сервис в открытом бесплатном тестировании.
Подключить бесплатно