今までソーシャルボタンが機能していなかった!!
WordPressには大体ソーシャルボタンが付いてると思いますが、SNSボタンを設置してから自分で押して動作確認してますか?
長年運営していたブログにソーシャルボタンを貼り付けていたのですが、まったく数字が伸びないので気になっていました。
ふと思い、自分でクリックして押してみたら反映されません・・・。_| ̄|○
その押したボタンは、「はてなブックマーク」だったのですが、なぜ押しても反映されなかったんだろ?とHTMLソースを眺めていたら、下記のようになっていました。
<a href="//b.hatena.ne.jp/entry/http:/www.serverlog.jp/" class="hatena-bookmark-button" data-hatena-bookmark-layout="vertical-balloon" data-hatena-bookmark-lang="ja" title="このエントリーをはてなブックマークに追加">
※一部抜粋
これを見て気づいた方はすごいです!
はてなブックマークの設置の正しい例と、無効な例を比較
まずは、無効な例から、、
無効な例
<a href="//b.hatena.ne.jp/entry/http:/www.serverlog.jp/" class="hatena-bookmark-button" data-hatena-bookmark-layout="vertical-balloon" data-hatena-bookmark-lang="ja" title="このエントリーをはてなブックマークに追加">
続いて、正常な例をご覧下さい。
正常な例
<a href="http://b.hatena.ne.jp/entry/http://www.serverlog.jp/" class="hatena-bookmark-button" data-hatena-bookmark-layout="vertical-balloon" data-hatena-bookmark-lang="ja" title="このエントリーをはてなブックマークに追加">
よく見ると、、
無効な例の方は、「URIスキームが省略」されてることが分かります。
//b.hatena.ne.jp/entry/http:/www.serverlog.jp/
最初の「http://」→「//」への省略は仕様上問題ありません。
しかし、赤字2つめの「http://」→「http:/」まで中途半端に省略しています。
これが原因で、はてなブックマークにページのURLが正しく認識されず、はてなブックマークが無効になっていました。
犯人はだれ?
この問題の原因を探すために、一旦、プラグインをすべて無効にしてみたところ、はてなブックマークが問題無く認識されることが分かりました。
そこで、一つ一つプラグインを有効にしていくとあるプラグインで上記のURIスキームが省略される事が判明。
犯人はこれ
HTML圧縮プラグインの「WP-HTML-Compression」
このプラグインはHTMLを圧縮するだけじゃなく、URIスキームまで省略していたようです。今回の原因が分かったのでHTML圧縮系プラグインは、削除して今後は導入しないことにしました。
皆さんも、HTML圧縮系プラグインを導入するときは、ソーシャルボタンが動くかどうか、自分でポチッしてみて下さいね。