我可以使用 "protocol free" URL 和 rel=canonical 吗?

Can I use a "protocol free" URL with rel=canonical?

明智的 SEO,可以免费使用这样的协议 URL 吗?

<link rel="canonical" href="//example.com" />

我无论如何都将所有用户重定向到 HTTPS。

对于免费协议,我的意思是不使用 http:// 或 https://,而是使用 //。

根据 this website,我相信你不能。

Make them 100% specific. For various reasons, a ton of sites use protocol relative links, meaning they leave the http / https bit from their URLs. Don’t do this for your canonicals. You have a preference. Show it.

此外,我推荐 https,因为 Google is using it as a ranking signal

如果 Google 名员工 (https://www.rfc-editor.org/rfc/rfc6596) 的规范 co-written 是正确的,那么是的,任何相关参考都可以。

规范 link 上的

href 属性就像 <link> 上的所有 href 属性:it supports URIs. And URIs can be full URIs or relative URIs.

此外 The Canonical Link Relation spec 证实了这一点。

然后:当然你可以使用一个亲戚URL就像一个免费的协议

但是不要

无论如何我都会建议始终使用完整的 URLs :方案、主机、路径...

为什么?因为规范 URL 是为了防止错误的 URL 被机器人使用。

然后使用相对 URL 可能会让一些错误的 URL 被机器人使用 与完整的 URL 相反,你可以确定它是正确的一个.

是的,您可以 - 规范和 Google 都允许将 uri 作为规范 href。

这确实存在通过错误协议访问您的页面的风险 - 例如:当您需要 https 规范 url 时访问了 http 页面。在这种情况下,相对规范值被解释为 http url。

但是,如果您将 301 重定向正确设置为从 http 到 https,则不会有问题,并且在某些情况下使用相对规范的 url 实际上可能更可取。

举个例子,从 http 站点切换到 https 将使您失去在 http url 上积累的所有 Facebook 点赞数。在这种情况下,您可能希望 Facebook 仍然抓取您的 http 站点,同时将所有其他用户代理重定向到 https。

Facebook 将在您的 http 和 https 页面上恢复您的旧 http 页面点赞,但如果您页面的规范 url 指向绝对 https url 则不会。在这种情况下,相对规范的协议 url - //www.mysite.com - 非常有用。