4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TwitterのOGPが地獄だった

Last updated at Posted at 2023-04-21

前提

画像の指定には、「Twitter:image」ではなく、「og:image」を使っています。

OGP画像の差し替え

URIはそのままに、画像だけを差し替えたらエライ目に遭ったので、記録しておきたい。

端的に言ってしまえば、画像だけを差し替えても、Twitter側のキャッシュがそのままになってしまい、画像が一向に差し替わらないのだ。

調べてみると、Twitterのリンク(画像の変更等)が更新・反映されない⇒OGPのキャッシュクリアで解決のようなページが引っかかり、Card ValidatorというTwitterのサイトを使えば多少時間はかかっても1時間程度でキャッシュクリアがなされるように書いてあるが、こちらもアテにならない。

キャッシュクリアの操作(?)を行い、半日経ったが、表示される画像は古いもののままだ。

画像URLに日時クエリを追加する

Twitter公式のトラブルシューティングガイドによると、URL短縮サービス「bit.ly」に、URLにクエリ文字列を追加したものを短縮し、そこにアクセスすることでTwitter側に更新のヒントを与えることができる、というようなことが書いてあって、実行したが、効果はなかった。

また、「og:image」で指定している画像URLに日時クエリを追加することもやってみたが、特に効果はなかった。
これは例えば、画像URLを https://example.jp/img/ogp.png からhttps://example.jp/img/ogp.png?1682035478 にするようなものだ。

最悪、最大7日待つしかない?

上記サイトには、「Twitter の Web クローラーは、およそ 7 日ごとにページのカード タグ情報を再インデックス化します。」(the web crawler re-indexes the meta information on your tag roughly every seven days.)というようなことが書いてあり、最悪の場合は およそ 7日、再インデックス化を待たなければいけないようだ。

とりあえず新規画像が表示されるようにする方法

新規Tweet画面で、クエリインデックスを含むURLを記述すること。 https://example.jp/ がURLだとしたら、 https://example.jp/?1682035478 のような、「?」の後に適当な数字や文字なりを入れてしばらく待つ。これで新規画像が表示されたら、後はインデックスが更新されるのを待つしかない、と思われる。

結局、15時間後に更新された

20時に画像を差し替えて、翌朝8時の時点でまだ前の画像が表示されていましたが、
朝11時の時点でもう一度確認したら新しい画像が出てきました。
個人的なベンチマークとしては更新に必要な時間は「15時間」ということにしようと思います。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?