Php 多语言网站-如何检测机器人/蜘蛛?
我的网站会根据用户浏览器的语言更改语言。我想在英语网站(比如twitter)上向所有的Spinders/Bot开放。什么是蜘蛛/机器人的HTTP_接受_语言?如何检测bot/spider以将文件翻译包含在英语中?我见过列出蜘蛛/机器人的方法,但我觉得它不令人满意。您有更好的解决方案吗?您可以这样做:Php 多语言网站-如何检测机器人/蜘蛛?,php,Php,我的网站会根据用户浏览器的语言更改语言。我想在英语网站(比如twitter)上向所有的Spinders/Bot开放。什么是蜘蛛/机器人的HTTP_接受_语言?如何检测bot/spider以将文件翻译包含在英语中?我见过列出蜘蛛/机器人的方法,但我觉得它不令人满意。您有更好的解决方案吗?您可以这样做: function isSpider() { $spiders = array("googlebot","WebCrawler","Slurp","msn", "VoilaBot", "Fur
function isSpider()
{
$spiders = array("googlebot","WebCrawler","Slurp","msn", "VoilaBot", "FurlBot", "NaverBot", "MMCrawler");
$spider_count = 0;
foreach($spiders as $Val) {
if (preg_match("/$Val/i", getenv("HTTP_USER_AGENT"))) {
$spider_count++;
}
}
if ($spider_count!= "0") {
return true;
}
else
{
return false;
}
}
if (isSpider())
{
// Set the language to English
}
您可以在此处找到bot名称列表:
这假设bot设置了用户代理,这对于搜索引擎爬虫来说是一个有效的假设。如果未设置HTTP\u ACCEPT\u语言,会发生什么情况?如果未设置HTTP\u ACCEPT\u语言或未翻译HTTP\u ACCEPT\u语言,则翻译将包含在英语中。由于bot不发布语言,站点是否自动翻译为英语?正确,bot将看到“默认”版本无需,bot不发送语言标题,因此将对站点的默认版本进行爬网