X(旧Twitter)にURLを投稿時に、サイトのサムネイルを表示する方法。
Twitter Cardについて。
関連ページ
参考URL
大手サイトのURLをXに投稿する時、大抵そのページのサムネイルと説明文が自動的に表示されます。
調べてみて、HTMLにTwitterCardのコードを追加することで同じようにサムネイルの表示ができたのでそのメモ。

サムネイルの実例
例えば大手ゲーム情報サイトAutomatonの記事をXで投稿すると、下のようにURLが勝手にページサムネイルに変換されます。
しかし自分のサイトのURLを貼っても、そのままURLが表示されるだけでした。
適切にHTMLのheader部分に
TwitterCard
を指定することで、下のようなサムネイル表示が可能になります。

サムネイルの実装
TwitterCard
実装前と実装後のheadタグ付近の違いを比較してみます。
下は実装前。
下は実装後。赤枠で囲んだ部分が変更部分。
まず最初に、htmlタグ部分に下のような
OGPタグ
を追加しています。
<html lang="ja" prefix="og: http://ogp.me/ns#">
OGPはX、FacebookなどSNSアプリに向けた汎用機能で、これを利用することでサイトに対する解説を自動で挟むことができます。
続いてmetaタグ部分を見ていきます。
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@engineer_note" />
<meta name="twitter:creator" content="@majimaji" />
<meta property="og:url" content="https://unity-engineer.top/note?id=H0004" />
<meta property="og:title" content="Twitterでサイトのサムネイルを表示" />
<meta property="og:description" content="X(旧Twitter)にURLを投稿時に、サイトのサムネイルを表示する方法。Twitter Cardについて。" />
<meta property="og:image" content="http://unity-engineer.top/images/section/H0004.jpg" />
各要素の概要が次の通り。
最初の
twitter:card
部分には、
"summary"
もしくは
"summary_large_image"
を指定できます。
最初にサムネイルの実例で示した、前者の画像が
"summary"
、後者の画像が
"summary_large_image"
になります。
twitter:card
に
summary
を指定した場合、アスペクト比は1:1に、
summary_large_image
の場合はアスペクト比が1:2になります。
Xの場合、
og:image
には最小300x157ピクセル、最大4096x4096ピクセルまで指定できます。
og:image
に指定した画像のアスペクト比が、
twitter:card
で指定したアスペクト比と異なる場合、自動でトリミングされます。

TwitterCardをテストする
HTMLのTwitterCardの設定が正しいかどうか最低限のチェックするには
Card validator
を使います。
Xにログイン状態で上のURLにアクセスすると、TwitterCardのテスト画面が開きます。
チェックしたいURLを入力した上で、
Preview card
のボタンを押すとテストが走ります。
重要なのは右下の
Log
部分で、ここに赤い文字が表示されていなければチェックOKです。
昔はCardPreviewの部分に実際のプレビューイメージが表示されたらしいですが、現在はユーザー環境によって見え方が異なるという理由で表示されません。
注意点として、このLogのチェックを通ってもまだXに反映されない事があります。
更新したHTMLをサーバにアップロードしても、実際にXに反映されるまでは5分10分のタイムラグが存在します。
0
0