我们有两个网站,一个面向欧盟用户,另一个仅面向美国用户。
我使用一个简单的系统来检查IP的来源。
$geo = json_decode(file_get_contents("http://extreme-ip-lookup.com/json/$user_ip"));
$country = $geo->countryCode;
$countrycode = $sanitizer->pageName(substr($country, 0, 2));
然后,根据响应,我将用户重定向到正确的站点。
if ($countrycode == 'us'){
// go to usa website
}else{
// do nothing
}
现在,问题在于Google来自美国,我不需要以能够扫描主要站点的欧盟站点的方式重定向googlebot(和其他bot)。
我在互联网上看了很多,最后我做到了:
if( strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot") ) {
$countrycode = 'en'; // force him to have en instead of us
}
现在,我对此不太满意,Googlebot扫描了我的网站,但是我不确定是否运行得很好。因为Google速度测试只能看到美国网站。 恐怕这不是解决此问题的最佳方法。
您有更好的主意吗?
答案 0 :(得分:0)
从Google查看此指南
https://support.google.com/webmasters/answer/182192?hl=en
我的建议是实施href-lang并为每种语言版本使用单独的URL
https://support.google.com/webmasters/answer/189077
我只是将主页重定向为302重定向到相应的语言版本
如此
example.com> 302> example.com/us(如果您在美国) example.com> 302> example.com/uk(如果您在英国)
,并且两者都通过href-lang引用了另一个版本。 Google将会列出
example.com/us在美国
和
example.com/uk在英国
像这样作为主页。对所有子页面执行相同的操作,因此Google只会在英国列出/ uk /页面。使用这种方法,您不必在意Googlebot。从理论上讲,有可能向Googlebot展示一些不同的东西,但是它有风险,因为他们不仅使用了一个Googlebot。