2

我正在开发一个使用 Backbone 的 HTML5 History 选项的网络应用程序。为了避免在客户端和服务器上编写所有代码,我使用这种方法将每个请求路由到 index.html

我想知道是否有办法让 Twitter Cards 与此设置一起使用,因为目前它无法读取页面,因为所有内容都是使用 Javascript 动态加载的。

我正在考虑使用用户代理来检测它是否是 TwitterBot,如果是,则提供带有所需元标记的页面的静态版本。这行得通吗?

谢谢。

4

2 回答 2

4

是的。

在一项工作中,我们为所有 SEO/搜索/facebook 等内容进行了此操作。

我们将嗅探用户代理,如果它是以下嗅探器之一

  • Facebook 开放图谱
  • 谷歌
  • 必应
  • 推特
  • Yandex
  • (还有几个不记得了)

我们将重定向到一个特殊页面,该页面用于将有关该页面的所有相关数据转储到一个格式良好(但完全没有样式)的页面中,以实现 SEO 目的。

这使我们能够保留我们的 google 索引位置和适当的 facebook 共享,即使我们的网站是主干中的一个完整的单页应用程序。

于 2012-10-08T14:56:29.200 回答
1

是的,使用正确的元数据标记为 Twitterbot 提供特定页面将起作用。

您可以在使用卡片的预览工具进行开发时测试您的结果。

https://dev.twitter.com/docs/cards/preview(带有您的静态 URL 或只是标签)。

于 2012-10-08T17:14:18.920 回答