【当サイトはアフィリエイト広告を利用しています】

Google+シェア表示の怪奇現象、犯人はJetpackだった

2013年2月22日


Warning: Attempt to read property "post_excerpt" on null in /home/rikumaxs1014/rikumalog.com/public_html/wp-content/plugins/rikumashot-mini/rikumashot-mini.php on line 33

Google+が悪いのかと思ってた

SORRY over Sydney Opera House "Apology Day" by butupa

SORRY over Sydney Opera House “Apology Day” by butupa

2日ほど前から、「Google+」にシェアした自分のブログ記事情報が、おかしな表示になってたんですよ。

screenshot_201302_052

記事タイトルが二重に表示されてる

screenshot_201302_053

▲ これなんてもっとヒドイ。「抜粋」欄に入力した内容(=これがmeta情報のdescriptionになる設定)以外に、本文の先頭部分も追加されてる。今までこんなことなかったのに。

ここでピンと来れば気持ち良かったんでしょうけど、よく分かってなかった私は「Google+が何かおかしいな」と推測。

そんなタイミングで目にした以下記事。

http://webmemo.biz/wordpress-jetpack-ogp-remove/

先日私が書いたWordPressプラグイン「Jetpack」の記事を紹介して頂いてました。あかめちゃん(@mk_mizuho)ありがとう!

Mt. Fuji and Bullet Train (Postcard) by roger4336
プラグイン「Jetpack」のサイト統計情報を日本語表示にする方法

サイト統計情報を中心に多種多様な機能を持つWordPressプラグイン「Jetpack」。以前使っていたものの停止させてたプラグインを再稼働させたのですが、全体の表示が英語になってたので、日本語に変更する方法を探ってみました。

このプラグインを入れたことでクリック先の情報が把握できるようになり、「どこから来てもらったのか」だけでなく「私のブログでどこがクリックされたのか」を知ることが出来るのは、今後書く記事を検討する上で有力な羅針盤となるはず。

上記紹介記事を読み進めていくうちに、Jetpackが独自にOGP情報を吐き出してるという箇所を読んでビックリ。

以下引用。

WordPressのJetpackが前々から便利と聞いてます。ただ私は以前問題があったので消していました。そうOGPの問題。予め指定しておかないとOGPが二重指定になってしまうので気をつけてください。私はこの問題にハマってFacebookシェアの表示が意図しないものになりましたので。

via:[Å] JetpackとOGP指定プラグインを同時に使うと二重指定!?OGPを削除する方法

「OGP」とは「Open Graph Protocol」の略称で、Facebookなどにブログの記事情報を渡す際の仕組みみたいなもの。

ブログ開設当初、このOGPで大変苦労した思い出があります。記事も書いてます。

Google+シェア表示の怪奇現象、犯人はJetpackだった

この時はOGP情報を「Open Graph Pro」というプラグインで自動出力していて、更に記事を更新した際、Facebookへ自動シェアしてくれるプラグイン「Wordbooker」を使い始めたことで、OGPが二重出力され、Facebook側での表示がおかしくなっていました。

WordbookerもOGP情報を出力しているということを知らなくて、なぜ自動シェアが成功しないのかサッパリ分からず悩みまくった苦い過去。

結論としては「Wordbooker」側の設定でOGP出力を停止させることで二重出力を回避でき、Facebookへの自動シェアも無事成功するようになったのですが、ここでようやく気付いた。

二重出力って、というかOGPってFacebookだけじゃなくてGoogle+もか!

なぜ気付かなかったのだろう。なぜ気付かなかったのだろう。

screenshot_201302_050

▲ ブログのHTMLソースを確認してみると、OGP情報が2つ出力されてました。完全な二重出力。

確かに「Jetpack」を使用開始する前にGoogle+にシェアした記事は表示が正常になってる。ようやく原因らしきものが掴めたので修正開始。

functions.phpを修正

あかめちゃんの記事に書かれている通り、functions.phpにコードを追加することにしました。

functions.phpはブログ表示のキモになる重要なファイルです。修正に失敗するとブログ全体が表示されなくなるなど深刻なエラーが発生しますので、修正の際は慎重に。そして事前のバックアップをお忘れなく!
// JetpackからのOGP出力を無効にする
remove_action('wp_head','jetpack_og_tags');

上記コードをfunctions.phpに追加するだけ。1行目はコメントですので、2行目のみ追加でも大丈夫です。

screenshot_201302_054

▲ HTMLソースを再確認すると、二重出力されてない。1つだけになってます。

Google+にシェアしてみよう。

screenshot_201302_055

直ってねえええwww

更なる解決方法を発見

OGPは正常になったはずなのに、まだタイトルが二重表示されてる。descriptionも二重表示のまま。

更にググってみたところ、「キャッシュをクリアしたら治った」という記事を発見。(以前はリンクを載せていたのですが現在は記事が削除されてしまったようです)

確かにWordPressの「W3 total cache」というプラグインを使用していました。これが原因か?

記事の通りキャッシュをクリアしてから再度Google+に記事をシェアしてみると、

screenshot_201302_056

▲ 今度は成功しました。

さらに、こんな記事も発見。

http://ore.hatenablog.jp/entry/20130127/1359270937

「W3 total cache」ってあんまりよろしくないのかな? 検討の余地がありそう。

まとめ

OGPの二重出力は以前もやらかしていたので、今回それに気付けなかったのが情けないのですが、いずれにせよSNSへのシェアが正常に戻って安心しました。

FacebookやGoogle+に記事をシェアした際に上手くいかない場合は、まずOGP出力、そしてキャッシュなどに注意してみてください。

【追記】プラグイン「W3 total cache」は後日削除しました。

-WordPress
-