BloggerのページでTwitterCardの画像を表示する方法。
どうも、ケーサンヨーシです。
今回はBloggerのページ機能でTwitterCardを設定する方法を紹介します。
Bloggerにはブログとは別にページという機能があります。
ブログは、日々起きた内容を記載する名前通りログなので、例えば自分のやっている別サービスの紹介など、固定で表示したい内容には向いていません。
このような場合に使用するのがページです。
以前このブログてもBloggerにTwitterCardの設定をする方法を紹介しました。
https://boukyakulog.blogspot.com/2020/02/bloggertwittercard.html
この方法ではブログ内の画像をイメージとして表示することができますが、ページ機能の場合にはデフォルトの画像がイメージとして表示されます。
これを改善して、ページのTwitterCardを表示した場合にはページ内の画像がイメージとして表示されるようにしました。
詳しくは前のブログを見て欲しいですが、レイアウトタブでHTMLを編集します。
このHTML無いの<head>ダグの中に以下を挿入します。
<!--START Twitter Card -->
<meta content='summary' name='twitter:card'/>
<meta content='@kesanyoshi' name='twitter:site'/>
<meta content='@kesanyoshi' name='twitter:creator'/>
<meta expr:content='data:blog.homepageUrl' name='twitter:domain'/>
<b:if cond='data:blog.pageType == "item"'>
<meta expr:content='data:blog.canonicalUrl' name='twitter:url'/>
<meta expr:content='data:blog.pageName' name='twitter:title'/>
<b:else/>
<meta expr:content='data:blog.homepageUrl' name='twitter:url'/>
<meta expr:content='data:blog.pageTitle' name='twitter:title'/>
</b:if>
<b:if cond='data:blog.postImageUrl'>
<meta expr:content='data:blog.postImageUrl' name='twitter:image'/>
<b:elseif cond='data:view.featuredImage'/>
<meta expr:content='data:view.featuredImage' name='twitter:image'/>
<b:else/>
<meta content='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM6YJluXAxp-Xzi2sLGxGoEm7XM8g-mGlS3-DaU8hWpkktC_s0B-PydfszxfTBBfEyxHIADGWHVItuxy3kx2CbTwExXHevk6H3TlEjnYWSCbXSaNiCDkV0QnzKWGb82RK2LE7722c0viM/s113/icon%25E8%2583%25B8%25E5%2583%258F.png' name='twitter:image'/>
</b:if>
<b:if cond='data:blog.metaDescription'>
<meta expr:content='data:blog.metaDescription' name='twitter:description'/>
</b:if>
<!--END Twitter Card -->
赤い部分は表示するTwitterのアカウントIDを挿入して下さい。
橙色の部分は、ブログやページの記事の中に画像がない場合に表示するデフォルトの画像のURLを入れて下さい。
試す際は以下のTwitterCardテストツールで行うことが多いかと思いますが、ブラウザのキャッシュが残っていると上手く表示されないので、シークレットモードを使うなどしてキャッシュが残らないようにしてください。
https://cards-dev.twitter.com/validator
以上、ケーサンヨーシでした。