WordPressのサーバー負荷対策

WordPressはいろいろな機能があり、デザインが柔軟であり、ブログの要素も持ちながら固定ホームページの要素も使えるという便利なサイト作成ツールなのですが、サイトの表示方法の特性からHTMLで作られたページと比べると「大飯喰らい」なところがあります。

スポンサーリンク

WordPressがサーバーに与える負荷

WordPressはHTMLで作られたサイトと違い、ページにアクセスがあった時に要素を格納したデータベースというデータの集まりから引っ張り出して表示するタイプのサイト作成ツールです。従って1つのページを作るのに、いくつものデータベース問い合わせ(クエリ)が実行され、これがサーバーに対する負荷を増大させる原因になります。

また、プラグインによって便利な機能が簡単に実装できるので、プラグインをどんどん追加していくうち、さらにページを作るのにたくさんのクエリが実行され、どんどんどんどん負荷がかかっていきます。負荷がかかるとサイトの表示速度も遅くなり、せっかくアクセスしてくれた訪問者にも不快な思いをさせてしまいます。

サイトを作成して情報が少ないうちはまだ大丈夫なのですが、情報が増え、アクセスが増えてくると、ページを表示する度に過度の負荷がサーバーにかかるようになり、有料・無料を問わずサーバーの過大負荷によってサイトが突然凍結されて表示できなくなったり、アカウントそのものが規約に基づいて削除されてしまったりすることがあり、今まで作った情報がすべて無になってしまうということにもなりかねません。

どの位負荷が増大するのかはあまり詳しくレンタルサーバーから公表されませんが、自分でサーバーを作って運営してみる(自宅サーバーを作って公開してみる)と、すごい負荷がかかってくるのが分かります。1つのサーバーを1つのアカウントで運営する独自サーバーならまだしも、安価に契約できる共用サーバー(いくつかのアカウントが1つのサーバーコンピューターに同居する)では、1つのアカウントで負荷が増大すると他のアカウントに影響が出てくるのでより一層シビアに負荷管理をしています。

サーバーへの負荷をできる限り回避して、訪問者にも優しいサイト作りをしたいものですね。

WordPressが与えるサーバーの負荷を軽減していく方法

キャッシュを利用する

ページの情報を一定時間保存して、ページを作る際の負荷を減らす方法です。キャッシュにはいろいろな種類があり、サーバーに寄っては対応を誤るとさらに高負荷がかかってしまう可能性もありますので、様子を見ながら導入するようにしましょう。

最近のレンタルサーバーではWordpressの負荷対策としてキャッシュ機能を標準搭載しているところが増えています。Wordpressのインストールツールが備わっているサーバーやWordpressに特化したサーバーなどでは採用されていることが多いので、二重に設定して不具合などが起こらないように確認が必要です。

また、キャッシュを使うことで記事の内容を編集したり、CSSの変更をしても一定時間は反映されませんから注意が必要です。

高負荷に対して敏感なのは無料で使うことが出来る海外のサーバーなどが多いです。頻繁に情報を更新したり、少しアクセス数が増えただけで簡単にアカウントが停止されることがあります。復旧できればいいのですが、無料である以上何の保証もありませんので、いざというときのために記事や固定ページの内容だけでもバックアップ(エクスポート)して保存する癖を付けましょう。

ページにいろいろな要素を表示するとどんどんクエリ数が増えていって、クエリが増える=データの出入りが増える=データベースに負荷がかかるということになる部分が改善できないかと思い導入しました。

いらないプラグインを削除する

WordPressには便利なプラグインがたくさんあって、知らず知らずの間に40、50と増えて行ってしまいます。当然プラグインのプログラムが動けばクエリも増える=負荷が高くなることになるので、不要なものは削除しましょう。

経験上負荷が高いと思われるのは、アクセス解析系のもの、apiを使って他のサイトの情報を一覧表示するようなものです。

関連記事表示一つとっても同一カテゴリー内から引っ張り出すだけのシンプルなものから、本格的にapiを使って要素を検索して似た記事の表示をするものまでいろいろありますが、できればシンプルなものを選んだほうがいいと思います。

また、アクセス解析系のプラグインはサイト構築の励みにもなるのでいくつも入れてしまいがちですが、殆どの機能はGoogle Analyticsなどの外部ツールで代用できるので必要な物を最小限に入れるようにしたいです。Google Analyticsのサイトをいちいち見るのが面倒な方は、Wordpressの管理画面から主要な情報が確認できるプラグインもあります。

どんな機能でも備わってしまいそうなWordpressのプラグイン。中でもサイトを作った成果が実感できるアクセス解析系のプラグインはみなさん必ず使っていると思います。「Google Analytics Dashboard」は少しでも負荷を減らすために外部にアクセス解析を任せて、結果だけを管理画面に表示するプラグインです。

あとアクセスがある度に負荷が大きかった(更新が頻繁すぎてクローラーのクロールが激しく来る)のは楽天市場やアマゾンの商品検索ができるCS SHOPやVS Searchなどのプラグインです。便利なのですが、やはりこれを外した途端に負荷が下がったので重たいのだと思います。

アカウント凍結などが起きる前にしっかり対策して訪問者に迷惑をかけないサイト作りを心がけましょう!!

カテゴリーやタグを整理する

記事にタグやカテゴリーを付けることで内部リンクを充実させSEOに有利だと言われているWordpressの機能。内部リンクの効果だけでなく、カテゴリーやタグでまとめられた記事一覧ページが自動で作られるためアクセス数増加も期待できるところですが、記事数が少ないタグやカテゴリーに対してもどんどんページが作られ、アクセスされる可能性が高くなるのはいいのですが、タグ付けされたページが都度作成されることで必然的に負荷が高くなります。不要なタグやカテゴリーは極力整理することをお勧めします。

こんな便利な機能はない!!ということで記事投稿時にバンバンタグを追加していくと、ある日突然「公開」「編集」ボタンを押したときのパフォーマンス低下が著しくなってきます。なかなか記事公開が終わらない、記事編集が終わらない、画面が一旦真っ白になるなどプチ不具合が発生してきます。

余分なping送信をなくす

検索エンジンやブログのアクセスランキングなどのサイトに対して更新情報を送信するping機能。記事の作成時や編集時に更新通知をしてくれるのは便利でアクセスアップにも一役買うのですが、これを送る作業も実は結構サーバーに負荷をかけています。特に複数の記事を一気に公開するときや複数の記事を一気に修正するときなどは思いがけず負荷がかかり続けトラブルになることもあります。Wordpress標準機能ではping送信を行う入力窓に送信先を入力しておくことで自動で送信されますが、止める機能はなく、止めたいときにはメモ帳に一旦書きだして窓のテキストは削除ということをする必要があります。Wordpress Ping Optimizerプラグインはping送信の適正化をするプラグインとして知られていますが、1箇所変更するだけでping送信を停止する機能もありますので意外に重宝します。

「WordPress Ping Optimizer」はこの重複ping送信を制限することのできるプラグインです。たくさんありそうなプラグインですが、Wordpressの公式サイトで検索しても同様の機能のものがない、唯一のプラグインではないかと思われます。
せっかく記事を更新するのですから、アクセスアップにつながるかどうかは別として、きちんと更新通知されるようにしましょう。特にブログランキングなどのpingありきで記事データを拾うようなツールは記事の更新時もping送信した方が有利だと思います。
ping送信という作業が結構負荷の拡大につながるようで、たくさんの記事をインポートした際などには必ずといっていいほど高負荷が発生します。
役に立つ情報でしたらぜひSNSやメールでシェアしてください
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
ページ先頭へ