多语言网站和机器人检测

时间:2016-09-22 16:47:33

标签: php node.js web seo web-crawler

我有一个网站,我实施多语种。

我按子域划分我的语言。

fr-fr.mywebsite.com
es-es.mywebsite.com
www.mywebsite.com // root domain => neutral language for bots

在子域名上,如果未设置语言cookie,我将子域名用作语言代码。

在主域(www)上,如果未设置语言cookie,则:

  • 如果是机器人,我使用中性语言
  • 如果它不是机器人,我使用“accept-language”标题检测用户语言。

如果是机器人,如何安全检测?我在这个问题上阅读了很多老话题但是人们只是使用了“接受语言”,因为机器人没有发送这个标题,但是,到目前为止,谷歌发送了这个标题......

检测它是否是机器人或反向检测它是否是Web浏览器更安全吗? 因为如果没有检测到机器人,那就是用错误的语言索引的网站。

想法?

1 个答案:

答案 0 :(得分:1)

假设您正在使用PhP,您可以请求HTTP_USER_AGENT并查看用户代理是否是googlebot'。

if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot"))
{
    // what to do
}

这里是问题的链接(以及我从中提取的示例)。

how to detect search engine bots with php?