使用 nginx 在特定页面上阻止 googlebot

使用 nginx 在特定页面上阻止 googlebot

目前我们的爬取速度已经超出了我们的处理能力。

我似乎无法让 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 配置有什么问题?

答案1

为什么不直接使用 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;
   }

相关内容