WordPressで運営しているこのサイト、約1年前にサイトを高速化するために、キャッシュプラグインやあれやこれやを導入してヒャッハー!めちゃめちゃ早いぞ!ってなってたわけですが、それから約1年後の今、管理ページの動作はダッシュボード開くのに1秒、2秒、5秒、10秒と時間が速くても10秒以上はかかり、プラグインの設定ページを開くと10回に一度は522エラーだしてサーバーが落ちるのです。
さすがに時間かかる&サーバー落ちをダブル食らうとストレスになるので、久々に高速化とメンテナンスを重い腰を上げて実行することにしました。
最初にしたのが、インターネット速度をチェックできるGoogle PageSpeed Insightsで自分のサイトの速度の点数を確認することにしました。
Google PageSpeed Insightsとはなんぞや?はこちらのホームページ表示速度とその改善方法を教えてくれるツールから確認してみてください。
LIFE-IDEAのトップページ
Google PageSpeed Insightsでトップページを調べてみました。


パソコンは82点とまあまあの点数でしたが、モバイルはアウトです。
1年前に撮ったGoogle PageSpeed Insightsの結果ないかなと探していたら見つけました。

72点

62点
1年前とは違いデザインも書き方も変わっており(そこにちょこっとプラグイン追加)点数も変わりますが、さすがに当時の半分以下まで下がっているのはGoogle様に怒られてしまいそうです。
パソコン82点でモバイル32点なら、「まだ大丈夫か」ということでこのときはまだ放置するか~の方に気持ちは傾いていました。しかし次のとあることで気持ちは反対に。
5点
LIFE-IDEAで一番アクセスがあるオンラインゲームのイルーナ戦記の記事「イルーナ戦記 美女、ビショップの装備やステータス振り方編」この記事は半年前からずっとランクの上位に入っていました。
今もサイドバーにある人気記事ランキングに載っているのではないでしょうか。
この記事がもっとも見られているのでとりあえずGoogleの点数を図っておこうと思った結果。

5点

パソコンも危ういものでした
これはいかんと思い。せっかくの一番アクセスされているページがGoogle様に追い出されるのはきついので改善に重い腰を上げました。
重い処理が落ちる原因から調べる
時間帯もあるのですがだいたい深夜にエラーが頻繁にありました。
高速化するにはプラグインの設定やキャッシュの設定をいじるので先にサーバーが522エラーを出さないように対策をしてみます。

Cloud Flareはサイトを高速化するための技術の一つ「CDN」を提供するサービスサイトです。
CDNとは、こちらのページがよくわかります。専門的な内容なのでもしわからなくてもそういうモノだとおもってくれれば大丈夫です。
参照URL:第1回 CDN の 仕組み (CDNはどんな技術で何が出来るのか)
実は522エラーが出ていてもレンタルサーバーからサーバー不都合などの連絡は来ませんし、FTP(filezilla)も普通に接続できます。
しかしCloud Flareは自分のサーバーに問題があるように表示されます。522の対処方法を調べてみると、同じような症状を持つ方がいました。
彼らは、プラグインやキャッシュなどを無効化にするなど調べてみても何もわからなかったけど
Cloud Flareを辞めると改善された!522エラーが無くなった!という報告がある一方ページ速度が落ちたという方もいました。
サーバーダウンを取るか、ページ速度を取るかという究極の選択。
僕はページ速度を選びました。
表示が遅くても待ってくれる人はいるので、表示されないよりは表示されたほうがいいかなと思いました。そういうことでまず最初にCloud Flareを停止してみます。
CLOUD FLAREのやめ方
1年前にCloud Flareを登録して設定したので当時の設定方法なんて覚えていません。
なので調べて簡単に説明してみます。
とても簡単でした。ドメインの管理サーバーにあるネームを元に戻すだけ。
ドメインに設定されているCLOUD FLAREのネームを削除します。
そしてLIFE-IDEAはレンタルサーバー「ミニバード」を利用しているのでns1.minibird.jp、ns2.minibird.jp、ns3.minibird.jpの3つを設置、変更します。
とても簡単にできました。但し、ネームを変更した後、数分は管理ページは触らない方がいいかもしれません。
この記事を書いているときにネーム変更したのでメディアの表示が調子悪くなりました。
ネーム変更後はCloud Flare側で自分のサイトを削除しておくと良いでしょう。今後続ける予定であればそのままおいても問題はないかと。
消し方はCLOUD FLAREにアクセスし、ログインします。
そのあと表示されるページにある「Advanced」という文字を探してクリックしてみてください。GoogleChrome使用の方でGoogle翻訳を利用している方は「上級」です。


そのあと、ピンク色で丸がついているところの「DELETE」をクリックすると消えるはずです。
CLOUD FLAREを止めたのでスピードが下がる人もそのままの人もいますので、うちのサイトは現状どうなったのか?チェックしてみます。
Google様は厳しかった。


パソコンも。
初めて見ました0点。
サーバーエラーを出す原因を持ってたCloud Flareを止めたのでGoogleが出す改善点を改善していきます。
いくつかの改善点
- 画像を最適化する
- スクロールせずに見えるコンテンツのレンダリングをブロックしているjavascript/CSSを排除する
修正を考慮
- 表示可能コンテンツの優先順位を決定する
- サーバーの応答時間を短縮する
- ブラウザのキャッシュを活用する
- javascriptを縮小する
- cssを縮小する

最初に修正が必要な改善策をしていきます。
画像を最適化する
画像を圧縮する、画像のリサイズをすることで改善されるそうです。
ここで5点と0点を出したページ「イルーナ戦記 美女、ビショップの装備やステータス振り方編」に投稿している画像1枚1枚がスマホのスクリーンショットのサイズで表示されていました。つまりリサイズせずに投稿したので幅2392px高さ1493pxのサイズでした。
このサイトは写真特化サイトやギャラリーサイトではないのでそこまでのサイズは必要ありません。
WordPressの場合、メディアから画像を記事に追加するときにサイズを指定することができます。

そこからサムネイルか中サイズ、もしくは大サイズを選んで画像張り替えるだけで十分に最適化はされますが、設定からアクセスできるメディアの設定がデフォルトのままや最適なサイズでなければ効果は減少します。
効果を十分に発揮するためにもLIFE-IDEAは以下のことをしました。
- メディアの画像サイズの設定
- プラグイン(Regenerate Thumbnails)の使用で画像サムネイル再生成
- プラグイン(Ewww Image optomizer)の使用で画像の最適化
- ページにある画像の変更
難しいこと言っているように見えますが実はとても簡単です。
使用するのはプラグイン「EWWW Image Optimizer」「Regenerate Thumbnails」の2つとWordPressサイバーバーにある設定からアクセスできるメディア設定です。
1,メディア設定
一番最初に「メディア設定」から設定していきます。
まず最初に「設定」→「メディア」を開き、画像のサイズを設定します。
サムネイルサイズ、中サイズ、大サイズと分かれており、写真をアップロードすると自動的にオリジナルとは別にサムネイルサイズ、中サイズ、大サイズと3枚生成されます。
デフォルトの状態のメディア設定です。
サムネイルサイズは、今回はデフォルトのままで中サイズと大サイズの値を変更します。
先に大サイズから変更します。
写真といえばギャラリーサイトや写真をメインにしたサイトでなければ、自分のサイトの写真を表示させる範囲を超える写真を載せても意味はありません。
表示範囲を超えるサイズで掲載するとGoogleから画像の最適化をしなさいと注意されます。
もしプラグインなどで通常の大きさから少し大きく画像を出す方法もあるのでその場合は少し大きめのサイズを想定してください。
まず幅はこのLIFE-IDEAのコンテンツエリアの幅を計測してみます。
スタイルエディタ(CSS)を見るのが一番ですが以下の方法はCSSの見方がわからない人でも大丈夫です。
Google ChromeかOperaで自分のサイトを開き、右クリックで「検証」というのが一番下にあると思うのでそれを開いてみてください

写真を表示させる場所を左下の枠1番のところから探します。(このサイトだと両方向き矢印で指している部分が写真を表示させる範囲です。)
探してクリックすると2番目ところに現在の幅のサイズが表示されます。
※もっといい方法があるかもしれません。
2番目の数字非常に見えにくいですが、横幅は728pxと表示されています。
この728pxは当サイトで最大の横幅サイズになります。
次に高さですがこれは自分の好みで設定してください。設定しなくても一応は大丈夫です。
LIFE-IDEAは高さの限度を500pxにしました。
理由はスマホのアプリを紹介するときにスクリーンショットを取るのですがそのスクリーンショットの高さがとても高くページ1画面分占領されることがあるので高さの限度をつけておきます。
これで幅728px と 高さ 500pxと決まりこれを大サイズに設定します、
次に中サイズですが、728pxよりも少ない数字で自分の好みの大中小という感覚で設定をします。
LIFE-IDEAでは桁が良い数字幅500pxにしました。その場合比例させるように計算をして高さ343pxにします
逆に正方形でもいいアイデアですよ。比例の計算ができなくてもGoogle検索で「比例 計算」とでも調べるとツールがでてきます。
サイズの設定が終わったら「アップロードしたファイルを年月ベースのフォルダに整理」にはチェックをいれておき保存します
2, Regenerate Thumbnails
次にプラグイン「Regenerate Thumbnails」を使います。
プラグイン新規ページから「Regenerate Thumbnails」を検索してインストールしてください。
詳しい初心者向けのWordPressプラグインの導入方法はこちら。
Regenerate Thumbnails有効化したあと、「ツール」、「regen.Thumbnails」と進みます。
そして「すべてのサムネイルを生成する」をクリックします。あとは自動的にサムネイルが作成されます。
画像がたくさんあるとかなり時間がかかるので余裕があるときにしたほうが良いでしょう。
3,Ewww Image optomizer
再生成完了した後はもう一つのプラグイン「Ewww Image optomizer」の設定に入ります。
プラグイン新規ページから「Ewww Image optomizer」を検索してインストールしてください。
詳しい初心者向けのWordPressプラグインの導入方法はこちら。
Ewww Image optomizerでやってもらうことは、「最適化」です。
最適化は管理ページのサイドバーにある「メディア」をクリックし「一括最適化」、「スキャン」、「最適化」をしてみます。
EWWWプラグインは実行させるとサーバーにかなり負担がかかる作業なのでサーバーダウンのことを考えて人が少ない時間帯に行うとよいでしょう。
また平気で数時間かかることもありますので注意を。
最適化がすべて終わったら次は公開済みの画像が掲載されている記事の画像リンクを手動で変更していきます。
4,手動で画像のリンクを変更
画像の最適なサイズに画像の圧縮最適化を自動でしたあとは地獄の手動で画像のリンクを変更していきます。
今までに公開した記事すべての画像のリンクを張り替えなければなりません。これが一番大変な作業になりますね。
変更方法は以下の通り。
今回はイルーナ戦記 美女、ビショップの装備やステータス振り方編ページの点数を上げるのが目的なのでこの記事のみ変更していきます。(この記事公開後、他の記事を一人でポチポチと変更していきます)
この作業は画像の最適化をした投稿済みの記事にある画像のみで、新しくアップロードした画像などは自動的にリサイズし最適化してくれるので今回の1回限りです。大変なのは1回だけです。
これで画像の最適化はすべて終わりました。修正が必要な項目2つのうち1つは終わりです。
さて次は修正がかなり困難と有名な必要修正項目です。有名なサイトでも完全に修正はできていないという情報はたくさんありますので修正できなくても大丈夫です。(当サイトも含む)
スクロールせずに見えるコンテンツのレンダリングをブロックしているjavascript/CSSを排除する
スマホの表示速度改善案に出やすい必要な修正項目の一つです。
スマホであなたのサイトが最初に表示される画面を表示させるのに必要ないコードは後に表示させよ。つまりフッター専用のcssやコンテンツの下の方に使うjavascriptやcssは最初に読み込んではいけません。後から読み込ませてくださいということです

自作テーマで運営している人なら大丈夫ですが有料テーマや無料テーマだと自分でカスタマイズをする必要がありHTMLやCSS関連の少々知識も必要なので少し大変かもしれません
今回の改善方法はGoogleがいくつかの改善策を出しておりそこに僕からのアドバイスを混ぜてみます。
Javascript
Javascriptの対策として、Googleが推奨されているのは以下の2点です
- 小さなJavaScriptをインライン化する
- JavaScript の読み込みを遅らせる
こちらの「レンダリングを妨げる JavaScript を削除する」ページから確認できます。
そこに僕からのアドバイスとして以下の2点を。
- JavaScript は body最下部にインラインで記述する
- プラグインの停止
使用回数や使用していないプラグインは停止か削除する
使用回数が少ない、または使用していないプラグインでも有効化していると
ページの読み込み時にそのプラグインのjavasriptやcssも読み込まれます。
LIFE-IDEAはサイドバーにプラグインを使ってログインフォームを設置しているのですが最近調べてみると全く利用されていないことがわかりました。
標準のログインページをブックマークして直接ログインをしている方が多いことがわかったのでログインフォームを廃止しログインページへのリンクに変えました。
小さなJavaScriptをインライン化するとは、小さなコード数や少ない文字数のJavascriptはページ内に記述することです。
<html> <head> <script type="text/javascript" src="small.js"></script> </head> <body> <div> Hello, world! </div> </body> </html>
small.jsの中身は以下の一行
/* Javascript-JavaScript-javaScript */
上記のスクリプトをインライン化すると以下のようになります
<html> <head> <script type="text/javascript"> /* Javascript-JavaScript-javaScript */ </script> </head> <body> <div> Hello, world! </div> </body> </html>
このインライン化ですが、HTMLの