2011-03-05 7 views
1

Ruby on Rails로 만든 사이트가 있습니다. HTTP_ACCEPT_LANGUAGE를 구현하여 클라이언트의 컴퓨터 언어를 감지하고 i18n으로 사이트의 언어를 설정하기 전에 Google에서 해당 사이트를 찾을 수 있습니다.Ruby on Rails i18n 문제

HTTP_ACCEPT_LANGUAGE 및 i18n을 사용하면 Google에서 내 사이트 크롤링을 중지합니다. 그리고 최악의 경우, 일부 국가에서는 내 사이트에 갈 때 Read Time Out Error가 발생합니다.

무엇이 문제입니까? (GeoIP 사용이 바람직하지 않음, 클라이언트의 컴퓨터 언어를 감지하는 것이 더 의미 있음)

답변

1

@picardo가 말했듯이 Google 로봇은 HTTP_ACCEPT_LANGUAGE 헤더를 보내지 않고 웹을 크롤링합니다. 필자는이 헤더에 따라 I18n.locale을 자동으로 설정하기 위해 Rails gem을 구현했지만 도메인 이름 접미사를 기반으로 추측하여 Google 봇의 올바른 언어를 여전히 감지합니다. 그 보석은 locale_detector입니다.