WordPressをFacebookのデバッガにかけてog:localeのエラーが出た際に解決できるかもしれない方法

Sponsored Link

しばらく更新をおやすみしていました。
が、実はこのブログ、ちょっと前からFacebookのデバッガでエラーが出るようになっていることには気がついていました。

エラーメッセージを見るとog:localeに問題があるようですが、調べてみるとこの春先にFacebook側の仕様変更があったという情報を目にしました。
真偽の程はわかりませんが、確かにその頃からエラーになっていた気がします。
locale_err

ブログの更新再開の前にすっきりさせてしまおう!ということで直してみました。
同様の症状の方、ご参考にどうぞ。

Sponsored Link

エラーと判定される理由は上記の通り分かっているので、取り敢えずog:localeのメタタグの出力を見てみると、

<meta property="og:locale" content="ja">
<meta property="og:locale" content="ja_JP">

と2つ出力されていて、エラーにならなくても直したい状況になっていました・・・。

このブログのOGPの出力は現在はプラグインWP Facebook Open Graph protocolに任せています。
で、このプラグインのソースをこんな風に直接いじりました。

echo '<meta property="og:locale" content="' . strtolower( esc_attr( get_locale() ) ) . '">' . "\n";

↓↓↓↓

echo '<meta property="og:locale" content="ja_JP">' . "\n";

つまりかなり乱暴ですがえいや!と、og:localeの出力をリテラルに指定したところ、成功と。

試しに元のソースに戻してデバッガにかけてみると、今度はog:localeの出力はja_JPの一つだけですが、また別にエラーが出ているので他にも要因があるのかもしれませんが、今のところはOKな様子です。


いろいろと仕様の謎変更が多いFacebook、いざというときは自分でブログシステムをいじる必要もある感じです。

※本エントリ記述時のWP Facebook Open Graph protocolのバージョンは2.0.5、WordPressのバージョンは3.3.2です。

※WP Facebook Open Graph protocolのバージョンは2.0.6にアップデートされましたが、私の環境ではこのエラーに関してはなんの変化もありませんでした・・・

Sponsored Link

コメントを残す