Twitterで自分のブログ記事のURLを書いてツイートすると、アイキャッチが大きな画像で表示されます。
ツイート時に表示される画像のことを『Twitterカード』と言うのですが、アイキャッチを新しいものに更新した直後に記事のURLをツイートすると、Twitterカードが古いアイキャッチのままということがあります。
Twitterカードが古いのは、Twitter側に原因がある
Twitterカードに古い画像が表示されてしまうと
と思ってしまいがちですが、(ちゃんとアイキャッチに新しい画像を選んでいれば)実はこれはTwitter側のキャッシュが原因です。
古いアイキャッチの時に一度URLをツイートするとTwitterカードが生成され、その画像データがキャッシュとしてTwitterに残っています。
そしてアイキャッチを新しいものに変更して再度ツイートした時に、古いキャッシュが表示されてしまうのです。
Twitterにはキャッシュを削除できるページがある
そんな時はTwitter側が提供している「Twitterカードのキャッシュを削除できるページ」を使ってみてください。
「Card validator」というページ名ですが、Twitterの中のサービスの1つです。
https://cards-dev.twitter.com/validator
使い方は簡単。
- ページ内の「Card URL」の部分に、Twitterカードのキャッシュを消したい記事のURLを入力する
- 「Preview card」と書かれた青いボタンを押す
以上です。簡単すぎますね。
画面右側に新しいTwitterカードが表示されたら成功です。
もしTwitterカードが更新されていない場合は、もう一度「Preview card」のボタンを押してみてください。
画像が更新されない場合
古いアイキャッチ画像と新しいアイキャッチ画像のURLが一緒である場合、上記の方法ではキャッシュがクリアされない場合があるみたいです。
そんな場合は、以下のようにアイキャッチ画像を指定するコードの画像名の後ろに「?」と適当な数字をつけてみてください。
<meta name=”twitter:image:src” content=”http://sample.com/eyecatch.jpg?7394876026″ />
この「?」と数字のパラメーターが、新しい画像を新しい画像として認識させる役割を果たしてくれるそうです。
それでも画像が更新されない場合
ここまでやっても画像が更新されない場合もあるようで、この場合は「少し待ってみる」しか方法はないようです。
最長で1週間ほど待てばTwitter側が新しくキャッシュを生成するようになるそうなので、少しもどかしいですが新しい画像が出るようになるまで待ちましょう。