takashiskiのブログ

覚書の殴り書き

YouTubeのURLに対してtwitter(現X)でURLプレビューとして表示される内容を最新にする

問題

YouTubeの動画・配信情報に一時的な内容を与えて仮公開し、公開後変更したいということがあります。

例えば、公開まで内容を秘密にするために仮サムネイル・仮タイトルで予定枠を立てることや、そもそもまだ何も決まってないから「決まってません」で予定枠を立てるということが考えられます。 それ以外にも「サムネイル画像・タイトルの内容と実際の配信内容が異なっていたから後で変更しよう」ということもあるでしょう。

そんな「後から変更」をやったときにtwitter(現X、以下twitter)上で表示されるプレビューが最新のものに差し変わらず、古い内容が表示され続けることがあります。

この記事ではこれを問題として、それに関しての調査結果を記載します。

対応の結論

  1. twitterのホームを開く
  2. 新規ツイート入力欄(いまどうしてる?のところ)に更新したいURLを貼り付ける
  3. プレビューに最新の内容が表示されることを確認する

上記の内容で、過去に共有されたURLのプレビューも最新のものに差し変わると考えられます。

理由

twitterにURLを貼り付けたときに表示されるプレビューは「twitter card」という機能です。 twitterがURLのリンク先のページ内に記載されたtwitter card用の情報を読み取り、プレビューとして表示します。 このtwitter cardは常に読み込み直すわけではなく、一度読み込んだらしばらくtwitter全体で使いまわす(キャッシュする)設計になっているようです。

過去には手動で再読み込みを行わせる方法として「twitter card validator」がありました。 しかし、2022年8月ごろに廃止になりました。

現在の対応は以下の開発者向けフォーラム投稿や開発者ドキュメントに記載されているとおりです。

要点だけ記載すると以下の通りです。

  • twitter cardのキャッシュは最大7日間保持される
  • twitter cardを手動で更新したい場合はツイート作成画面(tweet composer)にURLを貼り付けてプレビューを表示する

YouTubeの「共有ボタン」のような、あらかじめ文字列を入力したツイートを生成する機能を使うと、twitter cardに関する情報が存在するURLが存在してもプレビューが表示されない場合があります。 プレビューが表示されなかった場合は、再読み込みが行われません。 そのため、「内容更新した後に共有したのにプレビュー内容が古いまま」ということが発生します。

まとめ

YouTubeの配信・動画情報の更新をしたら、ツイート作成欄にURLを貼り付けてプレビューを表示することでtwitterのURLプレビューを更新できる