HTML圧縮系プラグインを導入したらSNSボタンが機能していなかった!

今までソーシャルボタンが機能していなかった!!

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圧縮系プラグインを導入するときは、ソーシャルボタンが動くかどうか、自分でポチッしてみて下さいね。

読んで頂いて有り難うございます!