長い間WordPressでサイトを運営しているとどうしても発生するのがサイトの動作が遅くなるという現象。
WordPressは通常のhtmlで作られたサイトと比べて動作させること自体にパワーが必要なサイト構築ツールなので、単純に高額(ハイスペック)なサーバーに乗り換えたり、ハイスペックなサーバーで運営すればある程度はカバーできます。
しかしながらそういったサーバーを使っていてもだんだんと動作が重くなってくるのは避けられませんね。これは企業などでデータを扱う情報システムでも同じことが言えます。
そこで重くなってきたら対処・・・と言いたいところですが、実はWordPressも情報システムでも使っているデータベースは一旦肥大化(要不要にかかわらずデータ量が膨大になってくる)と不要なものを削除しても劇的なパフォーマンス改善にはならないことが多いんです。
身近なところではパソコンでもそうですよね?いろいろなソフトをインストールしたり、ファイルをいろいろ操作しているうちにだんだん重くなって・・・一度全部削除してOSの再インストールしたら劇的に速くなった。そんな経験ありませんか?
これを防ぐには
- 余分なものを極力導入しない
- こまめにメンテナンスを行う
位しかないと思います。今回はWordPressのサイトでできるちょこっとメンテナンスの方法を初級編から上級編までいろいろと紹介したいと思います。ここでは便利なプラグインを使った方法を中心に紹介していきますが、こうしたメンテナンス系プラグインは必要時以外は停止しておくといった使い方をするとページ表示時に余分なデータを読み込むことが少なくなるのでおすすめします。
初級編
プラグインが作るデータを軽くする
サイトに情報を表示したり、アクセス状況を記録したりするプラグインはほぼ必ず導入すると思います。当然のことながら何かを記録して集計して表示するということは、どこかにデータをため込んでいる(データベースのテーブルの中にデータがどんどん増えている)わけですから当然長い間運営していると膨大なデータとなり、そこから集計するのですからどんどんパワーも必要になります。
こうしたプラグインで優良なものは設定画面に保存期間の設定ができたり、データの削除ができたりするものがほとんどですから、必要に応じてデータの削除や保存期間を設定するようにしましょう。おそらく3か月(90日)程度期間があれば事足りるのではないかと思います。
その他にもプラグインのメニュー項目に「ログ」や「履歴」といったのがあるものはどこかにデータを蓄積する機能を持っていることに違いありませんから、こまめにチェックとデータの削除をするようにしましょう。
また、アクセス解析は人気記事と比べてよりたくさんのデータが蓄積されていきますので、結果だけを簡単に表示する方法をとるのもおすすめです。「Google Analytics」をアクセス解析に使っているなら
を使ってWordPressのダッシュボードから確認できるようにするだけでも使い勝手が向上します
それから使っている方が多い中で意外と見落とされているのが投稿の更新通知(ping)をコントロールするプラグイン「WordPress Ping Optimizer」。これはWordPress標準では投稿の公開時と編集時の両方送られているping送信を公開時だけにする便利なプラグインではあるものの、すべての送信先に対するログが取られているので結構な大きさのデータになります。設定画面で簡単に削除できますが意外とやられていない方が多いと思います。このデータこそ無駄だと思いますので、確認したら削除していくことをおすすめします。逆に一括で投稿の編集をするのでなければpingを送信しすぎてスパムと認識されるということは少ないと思いますので普段はオフにしておいて、一括編集時だけONにするという使い方もおすすめです。
ごみを溜めないようにする
WordPressは知らない間にゴミファイルが溜まっていきます。一番大きいのはリビジョンと呼ばれる投稿などの更新履歴。WordPressではトラブル回避のために「自動下書き」機能があり、一定時間ごとに自動で下書き保存をして元に戻せるようになっています。
いざとなったら以前のものに戻すことができるので便利ではあるものの通常は無駄な処理(余分なデータ)になります。まずはこれが作成されないようにしてしまいましょう。
リビジョン(自動保存)機能を停止するには、テーマのfunctions.phpへ以下のコードを追加します。
/* 自動保存を停止する */
function disable_autosave() {
wp_deregister_script('autosave');
}
add_action( 'wp_print_scripts', 'disable_autosave' );
これで自動保存は完全に停止されます(自身で下書き保存ボタンをクリックしたときは動作しません)
定期的にゴミファイルを整理する
一番大きいゴミファイルの要因が解決したところで、その他のゴミファイルを掃除します。これはプラグインに頼るのが一番だと思います。おすすめは
このプラグインは投稿リビジョンだけでなくデータベース上に残った一時的なデータを削除して整理してくれます。定期的に実行してくれますから常駐しておくといいでしょう。
私の経験では週に1回夜間に動作するようにしておいて、毎回データベース内の不要ファイルの削除などで数メガバイトの節約ができています。結構ゴミって溜まるんだなぁと毎回感心します。
設定項目の多いプラグインで標準は英語表記ですが、リンク先のページで私が作った翻訳ファイルも配布していますので日本語化すれば怖いものなしだと思います。
長い間使っていますが、今のところこのプラグインによって不具合が発生したり、サイト表示に支障が出たりしたことはありません。
画像の圧縮や最適化をする
物理的にサイトの表示や動作を遅くするのが、サイトに彩りや分かりやすさを加えるための「画像」コンテンツ。WordPressではアップロードした画像はそのままのサイズで扱われるため、デジカメで撮影した画像をそのままアップロードすると非常に巨大なファイルとして保存されます。また、ページ表示時にはその巨大なファイルを読み込まなければならないため表示速度に大きく影響します。
通常ウェブブラウザを使ってサイトのページを閲覧する場合はそれほどハイクオリティなファイルは必要ありませんので、便利なプラグインを使って圧縮したり最適化したりするようにしましょう。おすすめは
このプラグインはアップロードした画像の圧縮と画像情報の削除を行ってくれるプラグインです。もちろん過去にアップロードした画像の最適化もできます。通常この類のプラグインは一番大きな画像のみのファイルサイズを縮小するものが多いのですが、このプラグインはWordPressで作成されるいろいろなサイズの画像すべてを最適化してくれます(オリジナルの画像を最適化する/しないの設定もできます)。
有料版ではよりたくさんの画像を一気に最適化できたり、より高圧縮処理できるようになるようですが、一括最適化は導入時だけのことですし、無料版の圧縮でも十分に軽くなりますから問題ないと思います。
使っていない画像を削除する
長くサイトを運営していると悩むのがこれですよね?記憶が新しいうちはその画像がどこに使われているかがわかりますけど時間が経てばさっぱり・・・で放置となっていませんか?
実はこれも便利なプラグインがあるんです
です。このプラグインは投稿本文やアイキャッチ画像に使われていない(紐づいていない)画像を検索して削除できる便利なプラグイン。不要なものはさっさと削除しちゃいましょう。
ただし、100%確実かというとそうでもないような感じなので、検索してみて「これは絶対大丈夫!!」というものから進めていくことをお勧めします。
どうでしょう?「こんなの知ってるよ」ということばかりだと思いますが、これが初心者編になります。ここからは少しずつ知識の必要な方法になりますのでまずは上の項目をクリアしておきましょう。
中級編
テーマでできることはテーマでやる
WordPressはたくさんのテーマが無料/有料で配布されています。テーマを選ぶときには機能や見た目で選ぶことが多いのですが、意外と後から「こんな機能あったの?」と気づくこともあります。
プラグインを導入したり、どこかで見つけたコードを挿入したりする前に一度今使っているテーマの中に同じ機能がないか?他のテーマで実現できるものがないかを確認するようにすると、無駄にプラグインなどを導入することがなくなります。
経験上プラグインをやめてテーマの機能にするというのは実はそれほどページの表示速度に影響するものでもありませんが、問題はプラグインが独自に作るデータにありますから、後々影響が出て来ることは往々にしてあり得ると思います。
テーマやプラグインが作成した不要なフォルダやファイルを削除する
通常テーマやプラグインはサーバー内にあるそれ自身のフォルダ内にあるデータを使うため、削除すれば同時に削除されるものがほとんどです。ただし中には画像のアップロード先である「wp-uploads」フォルダやそれ以外の場所へ勝手に?フォルダやデータを保存するものがあります。
これらは使用を停止してしまったら全く不要なものになり、特に画像ファイルは無駄にコピーが作られている状況となりますから削除してしまいましょう。
この作業を行うにはFTPクライアントソフトを使って直接サーバー内のファイルやフォルダを操作する必要があります。通常はプラグイン名やテーマ名から類推できるようなファイルやフォルダ名になっていることが多いものの、中にはそうでないものもあり、不用意に削除すると実は必要なものだった・・・なんてことがありますから、まずはファイルやフォルダ名の前や後ろに「xx」などという文字を追加して保存した後、実際のサイト表示や動作で問題がないかを確認することをおすすめします。
またFTP?という方は
を使えばWordPressの管理画面から同じような操作ができますのでおすすめです。
不要な投稿タイプを削除する
WordPressには通常の「投稿」「固定ページ」とは違う記事の集まりが作れるカスタム投稿タイプという機能が標準搭載されています。プラグインの中にはこのカスタム投稿タイプを使用して情報を保存するものが多数あります。
そのプラグインを使わなくなったら当然不要なコンテンツとなりますから
を使って検索・削除するようにしましょう。
上級編
ここからは何が何でもゴミファイルを残したくない!!という方におすすめの方法です。サーバーの中にあるごみデータを目視で削除する方法を紹介します。より大きな効果が期待できる反面失敗すると元に戻せなくなりサイトが壊れてしまう可能性もありますので心して余裕をもって、できればテストサイトなどで十分に検証した上で実行することをお勧めします。
いずれも直接データベースに接続して操作しなくてもいいようにプラグインが用意されていますので、データベース内での作業をしたことがない、慣れてない方はこの方法の方が無難だと思います。
※データベース内を直接操作できないようになっているサーバーではいざというときに内容の確認や修復ができませんので、プラグインで編集できるようになったとしても実行することはおすすめしません。
プラグインの残したゴミデータやテーブルを削除する
プラグインによってはインストール時にWordPressの情報が格納されているデータベース内へ独自のテーブルを作成するものがあります。これらは使用しなくなればただのゴミですから一掃しましょう。
とはいえ、どれが該当テーブルかがはっきりしないことが多いですから
というプラグインを使うと便利です。このプラグインは現在使用していないデータベース内のテーブルを検出し、個別に削除できるようになっています。
人間が何かを探すときに探す箇所が少ない方がやりやすいように、たくさんの引き出しからいろいろ探してデータを表示するよりも必要な引き出しだけがあった方がデータを探しやすいのは間違いないですから、プラグインを使用しなくなったら実行するようにしてゴミテーブルを残さないようにしましょう。
それならプラグインのアンインストール時に自動でやってくれよ!!と文句を言いたいところですね。プラグインによってはもちろんこれらを削除するというオプションがあるものもありますが、大抵の場合はテーブルを削除することで他の動作に影響が出てしまうのを避ける、再度同じプラグインを使ったときの処理をスムーズにするといった観点から削除してくれないものが多いです。
データベースのwp_options.phpに追記された項目を削除する
前述したプラグインでゴミテーブルの削除はできました。でもまだデータが残っている場所があります。それが「wp-options」テーブル。これはWordPress標準のテーブルで無碍に削除することができません。
以前に使っていたプラグインやテーマを削除して、もう一度インストールしたら前の設定がそのまま残ってた・・・なんて経験ありませんか?この情報を持っているのが「wp-options」テーブルなのです。
とはいえ不要なデータ以外を削除すれば即刻動作停止・・となってしまいますので細心の注意を払うことが必要。データベースに直接接続してテーブルを開いて・・とすればできないことはありませんが、データ自体が見にくいものが多く失敗してしまう可能性があります。
そんなときにおすすめなのが
このプラグインはWordPressの管理画面上で「wp-options」テーブルの中身を見たり、編集したり、削除したりできる超便利なツール。確実にこれは使われていない!というデータは削除するようにしましょう。
いかがでしたか?サイトを定期的にメンテナンスしてより長くより快適にサイト運営をしていきましょう。