【问题标题】:Facebook meta tags not working for AJAX websiteFacebook 元标记不适用于 AJAX 网站
【发布时间】:2011-10-22 23:37:09
【问题描述】:

我有一个 100% 的 ajax webapp,但我遇到了以下问题。 我的网站生成动态内容,每个 ajax“页面”都有一个赞按钮 动态生成。需要明确的是,他的链接是“...#subpage”,用户可以点赞 “...#子页面”。但是,我希望可以预览该内容。

我已经放置了适当的元标记(og:image、og:url 等)但是,在 facebook链接调试器(http://developers.facebook.com/tools/debug)它总是说标签处于初始状态(就像在纯html页面中一样,没有ajax)。

所以问题是,如何使元标记为 facebook 链接动态工作

【问题讨论】:

  • 您需要使用服务器端代码(例如 php 或 aspx)使元标记动态化。问题是 ajax 是客户端,包括 facebook 在内的大多数网络蜘蛛都不会运行和渲染 javascript,它们只读取元数据和 html。

标签: html ajax facebook facebook-opengraph


【解决方案1】:

最好为页面提供自己的 URL。您可以使用.htaccess 之类的服务器端方法将http://yourdomain.com/birds/bees 之类的URL 重定向到http://yourdomain.com?page=birds&subpage=bees。这样您的内容就变得可搜索、可访问和可收藏。

您可以使用 HTML5 历史 API (http://html5demos.com/history) 使用当前 URL 更新地址栏,而无需重新加载页面。您还可以将事件附加到后退按钮,这使您的网站更加用户友好。

当您更新地址栏时,您也可以使用 Javascript 来更新元标记,因此 Facebook 点赞按钮会喜欢“正确”页面。

HTML5 History API 适用于所有现代浏览器,Internet Explorer 是唯一不受支持的浏览器。

【讨论】:

  • 很好的答案,谢谢,但是,如果我没记错的话,搜索引擎往往会通过大量重定向来降级页面。这适用于这里吗?
  • 一点也不。这是一个服务器端重定向,因此向用户显示的页面不会更改 URL。 “重定向”部分发生在页面发送到浏览器之前,因此对 SEO 没有影响。
猜你喜欢
  • 1970-01-01
  • 2019-06-01
  • 2014-05-30
  • 2015-02-18
  • 2017-04-13
  • 1970-01-01
  • 2019-01-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多