我有一個由Ruby on Rails創建的網站。在我實現HTTP_ACCEPT_LANGUAGE來檢測客戶端的計算機語言並使用i18n設置網站的語言之前,可以在Google上找到該網站。Ruby on Rails i18n問題
當我使用HTTP_ACCEPT_LANGUAGE和i18n後,Google停止抓取我的網站。而最糟糕的是,有些國家在進入我的網站時會收到讀取超時錯誤。
什麼問題? (使用GeoIP並不是最好,檢測客戶端的計算機語言更有意義)
我有一個由Ruby on Rails創建的網站。在我實現HTTP_ACCEPT_LANGUAGE來檢測客戶端的計算機語言並使用i18n設置網站的語言之前,可以在Google上找到該網站。Ruby on Rails i18n問題
當我使用HTTP_ACCEPT_LANGUAGE和i18n後,Google停止抓取我的網站。而最糟糕的是,有些國家在進入我的網站時會收到讀取超時錯誤。
什麼問題? (使用GeoIP並不是最好,檢測客戶端的計算機語言更有意義)
顯然HTTP_ACCEPT_LANGUAGE不適用於Google bot。看到這個article for reference。
正如@picardo所說的,Google bot在不發送HTTP_ACCEPT_LANGUAGE
標題的情況下抓取網頁。我已經實現了一個Rails gem來自動設置基於這個頭的I18n.locale
,但後來又回到基於域名後綴的猜測,以便它仍然檢測到Google bot的正確語言。該寶石被稱爲locale_detector。