Назад | Перейти на главную страницу

Заблокировать googlebot на определенной странице с помощью nginx

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

Я не могу заставить nginx блокировать googlebot

server {
    location /ajax/sse.php {
        if ($http_user_agent ~* "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" ) {
            return 403;
        }
    }

}

Нам пришлось прибегнуть к блокировке в скрипте php -

if ($_SERVER['HTTP_USER_AGENT'] == 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)') {
  header('HTTP/1.0 403 Forbidden');
  exit();
}

Что не так с моей конфигурацией nginx?

Почему бы просто не использовать robots.txt? -> https://support.google.com/webmasters/answer/6062596

В моих журналах nginx пользовательским агентом googlebot является просто googlebot / 2.1 или "Googlebot / 2.1 (+http://www.googlebot.com/bot.html) "

Попробуй это

if ($http_user_agent ~ (googlebot) ) {
       return 403;
   }

или

if ($http_user_agent ~* (google) ) {
       return 403;
   }