Facebookにブログのリンクを貼るときogimageプレビューが表示されないときの対処法
FacebookにブログのURLなどを貼り付けるとき、以前はプレビュー画像(og:image画像)がすぐに表示されていました。
が、去年の秋くらいからプレビューが表示されないことが多くなりました。どうやら、そのURLに対して一発目のフェイスブックの書き込みタイミングではフェイスブック側が一度も該当サーバーにアクセス(スクレイピング)してないからのようです。
facebookデバッガーで調べるとわかります。
自分も含め誰もそのURLを一度もシェアしてないと
このURLはまだFacebookでシェアされていません
と表示されます。この状態だと画像プレビューが表示されない仕様に変わったよです。仕様変更以前は、facebookの書き込み欄にURLを入れたタイミングでスクレイピングしてたけど、今はそれが無くなった模様。
フェイスブックにOGPイメージが表示されないときの一時的な解決方法
1.facebookデバッガーをひらく
2.
デバッガーにURLを入れる
3.「新しい情報を取得」ボタンをクリック
これでフェイスブック側のサーバーにog:imageの画像が取得され、フェイスブックの投稿時に画像がすぐに表示されます。
フェイスブックにOGPイメージを一発で表示させる"og:image:widthとog:image:heightタグ
毎回手作業でデバッガー開くのも面倒なので、恒久的に一発で画像を表示させるにはog:image:widthとog:image:heightタグをヘッダに入れると解決します。
上図の赤字の部分です。あ、このブログ、HTMLタグを書けないんで画像ですいませんw
og:imageで指定されている画像の横幅をog:image:widthで、高さをog:image:heightでピクセル指定するとフェイスブックの書き込み画面で一発で画像が表示されます。
og:image:widthとog:image:heightを自動で指定するにはPHPのgetimagesizeを使います。
$imagesize = getimagesize(調べたい画像のURL);
で$imagesize配列の0に幅、1に高さが帰ってくるので
↓以下の感じで自動化できます。たびたびですがHTMLタグを書けないんで画像ですいませんw
カテゴリ:PC・スマホ・WEBネタ