我有一个由Ruby on Rails创建的网站。在我实施HTTP_ACCEPT_LANGUAGE以检测客户端的计算机语言并使用i18n设置网站的语言之前,可以在Google上找到该网站。
使用HTTP_ACCEPT_LANGUAGE和i18n后,Google停止抓取我的网站。最糟糕的是,一些国家在访问我的网站时收到了读取超时错误。
有什么问题? (使用GeoIP不是优选的,检测客户端的计算机语言更有意义)
答案 0 :(得分:3)
显然,Google bot无法使用HTTP_ACCEPT_LANGUAGE。请参阅此article for reference。
答案 1 :(得分:2)
正如@picardo所说,Google僵尸程序在不发送HTTP_ACCEPT_LANGUAGE
标题的情况下抓取网页。我已经实现了一个Rails gem来自动设置基于此标头的I18n.locale
,但后来又回到基于域名后缀的猜测,这样它仍然可以检测到Google bot的正确语言。宝石名为locale_detector。