ロリポップのWordPressとMovable Typeを高速化する為にやったこと14個まとめ!遅かったのが少し速くなりました

203-1
 
このブログはレンタルサーバのロリポップ!を使ってます。
ランニングコストが安くて、サポートもしっかりしてるので気に入ってます。
 
ただ一つだけ、気になることが。。。
 
投稿した記事や管理画面を表示した時に遅い時があるんですよね。
時間帯によるのか、速い時は速い。
 
 
この記事ではそんなロリポップで、少しでも速くする為に試したことを紹介します。
他のレンタルサーバでも基本的には同じ方法が使えると思います。
 
これで少しは速くなったはず!
 

スポンサーリンク

全体編

レンタルサーバのプラン変更、DBのバージョン変更、Webサーバの設定変更など。 
 
170-4
 
  1. ロリポップのプランを「ロリポ→チカッパ」に変更した
     
    速くなるとはどこにも書いてないんですが、1日のデータ転送量上限が5→10GBに増えるのでなんとなく。
    MySQLが30個まで作れるので、DBの移行作業がとても楽だったのは利点でした。
    ※プラン変更時の記事はこちら
     
  2. MySQLを5.1→5.6に変更した
     
    ロリポップではMySQL5.6のサーバにSSDを採用したと聞きました。
    HDDと比べてSSDはランダムアクセスに強いのが特徴ですね。
    ※DB変更時の記事はこちら
     
  3. 静的コンテンツをキャッシュするように.htaccessを変更した
     
    この記事を参考にさせて頂きました。
    ■WordPressサイト用の.htaccess例 | dogmap.jp
    http://dogmap.jp/2010/04/20/wordpress-htaccess/
     
    この内、
    ・コンテンツの圧縮転送(mod_deflateが使える場合)
    ・静的ファイルをブラウザにキャッシュ(mod_expiresが使える場合)
    ・ブラウザのキャッシュを制御(適切なETag)
    の部分を.htaccessに追加しました。
     
    これで画像ファイルやCSSやJavaScritpファイルなどがキャッシュされるようになります。
    かなり前からGoogleの管理ページで指摘されてたので、やっと改善できました。
    ありがとうございます!
     
  4. MySQLのオーバーヘッドを定期的に削除する
     
    オーバーヘッドがある場合、サクセス速度の低下につながります。
    これを回避するには、パソコンのデフラグのように最適化する必要があります。

    手動でする場合、「管理ツールのphpMyAdminでログイン → データベース選択 → [オーバーヘッドのあるテーブルを確認する]クリック → コンボボックスで[テーブルを最適化する]を選択」です。

    これでも良いのですが、自分で実行するのは面倒ですので、WordPressのプラグイン「WP-DBManager」で定期的に自動実行しています。

    プラグインインストール後に「WordPressメニュー – Database – DB Options – Automatic Optimizing Of DB」で最適化する時間をスケジュールします。
    私は6時間毎にしていますよ。

    「Next optimize date」に次回の実行時間が表示されてるのを確認しておきましょう。
    ちなみにこのプラグインを使うと、DBバックアップも自動的にできますよ。

 
 上記の他、CSSやJavaScriptの最適化や位置も調整したかったんですが、画面表示に影響が大きそうなのでやってません。
 
「Head Cleaner」というプラグインが便利そうなんですが、実際にブラウザでの表示を確認していく必要がありそうです。
これはまた今度ということで。
 
スポンサーリンク

WordPress編

ほとんどがプラグインに関する設定です。
 
WordPressは簡単にプラグインをインストールできますが、いらないものまでもインストールしがちです。
 
42-1
 
  1. 使わないプラグインを停止または削除した
     
    プラグインは種類によっては負荷が高めのものがあります。
    余り使っていないのであれば、思い切って停止するのが良いですね。
    本当に必要なければ削除するのもありです。
     
  2. プラグインは「ネットワークで有効化」ではなく、ブログ単位で有効化する
     
    [マルチサイト設定をしている場合のみ]
    ネットワークで有効にすると、すべてのブログで有効になります。
    それぞれのブログで有効化しなくて良いので便利なのですが、必要ないブログでも機能がオンになってしまいます。

    これを防ぐには、ネットワークでは無効化しておき、ブログ単位で必要に応じて有効化します。
    ブログの数が多いほど効果が高そうです。
     

  3. キャッシュプラグイン「WP Super Cache」をインストールした
     
    これは結構昔からインストールしてました。
     
    設定はデフォルトから変えてなかったのですが、最近は以下の設定にしてます。
    ・ヒットしたページをキャッシュし、素早くアクセスさせる。 (推奨) :チェックする
    ・キャッシュファイルの提供に PHP を利用する。 :選択する
    ・ページを圧縮し、訪問者により速くページを供給する。 (推奨) :チェックする
    ・キャッシュリビルド。新しいファイルの生成中にこのサイトの登録ユーザー以外のユーザーに supercache のファイルを供給する。 (推奨) :チェックする
    ・Mobile device support. (External plugin or theme required. See the FAQ for further details.) :チェックする
     
  4. キャッシュプラグイン「WP Super Cache」の有効時間を長くした
     
    「詳細 – 有効時間とガーベージコレクション」の設定で、標準1800秒→86400秒(1日)に延長しました。

    ちなみにプリフェッチ機能はやめました。
    タイムアウト時間を長くしておけば、ほぼ同じ効果だと思いましたので。
    初回アクセス時は仕方がないですね。
     

  5. 画像最適化プラグイン「EWWW Image Optimizer」の導入
     
    過去に投稿した記事もこのプラグインで一括変換しました。
    5~10%はサイズ削減できた感じです。
    今後、新しい記事に挿入する画像は自動的に処理されるはず。
     
  6. 関連記事プラグイン「Yet Another Related Posts Plugin」を削除した
     
    このプラグインは、表示している記事に関連する記事を一覧表示してくれます。
    見た目もきれいで便利だったのですが、あまり直帰率の改善にはつながらなかったので思い切って削除しました。
     
  7. SEOプラグイン「All in One SEO Pack」を削除した
     
    metaタグを自動的に設定してくれて便利なのですが、何か思い気がしましたので削除しました。

    代わりに、以下の記事を参考にmetaタグ出力してます。
    ■WordPressでエントリーごとにkeywordsとdescriptionを自動で設置する方法 « Blog × Play Under World
    http://blog.playunderworld.com/web/how-to-set-keywords-and-description-automatically/
    ありがとうございました!
     

  8. 必要無いテーマを削除した

    要らないものは消す。
    WordPressのテーマ画面を表示する時の高速化にはつながるかも知れません。

 
特にキャッシュプラグインの効果が高いと感じました。
WordPressでは必須かも知れませんね。
WP Super Cache以外にもキャッシュ系プラグインはたくさんありますが、複数同時に入れるとキャッシュ競合や整合性が取れないなど、良からぬことが起こりそうなので一つだけにしています。
 

Movable Type編

直接的な対応は少ないですね。
 
198-1
 
  1. Movable Type5.2.3から6.0.5にアップデートした
     
    正直、あまり高速化にはつながらないとは思いますが、もしかしたらという思いで。
    バージョンが新しい方がセキュリティ的にも有効ですし。
    上げて損はありません。
     
  2. コメント欄のスパム対策を実施した
     
    これも直接的な高速化にはつながりませんが、スパムが減るとサーバ負荷も下がります。

    以下の2つを実施してます。
    ・mt-comments.cgiをリネームし、mt-config.cgiでCommentScriptを使って指定。
    ・comments_formフォームタグのaction属性を削除し、画面初期表示時にJavaScriptでaction属性を設定。

    簡単なカスタマイズですが、効果は絶大でした。
    それまで1日に数十件以上のスパムがあったのが、ほぼ0になりましたよ。
    この仕組みを考えた人はすごいですね。

 
MTの場合、全体編で実施した「静的コンテンツをキャッシュ」の効果が出てきます。
ブログを再構築すると静的なHTMLファイルができますが、このファイルに対してのキャッシュとなりますので。
 
静的コンテンツなので元々の表示は速いですが、ブラウザ側にキャッシュされることで更なる高速化が見込まれます。
 

まとめ

ロリポップのWordPressとMovable Typeが遅い場合があったので、高速化の為にいろいろ試してみました。
 
設定を変更してしばらく経ちますが、以前よりはアクセスが速くなった感じです。
また別の方法が見つかれば、試してみたいですね。
 
スポンサーリンク


カテゴリー: パソコン タグ: , , ,

■前後の記事です

コメントを残す

メールアドレスが公開されることはありません。