Blogger在元标记中显示当前的完整网址

时间:2016-07-31 07:52:15

标签: facebook web-crawler blogger sharing

我将Blogger用作SPA网站。用户可以分享到Facebook的帖子。 每个帖子在请求URL中都是相同的?id = {posts_id},{post_id}由Javascript解析,并从JSON数据中查找帖子。

但Facebook共享抓取工具不支持SPA网站读取他们的og:标签。 因此,我们需要使用Facebook Crawler来读取来自其他URL的og:标签。

我尝试过多种方式使用href =""制作Blogger响应HTML包含完整请求的URL。

这是我的尝试:完整的网址是:www.abc.com/2016/07/31.html?id = 1

    <link expr:href='data:blog.url' rel='opengraph'/> 
Will generate with HTML
    <link href='www.abc.com/2016/07/31.html' rel='opengraph'/>

有没有办法让Blogger从HTML响应代码中显示完整请求的网址?

感谢您提前

1 个答案:

答案 0 :(得分:0)

如果您正在使用Blogger发布的新主题(请参阅this)。然后,您可以使用以下代码来实现您的需求 -

<b:if cond='data:view.isPost'>
    <link expr:href='data:blog.url + "?id=" + data:view.postId' rel='opengraph'/> 
</b:if>

这将生成表单的URL -

www.abc.com/2016/07/post-title.html?id=PostID

PostID将是Blogger为每个帖子分配的唯一ID。这将仅在帖子页面上呈现。

要在静态页面上进行此操作,请将以下代码添加到模板 -

<b:if cond='data:view.isPage'>
    <link expr:href='data:blog.url + "?id=" + data:view.pageId' rel='opengraph'/> 
</b:if>

要使用页面ID获取页面内容的数据,请将请求发送到以下端点 -

https://www.blogger.com/feeds/BlogID/pages/default/PageID?alt=json

BlogIDPageID替换为实际值