多语种网站和机器人检测
我有一个网站,我实施多语言。
我为每个子域划分我的语言。
fr-fr.mywebsite.com es-es.mywebsite.com www.mywebsite.com // root domain => neutral language for bots
在子域上,如果没有设置语言cookie,我使用子域作为语言代码。
在主域(www)上,如果没有设置语言cookie,则:
- 如果它是一个机器人,我使用中性语言
- 如果不是机器人,我使用“accept-language”标题检测用户语言。
如果它是一个机器人如何安全地检测? 我在这个问题上读了旧的话题,但人们只是使用“接受语言”,因为机器人没有发送这个头,但是,迄今为止,谷歌发送这个头…
检测它是一个bot还是反向检测它是否是Web浏览器会更安全吗? 因为如果机器人没有被检测到,那么这个网站将被错误的语言索引。
想法?
假设您使用PhP,您可以请求HTTP_USER_AGENT
并查看用户代理是否为“googlebot”。
if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot")) { // what to do }
这里是一个问题的链接(以及我从中提取的例子)。
如何检测search引擎机器人与PHP?