【问题标题】:Twitter Cards using Backbone's HTML5 History使用 Backbone 的 HTML5 历史记录的 Twitter 卡片
【发布时间】:2012-10-08 14:19:32
【问题描述】:

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

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

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

谢谢。

【问题讨论】:

    标签: javascript web-applications twitter backbone.js html5-history


    【解决方案1】:

    是的。

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

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

    • Facebook 开放图
    • 谷歌
    • 必应
    • 推特
    • Yandex
    • (其他几个我不记得了)

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

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

    【讨论】:

    • 我唯一担心的是我的视力可能会因为试图“欺骗”他们而被 Google 列入黑名单...
    • 只要页面上包含用户在浏览器中加载时会出现的所有数据,这应该不是问题。我们的页面包含图片、链接等,只是在一个无样式的 html 页面中。
    【解决方案2】:

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

    您可以在开发过程中使用卡片的预览工具测试您的结果。

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

    【讨论】:

      猜你喜欢
      • 2013-02-11
      • 1970-01-01
      • 1970-01-01
      • 2018-04-06
      • 1970-01-01
      • 2012-04-06
      • 2014-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多