このブログはOGPを設定していて、Facebookへの投稿時に、その記事のアイキャッチ画像やタイトル、ページ詳細情報を出すなどの制御をしています。
OGPってなんぞやとか、どうやってWordPressで設定するんだ、といったあたりについては、詳しくはこちらの記事を参考にしてください。
FacebookデバッガでOGPのエラーが出るようになった
ただ、いつからか分かりませんが、FacebookデバッガでOGPのエラーが出るようになりました。
どうも「OGPのタグがダブっているよ」と言われています。
記事中のOGPタグを確認
それでは、記事のソースコードを見てみることにします。
私のブログでは、「All in One SEO」にてOGPを設定しています。
うむうむ、ちゃんとあるね・・・と思いながらコードを眺めていると、さらに下の方を見ると、何やら別のOGP設定があるぞ!?
よくみると、こちらは別のプラグインがOGP設定をしてくれているようです。
コメントを見るからにプラグイン「Jetpack」が設定してくれているようです。
最初に「All in One SEO」で設定したときは、これはなかったことを確認しているのですが・・・
「Jetpack」もどんどんバージョンアップしているので、そういうことをしてくれるようになったのでしょうか?
JetpackにもOGPを設定する機能がある
調べてみると、JetpackもOGPを設定する機能がありました。
SNSでシェアする機能 (「共有」や「パブリサイズ共有」)を使っていたら、自動的に入るようになっていたのですね。
If you’ve activated the Sharing or Publicize module, Jetpack will automatically add Open Graph meta tags to each one of your posts.
ただ、先のページの記述を見る限り、他のOGP設定があったら出ないようになっているようなのですが・・・
If you already use another plugin to handle Open Graph meta tags on your site, we’ll automatically deactivate Jetpack’s Open Graph meta tags for you, to avoid any duplicates.
ここでは出ちゃってる状況です。
JetpackのOGP設定を無効化する
仕方がないので、強制的に「Jetpack」でOGP設定する機能をカットします。
やり方は簡単で、「functions.php」に次の1文を付け加えるだけでよいとのこと。
add_filter( 'jetpack_enable_open_graph', '__return_false' );
これも先のページに記述があります。
それではこのとおりブログテーマの「functions.php」設定してみましょう。
「Jetpack」でOGP設定をしないように設定して (ややこしい)、再びFacebookデバッガでチェックしてみました。
おお。見事にエラーが消えましたよ!
ソースコードからもちゃんと消えているのを確認しました。
おわりに
WordPressのプラグインも、日進月歩で進化しています。
もともと「All in One SEO」にもOGPを設定する機能はなかったですからね。
そうやって各プラグインが進化していく中で、こうした機能の競合が起こったりしているのは、もしかしたら他のところにもあるかもしれません。
以前はある時からGoogle Analyticsのカウントがダブったりしていることがありました (あるときから突然アクセスが増えたので気づいた)。
ブログを運営していく上で、こういった機能の見直しや、プラグインの棚卸しは定期的にしていく必要がありますね。