Php 多语言网站与bot检测
我有一个网站,我实现多语言 我将我的语言划分为每个子域Php 多语言网站与bot检测,php,node.js,web,seo,web-crawler,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”头检测用户语言 如何安全地
fr-fr.mywebsite.com
es-es.mywebsite.com
www.mywebsite.com // root domain => neutral language for bots
在子域上,如果未设置语言cookie,我将子域用作语言代码
在主域(www)上,如果未设置语言cookie,则:
- 如果是机器人,我用中性语言
- 如果它不是机器人,我会使用“accept language”头检测用户语言
想法?假设您使用的是PhP,您可以请求HTTP\u USER\u代理并查看该用户代理是否为“googlebot”
if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot"))
{
// what to do
}
下面是一个问题的链接(以及我从中提取的示例)
为什么不使用语言注释?通过这种方式,机器人将找到我也使用的其他语言页面。但是主域必须自动检测用户语言:)Hi@Ndrou,我仍然不明白为什么您需要查找用户是否是bot,如果请求具有有效的“accept language”头,您可以将其发送到适当的语言站点,如果不是,则发送到您的主或默认语言站点,如果是bot,他将能够使用语言注释找到所有altenate语言,并将它们编入索引是的,但不仅仅是谷歌机器人,还有许多机器人,如雅虎、必应、yandex等。。。如何确保不会忘记一个?你可以添加所有这些机器人的名字,只需谷歌和查找机器人的名字。您还可以添加一个日志,只需记录
HTTP\u USER\u AGENT
值,然后对列表进行排序,查看是否出现了类似bot的名称。所有著名的搜索引擎和合法的将命名他们的机器人。