我有一个实现多语言的网站。
我按子域划分我的语言。
fr-fr.mywebsite.com
es-es.mywebsite.com
www.mywebsite.com // root domain => neutral language for bots
在子域上,如果未设置语言 cookie,我会使用子域作为语言代码。
在主域 (www) 上,如果未设置语言 cookie,则:
- 如果是机器人,我会使用中性语言
- 如果它不是机器人,我会使用“accept-language” header 检测用户语言。
如果是机器人,如何安全检测?我阅读了有关此事的旧主题,但人们只是使用“接受语言”,因为机器人没有发送此 header ,但是,到目前为止,谷歌发送此 header ...
检测它是否是机器人更安全,还是相反,检测它是否是网络浏览器更安全? 因为如果未检测到机器人,网站将以错误的语言编入索引。
想法?
最佳答案
假设您使用的是 PhP,您可以请求 HTTP_USER_AGENT
并查看用户代理是否为“googlebot”。
if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot"))
{
// what to do
}
这是一个问题的链接(以及我从中提取的示例)。
关于php - 多语言网站和机器人检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39644655/