如何通过301重定向移动URL并保留页面的Facebook赞和Open Graph信息?

30

我了解og:url元标记是在open graph中资源的规范url。

如果我想支持301重定向资源,同时保留其在open graph中的位置,有哪些策略可以使用?我不想因为更改URL而失去我的“喜欢”(likes)。

这样做的最佳方法是存储内容的原始url并引用它吗?还有其他处理此问题的策略吗?

澄清一下 - 我有一个页面:

/page1,具有http://www.example.com/page1 作为 og:url

现在我想将其移动到 /page2,并使用301重定向到 http://www.example.com/page2

除了将og:url元标记设置为/page1之外,是否有其他选项可避免丢失“喜欢”和评论?

2个回答

49
简而言之,你无法改变已经在 Facebook 上创建的对象的 URL,因为点赞和评论都与该 URL 相关。如果您希望将 URL 更改为新的 URL,则需要使用 HTTP 301 重定向,并在新页面中保留旧 URL 的 og:url 标签。对于 Facebook 爬虫(UA: facebookexternalhit/1.1),请免除重定向,并为其提供相应的 meta 标签以保持对象。如果您正在更改很多 URL 或完全重写 URL 结构,则可以在新的内容上使用新的 URL,但是如果要保留旧内容上的点赞、评论等数据,则需要保留重定向并在代码中维护旧 URL 和新 URL 的映射关系。

Facebook扣10分,因为他们只提供了这种方式而没有给我们提供指导。感谢您提供的解决方案,但对于大多数人来说,这仍然太复杂了,需要很多不成比例的复杂性。 - jerclarke
光明的一面是,对于新内容来说,点赞比旧内容更重要,因此重新开始并不是世界末日。 - jerclarke
1
这是Facebook目前关于他们的爬虫(包括更新的UA)的说明,同时很高兴看到他们授权检测UA,所以这样做是可以的-https://developers.facebook.com/docs/sharing/webmasters/crawler - Simon_Weaver
是的,那个文档页面部分基于我的答案 - 四月份发布后我忘记在这里添加链接了 - 感谢您提供它。 - Igy
你说的“无法打开旧页面”是什么意思?为了使上述答案有效,您需要确保旧的URL仍然能够响应Facebook的爬虫。如果由于某种原因无法响应,则必须从新域上的URL或新URL开始重新生成。 - Igy
显示剩余7条评论

0

我在我的旧网站上遇到了同样的问题。域名更改,管理员想要为SEO更改URL等。

我得出结论,最好在数据库中为Facebook设置某种唯一ID - 从一开始就这样做。例如,对于文章,我有myurl.com/a/123,其中123是文章的ID。

真实的URL是myurl.com/category/article-title。然后可以将文章放入不同的类别中,重命名等,并在其后面进行301重定向的广泛逻辑。但是基本的FB标识符可以永远保持不变。

当然,只有在启动全新网站或首次实施fb评论时才可行。

如果您能提前计划,这只是一个想法 :) 让我知道您的想法。


这并不能解决协议更改迁移的问题(例如从HTTP到HTTPS)。 - Agis
5
这很有道理,但让我庆幸自己从未实施过Facebook评论!多么尴尬的一团糟。脸书应正确支持301并重新归属点赞。他们也应默认支持HTTP/HTTPS。 - jerclarke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接