かつてはTwitter Card Validatorから削除できたけど、2022年の夏頃にプレビュー機能がなくなって、それに伴いValidatorからのキャッシュ削除もできなくなっていたと思う。
じゃあどうすればTwitter(X)から古いカードのキャッシュをクリアして、最新のカードを表示できるのかというと...実はTwitter(X)のDeveloper Platformで解説がある。
詳しくは読めば分かると思うけど、ざっくりやり方を書くならこう。
- キャッシュクリアしたいURLの、短縮URLを何らかのサービスを用いて作る
- 短縮URLをツイートする(試した感じからして、ツイートする直前...つまり短縮URLが載ったツイート本文を書いたところまででも大丈夫そう)
- 完了! 短縮URL経由で元のサイトにTwitterのクローラーが再訪することで、元のURLでも最新のカードを得られる
さらに、これは自分の経験談だけど、それでも最新化されないなら、次のアプローチも試すといいと思う。
- キャッシュクリアしたいURLにタイムスタンプ等の適当なパラメータをつけた状態で、短縮URLを生成
- 前述と同じく、生成した短縮URLでサイト再訪
- これで「 パラメータ付きの 元サイトのURL」がキャッシュクリアされたはずなので、そのパラメータ付きのURLで投稿
これは例えば、 https://revisnote.com/stories/blog/ready
を https://revisnote.com/stories/blog/ready?1711079822944
に変えた上で短縮URLを生成して…という感じ。
後者のアプローチが必要になるのは、試して見たところ、短時間で連続して元サイトのURLの短縮URLを利用したキャッシュクリアを複数回行った場合のような気がする。一度キャッシュクリアしたいだけなら、前者の方法だけでなんとかなるケースが多そう。
余談
ちなみにQiitaのカード情報は短縮URLでクローラに再訪させて...といったことは必要なく、単にタイムスタンプ等のクエリパラメータを付与すれば新しいOGPを取得してくれる模様。
...という話を少し前にこちらも備忘録として書きました。
著者プロフィール
いつもはAWSのサーバレスアーキテクチャ界隈をよくいじっています。日報SaaSも作っていて、開発ブログのようなものも公開してます。個人開発仲間が欲しいので、興味のある方声かけてください〜!