みかづきブログ・カスタム

基本的にはちょちょいのほいです。

Twitterカードは投稿後に差し替え可能 🦜

Twitterカードとは

ウェブサイトにTwitterカードの設定をしておくと、タイムラインに投稿された際に展開されます。

Twitterカード

上記の例では、画像やサイト名が展開されてますが、動画を展開したり、iframeを展開したりすることもできるので、なかなかいろんなことができちゃいます。

Twitterカードの設定方法や、種類などは ドキュメントに記載されているので、説明は省きます。

developer.twitter.com

今回は、クロールされたカード情報と更新方法について注目しましょう。


Twitterカードとキャッシュ

ツイッターのタイムラインにURLが表示されるたびにクロールに来るわけではありません。
ドキュメントに、「コンテンツは、カードマークアップのあるページへのリンクがツイートで公開された後、Twitterによって7日間キャッシュされます」とあるように、カードの情報はある程度キャッシュされます。
なので、既にキャッシュされた後のサイトのTwitterカードを更新したとしても、キャッシュをクリアしないと、最大7日間は古い情報が使われてしまうわけですね。


Twitterカードのキャッシュクリア方法

Twitterカードを差し替えた後に、7日なんて待っていられない(大半の場合は待てないと思いますが)、いますぐ反映したい!という場合は、Twitterの保持しているキャッシュを削除する必要があります。
特にドキュメント上で記載が見つからないのですが、バリデータをつかってプレビューを表示するとキャッシュがクリアされるので、急いでいる場合はこちらを使いましょう。

https://cards-dev.twitter.com/validator

おそらくですが、プレビューを表示する際にキャッシュではなく本体を見にいく必要があるため、ついでにキャッシュを更新知ってくれるんだと思われます。


キャッシュが更新された際の挙動

キャッシュを更新した際の挙動として面白いなと思うのは、既に投稿済みのツイート内のカードも更新されるという点です。これはFacebookには見られない挙動ですね。

before

こちらが、このブログのURLを投稿したツイートなんですが、

after

カードを差し替えてバリデートを掛けると、投稿後のツイートでもしっかり表示が更新されました。

なにかに使えそうな仕様なんですが、まだ有効な使い道を思いつきません。
強いてあげるのであれば、サイトが炎上して、めちゃめちゃURLが拡散されたときに、謝罪の文章をカードに設定すれば鎮火できるかもしれないですね。^ ^