こんにちは、岩﨑将史(まさふみ)です。
先日、Familleのライブ告知をThreadsに投稿したときのことです。予約ページのURLを貼ったら、リンクカードの画像がなぜか自分のプロフィール写真のまま表示されてしまいました。

結論から言うと、原因はMeta系SNS(Threads/Facebook/Instagram)が持っているOGP画像のキャッシュでした。対処法は2つあり、どちらも数分で終わります。
何が起きたか
ライブ告知バナーをアイキャッチに設定したページのURLをThreadsに貼ったのに、表示されるのは古い画像(このケースではプロフィール写真)。ページ自体を確認してもアイキャッチは正しく設定されている。それでもThreads上では反映されない、という状態でした。
なぜ起きるのか
Threads・Facebook・InstagramはいずれもMeta社のプラットフォームで、外部URLのOGP情報(タイトル・説明文・画像)を一度取得すると、しばらくキャッシュとして保持します。ページ側でアイキャッチ画像を変更しても、Meta側のキャッシュが古いままだと、リンクカードには反映されません。
同じURLに一度でもアクセス履歴(他の投稿・別の人の投稿含む)があると、このキャッシュに引っかかりやすくなります。
解決策① Facebook Sharing Debuggerでキャッシュを強制更新する
Meta各サービスのOGPキャッシュは、Facebook提供の「Sharing Debugger」というツールから手動で更新できます。
- Facebook Sharing Debuggerにアクセスする(https://developers.facebook.com/tools/debug/)
- 対象のURL(今回なら予約ページのURL)を入力する
- 「もう一度スクレイピングする」ボタンを押す
- プレビュー画像が正しいものに切り替わったことを確認する
これでThreads側のキャッシュも更新され、正しい画像でリンクカードが表示されるようになります。

解決策② URLにクエリパラメータを付けて別URLとして認識させる
Sharing Debuggerを使わずに済ませたい場合は、URLの末尾に ?t=1 のようなクエリパラメータを付ける方法もあります。
https://example.com/page/ → https://example.com/page/?t=1
見た目は同じページですが、Meta側からは「別のURL」として扱われるため、新規にOGP情報を取得しに来ます。キャンペーンごとに ?t= の数字を変えれば、毎回まっさらな状態でシェアできます。
ただし、この方法はURLが本来のものと変わるため、アクセス解析でのURL管理が煩雑になる点は注意が必要です。基本は解決策①、急ぎのときは解決策②という使い分けがおすすめです。
補足:Threadsは外部リンク投稿がリーチを抑制されやすい
これは今回の本題からは少し外れますが、Threadsでは本文に外部URLを直接貼ると、リーチ(表示回数)が抑制される傾向があると言われています。
対策として、投稿本文にはURLを貼らず、「詳細・ご予約はこちら」のような案内文だけを書き、リプライ(スレッドの返信)としてURLを追加する方法があります。本文とリンクを分離することで、投稿自体のリーチを保ちながら、リンク先へも誘導できます。
まとめ
- ThreadsでOGP画像が正しく表示されない原因は、Meta系プラットフォームのOGPキャッシュ
- Facebook Sharing Debuggerで「もう一度スクレイピングする」を実行すればキャッシュを強制更新できる
- 急ぎのときはURLに
?t=1のようなクエリパラメータを付けて別URL扱いにする - 外部リンクをThreads本文に直接貼るとリーチが落ちやすいので、リプライにリンクを分離するのも一つの手
同じような場面で困っている方の参考になれば嬉しいです。






コメント