2016-07-31 34 views
1

我將我的Blogger用作SPA網站。用戶可以將帖子分享到Facebook。 每個帖子在請求URL中由?id = {posts_id}相同,{post_id}由Javascript解析,並從JSON數據中查找帖子。Blogger在meta標籤中顯示當前完整網址

但Facebook共享爬行程序不支持SPA站點讀取其og:標籤。 因此,我們需要使用Facebook Crawler從另一個URL中讀取og:標籤。

我嘗試了很多方法來使Blogger響應HTML與href =「」包含完整請求的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'/> 

有沒有什麼辦法讓博客顯示完整請求的URL,從HTML響應代碼?

感謝提前

回答

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將是唯一的ID博客分配給每個崗位。這將只在郵政頁面上呈現。

爲了使靜態網頁這項工作,添加以下代碼,以及到模板 - 利用頁面ID

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

要抓取網頁內容的數據,發送到以下端點的請求 -

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

更換BlogIDPageID與實際值