ブログ(WordPress)のTwitterカードをプラグイン無しで設定する方法
こんにちは、ゆき(@Yuki_no_yabo)です!
ブログの記事の更新通知をTwitterで公開したいのに、周りの人がやっているようなサムネイル付きの表示にならず、URLだけが表示されている…なんてことはありませんか?
下みたいなやつをやりたいのに、自分のはURLしかでない…という方向けに設定方法を解説します!
Amazon純正スマートプラグのレビュー。
— ゆきの野望 (@Yuki_no_yabo) July 17, 2020
個人的には電力消費量が計測出来て、定価が少し安いSwitchbotスマートプラグを推したい。
設定の簡単さはAmazon純正スマートプラグがアレクサアプリで完結するので少し有利だけど。
https://t.co/HSA3vlCh7b
ちなみにこれはTwitterカード(ツイッターカード)といいます。
目次
Twitterカードとは?設定するメリットは?
Twitterカードは、Twitterでブログの記事のURLを埋め込む際に、サムネイル画像とセットのボタンとして表示されるサービスです。
事前に自分の持つブログ側で設定しておく必要があります。
Twitterカード登録前に調べておかないといけないこと
Twitterカードの登録は、Wordpressのメタタグ(<head></head>の中に記述するタグ)にいくつか記述を追加することで実現可能です。
Twitterのデベロッパードキュメントによれば、必要な情報は次の通りです。
メタタグ | 説明 | 設定例 |
---|---|---|
Twitter:card | Twitterカードのタイプ"summary"または"summary_large_image"。 | summary |
Twitter:site | Twitterのユーザーネーム | @Yuki_no_yabo |
og:url | 記事のURL | 記事毎のURL |
og:title | 記事のタイトル | 記事毎のタイトル |
og:description | 記事の概要 | 記事毎の記事の抜粋(description) |
og:image | 記事のイメージ画像 | 記事毎のイメージ画像 |
Twitter:cardはカードの形状を示しています。summaryだと画像が小さめで、summary_large_imageは画像が大きく表示されます。僕が上の画像で使っていたのは、summaryの方です。
Twitter:siteはTwitterのユーザーネームです。あなたのIDを設定してください。
Twitter:titleとTwitter:description、Twitter:imageの3つは記事毎に内容を変更する必要がありますが、こちらを自動的に設定する方法を次に紹介します。
なお、最近のブログテーマであればTwitterカードはおおむね自動的に作成されるようになっていますが、無い場合は次の方法を試してみてください。
WordPressテーマのヘッダーエリアにメタタグを追加する
Twitterカードを設定するには、Wordpressのテーマの中で、これからご紹介するメタタグを追加します。
ブログテーマごとに異なるので、<head></head>内の記述方法については、利用しているテーマでの記述方法を調査してください。
必ず<head></head>タグの中に収まるように追記してください。
尚、個別の記事の中だけにメタタグを追加するようにwordpressの関数であるis_single()で個別の記事かどうかを確認しています。
<?php if(is_single()): ?> <meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@Twitterのユーザ名" /> <meta property="og:url" content="<?php the_permalink(); ?>" /> <meta property="og:title" content="<?php the_title(); ?>" /> <meta property="og:description" content="<?php echo the_exerpt(); ?>" /> <meta property="og:image" content="<?php if(has_post_thumbnail( $post->ID )): $thumbnail_id = get_post_thumbnail_id(); $thumbnail_img = wp_get_attachment_image_src( $thumbnail_id , 'thumbnail' ); echo $thumbnail_img[0]; else: echo "イメージがない時に表示する画像"; endif; ?>" /> <?php endif; ?>
以下のタグはそのページのタイトルを呼び出しています。
<meta property="og:title" content="<?php the_title(); ?>" />
以下のタグでは、投稿記事の要約を取得しています。
<meta property="og:description" content="<?php echo the_exerpt(); ?>" />
イメージタグはサムネイルを取得するようにしています。サムネイルがない場合には指定した画像を表示するように設定していますが、Twitterも画像がない場合の画像があるので、お好みで。
<meta property="og:image" content="<?php if(has_post_thumbnail( $post->ID )): $thumbnail_id = get_post_thumbnail_id(); $thumbnail_img = wp_get_attachment_image_src( $thumbnail_id , 'thumbnail' ); echo $thumbnail_img[0]; else: echo "イメージがない時に表示する画像"; endif; ?>" />
画像は””の中にhttps://~から始まる画像のフルパスを設定しましょう。
画像のURLは次のように、メディアライブラリの中の対象画像ファイルを選択し、ファイルのURLから取得することができます。
以上を記述したheader.phpをサーバにアップロードすれば完成です。
Twitterカードが設定できているかを確認する
TwitterのDeveloperサイトにアクセスして、Card validatorで表示内容を確認します。
アクセスすると次のような画面になるので、Card URLの所に確認したい記事のURLを入力しましょう。
下記のように表示されれば成功です。画像の反映には時間がかかるので、もし画像が表示されないのであれば暫く待ってからアクセスしましょう。
あとはツイッターでつぶやくときに、記事URLと伴に呟くだけで上記のようなTwitterカードが自動的に挿入されますよ!(*´ω`*)
まとめ
最近の最新のWordpressテーマにはTwitterカードの設定はデフォルトで付いているので、中々上記のような設定をすることは少ないかもしれません。
まずはあなたの利用しているテーマでTwitterカードの設定が可能か調べてみてくださいね!
以上っ!
ディスカッション
コメント一覧
はじめまして。
ゆきさんの情報を参考にtwitter cardを設定してみましたが、何度Card validatorで投稿サイトを確認しても以下のようなエラーがでます。
INFO: Page fetched successfully
INFO: 29 metatags were found
INFO: twitter:card = summary_large_image tag found
ERROR: Required meta tag missing (twitter:text:title)
もし理由がわかればご教授願えませんでしょうか?
>>のぶ様
ご連絡ありがとうございます。
エラーの原因はコードが古いことでした。
新しいバージョンに対応しましたので、再度記事の内容をお試しいただけますでしょうか?