よくある原因
OGP画像更新の問題を相手に伝えるとき、「画像が古いです」だけでは相手が何をすればよいかが分からない。多くの場合、原因はSNSプラットフォーム側のキャッシュか、相手のアプリのキャッシュかのどちらかで、操作方法が異なるため「どちらの問題か」を判別できる確認手順をセットで伝える必要がある。
「更新したはずなのに古い画像が表示されます」という問い合わせをスタッフや外部パートナーから受けた場合、まず「シークレットモード(プライベートブラウジング)で同じURLを開いてみてください」と依頼するだけで解決するケースが多い。シークレットモードはブラウザキャッシュをバイパスするため、サーバー側の更新が正しく反映されているかを確認できる。
- 相手がログインなしで開ける状態か確認する
- PCとスマホで最低1回ずつ表示を確認する
- 内部情報・個人情報・不要な外部送信が残っていないか見る
- レビュー期限と修正時の差し替え方を決めておく
自分側で確認すること
依頼文を送る前に自分自身がFacebookシェアデバッガーでキャッシュをリフレッシュしておく。デバッガーで「最後にスクレイピング」の日時が更新され、og:imageプレビューが最新の画像になっていることを確認してから依頼文を送ると、相手が確認した時点ですでに最新のOGPが表示されている状態を作れる。
相手のSNSアカウントや利用デバイスを事前に把握しておくと依頼文の精度が上がる。FacebookユーザーかTwitterユーザーかによってキャッシュリフレッシュの方法が異なり、スマートフォンのアプリとPCブラウザでも操作が違う。相手の環境が不明な場合は「スマートフォンまたはPCブラウザのシークレットモードで確認してください」と両方を記載すると安全だ。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
相手側で確認すること
Slackでの確認依頼の場合、「該当のURLをシークレットモードのブラウザで開いてURLをコピーし、Slackの別のメッセージに貼り付けて表示されるプレビュー画像を確認してください」という手順を伝えると、相手がキャッシュを経由せず最新のOGP情報を取得できる。
LINE経由で確認してもらう場合、LINEはOGPキャッシュを長く保持する傾向があり、URLの末尾に`?t=1`などのパラメーターを付けることで別URLとして認識させてキャッシュをバイパスできる。依頼文に「末尾に?t=1を付けたURLで確認してください(例:https://example.com/page?t=1)」と具体例を示すと相手が迷わない。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
再発防止の運用
OGP確認依頼のメッセージテンプレートを社内Wikiやスラッシュコマンドとして保存しておく。SNS用・Slack用・LINE用の3種類を用意し、担当者が毎回文章を考えなくてすむようにする。テンプレートには「シークレットモードで確認」「URLに?t=1を付けて確認」の2パターンの手順を含め、受信者の状況に合わせてコピペできる形にしておくと対応時間を短縮できる。
外部公開するページのOGPを更新したタイミングで、更新内容と確認済みのキャッシュリフレッシュ日時を記録する運用ログを設ける。次にOGP画像更新の問題が発生したとき、どのURLでいつ更新したかをログから辿れると原因特定が早い。Notionや簡単なスプレッドシートで「URL・更新日・デバッガー確認日・OGP画像URL」の4列を管理する程度で十分だ。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
よくある質問
OGP画像の更新確認を依頼するとき、相手がSNSに慣れていない場合はどう説明しますか?
「URLの末尾に?v=2を付けてブラウザで開き、表示される画像を教えてください」というシンプルな手順だけ伝えるのが最も迷わせません。技術的な説明は最小限に絞るのがコツです。
FacebookデバッガーでOGPキャッシュをリフレッシュする操作は誰でもできますか?
Facebookアカウントが必要ですが、ログイン後にURLを入力して「もう一度スクレイピング」を押すだけなので特別な知識は不要です。依頼文に「自分側でデバッガーをかけました」と書くだけで相手が同じ操作をしなくてよくなります。
確認依頼を送るのに適切なタイミングはHTMLの更新直後ですか?
Facebookデバッガーでキャッシュリフレッシュが完了してから送るのが適切です。更新直後は各プラットフォームがまだ旧キャッシュを返すことがあり、相手が確認しても古い画像が見えてしまいます。