mixture-art@Q
技術+アイディア+世俗+なんとなく思ったこと、すべての融合がmixture-art
WordPressでプラグイン”Head Cleaner”を使うときは気を付けよう

先日ひどいめにあった。

このブログはWordpressを使っているのだが、Wordpressのコンセプトとして

基本機能にどんどんプラグインを足していく

という点が特徴として挙げられると思う。

このプラグインはどこぞの誰かさんが営利非営利問わず作ったもので
それをWordpressが公式に採用しているわけだ。

プラグインの種類は多種多様だが、
大まかに言うと「表で動くもの」と「裏で動くもの」に分けられる。

表で動くものは、例えば
『Facebookのいいねボタンを設置するプラグイン』とか
『Youtubeチャンネルを組込むためのプラグイン』とか
『コメント欄をソーシャルと連動させるプラグイン』とか
『Twitterのタイムラインを表示させるプラグイン』とか
他にも色々ある。

一方、裏で動くものは、例えば
『サイトアクセスの統計を取るプラグイン』とか
『データベースのバックアップを取るプラグイン』とか
『メディアライブラリの画像サイズを最適化するプラグイン』とか
その他かなりシステム寄りで私はあまり理解できていないものもたくさんある。

しかしこれらほとんどは決して「おまけ機能」ではなく
最近のブログにとってはむしろ「必須機能」だと言って差し支えない。
したがってプラグイン無しではブログは成立しないと言っても過言ではないのだ。

だからこのようなWordpressのプラグインを紹介しているポストは検索すればいくつもヒットする。

WordPressの優良プラグイン50選、最初にインストールすると超便利!(2013年版)
http://netaone.com/wp/wordpress-plugin-first/

WordPressブログに必ず導入しておきたいおすすめのプラグイン15選
http://richmarketing.jp/wordpress-plugin-15.html


今回は、そのプラグインの使用で問題が生じた。

さて、本筋に話を戻すと、先日Google Adsenseさんからこんなことを言われた。

「おたくのサイト、アクセス遅いですよー」

確かにアクセスしてみると表示まで体感で10秒くらいありそう。これはひどい。

対応する必要がありそうな指摘項目はだいたいこんなカンジだ。
画像サイズと表示サイズが最適化されていない
 → でかい画像を呼び出してサイズ縮小して表示させるのは通信の無駄
キャッシュが有効になってない
 → 1週間くらい有効にしてやろうじゃない
CSSやJava Scriptの圧縮する必要がある
 → ファイルサイズが不必要に大きいんですと

前2項はささっと対応した。
画像はWP Smush.it、
キャッシュはWP Super CacheとDB Cache Reloaded FixとMO Cacheにお世話になった。

しかし、最後の『圧縮』が手強かった。

簡単に言うと余計なコードとかコメントアウトとかを削除してファイルサイズを軽くすることらしい。
そんなこと手作業でやってらんないので当然プラグインの力を借りるのだがなかなかうまくいかない。

判断基準としてはGoogle DevelopersのPage Speedを使った。
親切ご丁寧にサイトの構成パーツのうちの何が悪いのか細かく教えてくださる。

https://developers.google.com/speed/pagespeed/insights/

試行錯誤と調べものの末に、とうとうたどり着いたのが『Head Cleaner』
実はよくよく調べると多くのひとが推奨していた。

「なんでもっと早く気付かなかったかなぁ〜」とか思った。当時は。

実際、ちょいちょいと紹介サイトを見ながら有効にしてみたら
あっというまにGoogleでのスコアが改善した。

めでたしめでたし、で就寝したのだが
まったくもって目出度しではなかった。

朝起きてJetpack(アクセス統計を取るプラグイン)を見るとアクセスが『普段の10分の1以下』
おかしいなぁ、と思ってGoogle Analyticsの方で確認しても
微妙な差はあれど確かに極端にアクセスが少ない。
しかしサイトに設置しているカウンターで見るとカウントアップされているようだ。

意味がわからず一旦放置して仕事へ向かう。
なんのことやらさっぱりわからなかった。

そしてたまたまPage Speedをまたチェックしたところ
プレビューのところに奇妙なものが写っていることに気付く。

『全面グレー』だ。

はぁ?と思ってサイトをチェックすると普通に表示される
「ああ、キャッシュ消さないと、」
と消して試してみたらきっちりグレーバックが表示された。

昨晩やったことを思い出しながらまずは昨日導入したプラグインを一度全て無効にする。
サイトは正常に戻った。
次に数個ずつ有効にしていきながらどれが悪いのかを特定する。

悪さをしていたのはHead Cleanerだった。

さらに細かく辿っていくと、Head Cleanerの『Java Scriptを小さくする』を有効にすることで
この現象が起きているようだった。
「ここがスピード改善に役立ってるだろうになぁ、、」と思いながら泣く泣くOFFにし、
めでたしめでたし、で普通に仕事して家族と過ごして寝て、、と一日送ったのだが、
またしてもまったくもって目出度しではなかった。

一日経ってもアクセス統計はどうやら全く動いていないようで、
加えてFacebookのいいねボタンが消失し、コメント欄も「No Comments」になっていた。
そしてAdsenseでも「まったくクリックはない」ことになっていた。

これはさすがにおかしい、と思い再度入念にチェックすると、
いくつかのページでレイアウトが崩壊し、なぜかはわからないが

サイドバーの一部のみが整形が崩れた状態で表示される

という事態になっていた。
そして最悪なことに、この事態はHead Cleaner自体を無効にすることでしか解決しなかった。

しかし『フッタ領域の JavaScript も対象にする』を解除することで
Jetpackの一部機能を犠牲にすれば共存が可能であることはわかったので
それでしばらく放置したところやはり思わしくない。

結論として現在このブログではHead Cleanerは完全にOFFにした。
今はJetpackも問題なく使えているし、Analyticsでも正常にアクセス評価がされている。(ように見える)

しかしながら他にもいろいろやったことでGoogle様のスピードの評価は90を越えている。
穏便かつ効果があるのはWP HTTP Compression、Combine JSあたりとか。
あとDefer parseとやらのためのコード追加も有効だったっぽい。
http://www.webpagetest.org/forums/showthread.php?tid=7897
あとは楽天のモーションウィジェットを消すこととか。。。

ようやくのめでたしめでたし。。。

と言っても良いのだけど、正確に言うと最後にひとつの問題が残っている。

それは都合3日間ほどこのサイトは『世の中に存在しないも同然』になっていたせいで
現在著しくアクセスが落ちている。

Google検索での順位も下がっているようだ。

「そもそもGoogleからの指摘があったから改善するようにがんばったのに、、、」

なんて愚痴っても仕方がないので、地道にこのとおり活動しながらボチボチ回復するのを待つだけだ。
「マラソン選手は3日間練習サボっただけで3ヶ月分の練習が無駄になる」なんて誰かが言ってたけど
Webサイトもそうなんだなぁ〜と勉強代として噛み締めております。