さくらのレンタルサーバでWordPressサイトを高速に動かす方法。モジュール版PHPって何!?
よく、さくらのレンタルサーバはWordPressに向いてない、さくらのレンタルサーバは遅いから駄目といった評判を耳にしますが、実際のところどうなんでしょうか?レンタルサーバ担当者が噂の真相からWordPressサイトの高速化方法をご紹介します。
目次
さくらのレンタルサーバは本当に遅いのか?
さくらのレンタルサーバでは、2018年4月18日に構成変更の大規模リニューアルを行いました。それまでさくらのレンタルサーバにおいて、PHPは「CGIモード」と呼ばれる方法で動いていました。簡単に言うとメモリ使用量を節約できるけど実行速度が(現在の高速なモードよりは)遅いものです。WordPressが出てくるまで、PHPの実行速度が直接ウェブページの表示速度に影響することはあまりなく、個人サイトなどは専ら静的ページで構成されていたという背景もあります。
しかし現在は商用サイト、個人サイトを問わずWordPressの普及により、レンタルサーバにおいてPHPの実行パフォーマンスが大変重視されています。WordPressの場合はページのHTMLを動的にサーバ側で生成するため、ページへのアクセスがあるたびにPHPの変数がデータベースから読み込まれたり関数が実行されたりするからです。動的ページは普通のHTMLと異なり、様々な計算や処理、データベースの読み書きを行った後にHTMLが書き出されるからで、プログラムの処理速度がページの表示速度に直結するわけです。
そこで、さくらのレンタルサーバでは2018年3月から4月にかけて、サーバのソフトウェア構成のリニューアルと、一部のハードウェアのスペックアップを伴う大規模なリニューアルを実施しました。それ以降は、PHPを「モジュールモード」という方法で動かすことができるようになりました。モジュール版PHPは、簡単に言うと、メモリをたくさん使うけれども、実行速度がとても速くなるというものです。この結果、これまでよりも格段にWordPressなどのPHPアプリケーションの実行パフォーマンスが向上しました。当社比では旧環境(PHP5.6 CGI版)と比較すると最大16倍程度高速化しています。
このリニューアル(2018年4月18日)以降に契約していればモジュール版PHPが初期設定されていて、WordPressが非常に快適に利用できます。というわけで、さくらのレンタルサーバは現在は遅くありません。
モジュール版PHPの何がいいの?
モジュール版PHPは、PHPのバージョンが同じであれば動作仕様に違いはありません。PHPアプリケーションを高速で実行できる上に、CGI版から移行する際に仕様の違いを考える必要がありませんので、モジュール版PHPへの移行リスクはとても低くなっています。ですので、現在プレミアム以上のプランをご利用の方はPHPバージョン選択画面でモジュール版を選択することをおすすめします。なお、2018年4月18日以降に新規契約している場合、初期設定でモジュール版がONになっています。モジュール版への切り替えはボタン一つでできますので、気軽に試すことができます。
リニューアル前から使っている人はどうなるの?
リニューアル前から使っていたお客様ですが、プレミアム、ビジネスのお客様は設定を変えるだけでモジュール版が選択できるようにシステムが改修されています(ビジネスプロとマネージドのお客様はリニューアル前からモジュール版が利用可能です)。PHPバージョン変更画面でPHP7.2を選択し、モジュール版のチェックボックスをONにして有効化すれば利用可能です。設定はその場で有効化され、すでにPHP7.2をお使いであれば問題なく動作するはずです。
2018年4月17日以前からスタンダードプランをご契約のお客様は残念ながらモジュール版はご利用頂けません。機器更新のタイミングでサーバがリプレイスされる場合があり、その際はモジュール版PHPが利用できるようになる可能性がありますが、基本的には新規で契約をして頂き古いサーバからの引越し作業をお願いしております。
引っ越したくないんだけど高速化の方法はある?
引越し作業は手間がかかるのでちょっと……という方へ現在の環境のままでもWordPressを高速化する方法をご紹介します。
ページが重いかな?と思ったらまず確認
ページの読み込みに時間がかかると言っても、原因は様々です。まずは何がボトルネックになっているのかを確認してみましょう。Google Chromeのデベロッパーツールで、ページHTMLの応答時間を確認してください。TTFBという項目が1000ms(ミリセカンド)を超えているとHTMLの生成に1秒以上かかっていることになり、重いサイトと言えます。3000ms(3秒)程度かかる場合はかなり重くなっています。
※ネットワーク帯域の影響なども考えられますので安定した固定回線で何度かリロードしてご確認ください。
また、ページの総容量自体が大きすぎる場合もあります。画像の容量が大きくないか、重いウェブフォントを読み込んでいないか(モリサワやFont Plusはサブセット配信なので問題ないです)などをご確認ください。ページの容量が10MBを超えてくると読み込みに時間がかかる場合があります。
Chrome Developer ToolのNetworkタブで注目すべきポイントはこの2つ。TTFBと転送容量を必ずチェックしましょう。
共用レンタルサーバ(さくらのレンタルサーバもそうです)をお使いの方は、同居している別のユーザがサーバリソースを使い切ることでサーバ自体が重くなっている可能性もあります。ここからは、サーバ側のパフォーマンスに影響されるTTFBを速くする方法についてご紹介します。
最新のPHPを利用する
現在PHP5.6以前のバージョンをお使いの方は、最新の7.2に変更するだけで2〜3倍は動作が速くなります。切り替えはコントロールパネルで簡単にでき、もしサイトに問題が起きた場合はすぐ設定を戻すことでサイトの表示も元通りになります。
サイトがちょっとでも見えなくなると困るんだけど……と心配な場合はバックアップ&ステージング機能でPHP7.2のステージングサーバを作成し、スナップショットを展開することで動作を確認することができますのでぜひご利用ください。本番環境へは全く影響なく動作テストができますので非常におすすめです。
キャッシュプラグインを利用する
W3 Total Cache、WP Super Cacheといったキャッシュプラグインを使うことでページを高速に表示させることができます。環境にもよりますが5〜10倍近く高速化される場合もありますのでご検討ください。なお、プラグインの利用方法についてはサポート対象外となりますのでご注意ください。
なお、ページキャッシュをご利用の際はキャッシュページ、非キャッシュページの使い分けに気をつける必要があります。個人情報を扱うサイトなどの場合には非キャッシュ設定をする等の対応が必要です。
※キャッシュファイルが蓄積していく可能性がありますので、 wp-content/cache ディレクトリ内を定期的に削除いただくことをおすすめします。
プラグインを整理する
WordPressはプラグインを増やすことによりどんどん高負荷になっていきます。プラグインを見直して数を整理することにより負荷を軽減できる可能性があります。特に、関連記事などを表示するプラグインは負荷が非常に高くなる場合がありますので、キャッシュを併用するなどの対策で表示速度が改善する可能性があります。また、設定項目の多いテーマなどもページ表示が重くなる原因となります。
2段階認証や2要素認証のプラグインをログイン画面に利用している状態で外部から総当たりログイン攻撃などを受けると、リソースが食い尽くされてしまいサイトの表示が重くなる、なんてこともあります。ログイン画面の保護はレンタルサーバであればBASIC認証のほうがおすすめです。
2018年のリニューアルによる動作仕様への影響
2018年のリニューアル時に、モジュール版PHPの提供開始とともにnginxをリバースプロキシとした構成に全プランを変更いたしました。これまで通りPHPなどの処理はApacheで行っておりますので.htaccessは利用可能です。また、これまでさくらのレンタルサーバ上のサイトをSSL化する際に環境変数「HTTPS」の挙動が独特(消えてしまう)で利用できなかったのですが、このリニューアル以降は他社サーバと同様に利用できるようになっています。変更点はサポートサイトにまとめられていますので、気になる方はご確認ください。
まとめ
PHPをモジュール版に切り替えられる方は、切り替えるとWordPressサイトが高速化します。PHPはバージョンが同じであればCGI版とモジュール版に仕様的な差異はありません。そのまま切り替えても同様に動作します。スタンダードプランで切り替えのできない方はモジュール版利用のためには大変申し訳無いのですがサーバを新規契約していただく形になりますが、最新のPHPを利用するなど既存環境でできることもあります。また、キャッシュプラグインなどを利用いただくとかなり高速になります。同時に、プラグインの見直しなどをすることで処理が軽くなる場合もあります。
今回は、モジュール版のPHPについてよく寄せられるご質問を記事形式でまとめてみました。私も自分のサイトをモジュール版PHPが使えるサーバで運用していますが、ダッシュボードなどもかなり快適に利用できます。さくらのレンタルサーバは2週間の無料お試しができますので、ぜひお試しください。