我想知道搜索引擎是否尊重HTTP header field Content-Location
。
这可能很有用,例如,当您想要从URL中删除会话ID参数时:
GET /foo/bar?sid=0123456789 HTTP/1.1
Host: example.com
…
HTTP/1.1 200 OK
Content-Location: http://example.com/foo/bar
…
澄清:
我不想重定向请求,因为删除会话ID会导致完全不同的请求,因此可能也会产生不同的响应。我只是想声明所附的响应也可以在其“主URL”下找到。
也许我的例子不能很好地反映我的问题。所以请看一下What is the purpose of the HTTP header field “Content-Location”?。
答案 0 :(得分:7)
我认为Google刚刚宣布了我的问题的答案:the canonical
link relation for declaring the canonical URL。
Maile Ohye写道:
米奇克说...... 您应该使用Content-Location标头,如下所示:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
“14.14内容 - 位置”@MikeyC:是的,从理论的角度来说,这是有道理的,我们当然也考虑过了。然而,有几点让我们选择:
我们的数据显示,许多网站上的“Content-Location”标头配置不正确。有时,网站管理员会提供冗长,丑陋的网址,甚至不会重复 - 这可能是无意的。他们可能没有意识到他们的网络服务器甚至发送了Content-Location标头。
与网站所有者联系以清理整个网络中的内容位置问题将非常耗时。我们意识到,如果我们从一个干净的平板开始,我们可以更快地提供功能。与微软和雅虎!为了支持这种格式,网站管理员只需要学习一种语法。
- 醇>
网站管理员通常难以配置其网络服务器标头,但可以更轻松地更改其HTML。 rel =“canonical”似乎是一个友好的属性。
答案 1 :(得分:1)
大多数体面的抓取工具都遵循Content-Location。所以,是的,搜索引擎尊重Content-Location标头,尽管不能保证具有sid参数的URL不会出现在结果页面上。
答案 2 :(得分:0)
2009年,Google开始在响应机构中查看符合rel=canonical
条件的URI。
从2011年开始,根据RFC5988格式化的链接为also parsed from the header field Link:
。 Webmaster Tools FAQ中也明确提到它是一个有效的选项。
猜猜这是为搜索引擎提供一些额外的超媒体面包屑的最新方式 - 因此,当您实际上不需要将其作为内容提供时,可以让您将它们排除在响应主体之外。
答案 3 :(得分:-1)
除了使用“位置”而非“内容位置”外,还应根据您的重定向原因在响应中使用正确的HTTP状态代码。搜索引擎倾向于支持永久重定向(301)状态与临时(302)状态。
答案 4 :(得分:-3)
请改为使用“Location:”标题。