我有一个多语种网站。内容语言通过URL定义:
www.example.com/en_gb/content/right/here /
为确保搜索引擎了解该内容也可以使用其他语言,我会使用页面<head/>
中的备用链接:
<link href="http://www.example.com/en_au/content/right/here/" hreflang="en-AU" rel="alternate">
<link href="http://www.example.com/fr_be/content/right/here/" hreflang="fr-BE" rel="alternate">
<link href="http://www.example.com/nl_be/content/right/here/" hreflang="nl-BE" rel="alternate">
<link href="http://www.example.com/en_ca/content/right/here/" hreflang="en-CA" rel="alternate">
<link href="http://www.example.com/fr_ca/content/right/here/" hreflang="fr-CA" rel="alternate">
现在我的问题是:如果有人请求页面使用有效的区域设置(我的网站通常支持的本地区域),但当前页面不适用于该区域设置,我该怎么办?
目前,我写信给“您所在的国家/地区无法使用此内容”页面,并回复HTTP status code 404 Not Found以确保搜索引擎不会将此页面编入索引。
我是否还可以使用HTTP status code 406 Not Acceptable来确保搜索引擎更好地理解此页面还可以使用其他语言?该状态代码是否合适?如果是这样,我将如何回应备用链接,同时向我的用户显示一个页面?这就是RFC所说的:
除非是HEAD请求,否则响应应该包含一个实体,其中包含可用实体特征和位置的列表,用户或用户代理可以从中选择最合适的实体特征和位置
谢谢!
答案 0 :(得分:0)
您正在为每种语言使用不同的网址,因此404将是在此实例中使用的相应状态代码。
如果同一网址上的所有语言资源都可用,并且您使用Accept-language
请求标头来确定要发送的语言资源,并且客户端不接受您提供的任何语言,然后406将是正确的选择。