2016-07-31 19 views
1

私はBloggerをSPAサイトとして使用しています。ユーザーはFacebookに投稿を共有することができます。 各投稿はリクエストURLの?id = {posts_id}で同一です。{post_id}はJavaScriptで解析され、JSONデータから投稿が検索されます。Bloggerはメタタグの現在の完全なURLを表示します

しかし、Facebook共有クローラは、SPAサイトでog:タグを読み取ることをサポートしていません。 したがって、別のURLからog:タグを読み取るためにFacebook Crawlerを作成する必要があります。

href = ""に完全なリクエストされたURLが含まれているため、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'/> 

は、ブロガーからの完全な要求されたURLを表示させる方法はありますHTMLレスポンスコード?

おかげで、事前

答えて

0

あなたがブロガーでリリースされた新しいテーマを利用している場合のために(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となります。これは投稿ページでのみレンダリングされます。

静的なページでこの作業を行うために、テンプレートにも同様に次のコードを追加します -

<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を交換

関連する問題