避免机器人页面重定向

Avoid page redirect for bots

第一次显示网站时,我需要用户确认他是18岁或以上(酒厂网站)。我的客户想要一个特定的页面(不是 popin 或弹出窗口),所以使用 cookies presence,我重定向到那个特定的页面。如果您没有确认,您将无法访问任何页面。

这是 SEO 的问题,因为机器人(如 GoogleBot)无法正确索引网站。

我怎样才能避免专门针对机器人的重定向?或者如何识别用户是人还是机器人?

我正在与 PHP 合作,我试图制作一个已知机器人列表并将其与 HTTP_USER_AGENT 进行比较,以防止重定向。但我不认为这是一个永久的解决方案(如果机器人更改他们的名字,或者如果涉及新闻机器人怎么办?)。

$crawlers = array(
        'Googlebot',
        'Baiduspider',
        'ia_archiver',
        'R6_FeedFetcher',
        'NetcraftSurveyAgent',
        'Sogou web spider',
        'bingbot',
        'Yahoo! Slurp',
        'facebookexternalhit',
        'PrintfulBot',
        'msnbot',
        'Twitterbot',
        'UnwindFetchor',
        'urlresolver',
        'Butterfly',
        'TweetmemeBot'
    );
$implCrawlers = implode('|', $crawlers);
$isBot = (strpos($_SERVER['HTTP_USER_AGENT'], $implCrawlers ) !== false) ? true : false;
if (!$isBot) {
...
}

你可以去找这个包 https://github.com/JayBizzle/Crawler-Detect 当爬虫改变他们的名字时他们会更新他们的 repo。