OGPは便利ですが、一度間違えるとキャッシュをクリアしないと修正できません。キャッシュのクリアでトラブルに遭遇しましたので、書き留めておきます。
OGPとは
OGP(Open Graph Protocol)とは、ウェブページの内容をFacebookやGoogle+などに知らせるための仕様です。
OGPを設定したウェブページのリンクをFacebookなどに投稿すると、ウェブページのURL、ページタイトル、サムネイル、ウェブページの説明が表示されます。
「いいね!」されたときも、「○○さんがリンクについて「いいね!」と言っています。」という言葉だけではなく、ウェブページのURL、ページタイトル、サムネイル、ウェブページの説明も表示されます。
OGP情報のキャッシュのクリア
このように便利なOGPですが、一度Facebookに投稿した後に、ページタイトルやサムネイルを修正してもすぐには反映されません。
Facebookにキャッシュされているためです。
そのために、キャッシュをクリアする必要があります。
キャッシュのクリアは次のように行います。
デバッガー
Facebook公式デベロッパーツールの「デバッガー」というページに行きます。
この「Input URL, Access Token, or Open Graph Action ID」の欄にウェブページのURLを入れて、「デバッグ」のボタンを押します。
これで、クリアされるはずです。
【2016年1月31日追記】
デバッガーの仕様が変わっています。キャッシュのクリアについては次の記事をご覧ください。
【ここまで2016年1月31日追記】
うまくいかない場合がある
「はずです。」と書いたのは、うまくいかないことがあったためです。
先日、URLを入れてボタンを押したところ次のようなエラーが表示されました。
「解決する必要があるオープングラフの警告」に、”Parser Mismatched Metadata”として、”The parser’s result for this metadata did not match the input metadata. Likely, this was caused by the data being ordered in an unexpected way. multiple values being given for a property only expecting “と表示されています。
この状態で、Facebookにリンクを投稿しても、リンクしか表示されません。
何度かやり直しましたが、結果は変わりません。時間がたってキャッシュがクリアされるのを待つしかないと思い、翌日やってみました。
翌日になると、きちんと表示されるようになりました。
今回は、一度Facebookに投稿した後に、”Title” と “Description” を修正しました。2ヶ所を修正したために発生した現象かどうかは、はっきりわかりません。