503エラーの対処・解消に使える5つの方法!アクセス過多に対応しよう
サイトを運営していると突然こんなエラーが出てくることってありますよね。
これは「503エラー」なんて呼ばれるもので、急激にアクセスが集まりすぎて起こるエラーのことです。
決してあなたのサイトがバグったとかウィルスに攻撃されたとかではないのでひとまずは安心していただきたいのですが、これってけっこう損しています。
503エラーが起きてしまうと、これが起きている間サイトに訪問したい人を受け入れることができません。
せっかく記事がSNSとかでバズって自分のサイトをたくさんの人に見てもらうチャンスだったのに、こちら側の受け入れ体制が十分でなかったためにその機会が損失されてしまうのです。
ということで今回はそんな損失を最小限にするため、個人でWordPressでブログを運営している方向けに「503エラーの対処・解消に使える5つの方法」をご紹介していきます。
僕も月間200万PV近くいった月があって、もはやデフォルトで503エラーが表示されて損しまくった時の経験を元に書いてみましたので、ぜひご参考ください。
Contents
503エラーとは?
503エラーとは端的に言うと「サイトにアクセスが来すぎて満パンになっているので、もうこれ以上受け入れられません」というサインです。
僕はエックスサーバーを使用していますが、アクセスが集まりすぎて503エラーになるとちょっとしてから「お客様のサーバーアカウントに対する集中ア
平素は当サービスをご利用いただき誠にありがとうございます。
Xserver カスタマーサポートでございます。サーバーID :◯◯◯◯◯◯
ドメイン名 :◯◯◯◯◯◯
お問合せ番号:◯◯◯◯◯◯お客様のサーバーアカウントにおいて、
上記ドメイン名への集中アクセスにより
月/日 00:00頃から、サーバー全体に非常に高い負荷がかかっておりました。 そのため、障害の発生を防ぐことを目的とし、
00:00頃~00:00頃まで、
お客様のサーバーアカウントへのWebアクセスを一時的に制限しておりました。 現在はWebアクセスの制限を解除しております。
事後のご連絡となり大変申し訳ございませんが、
何卒ご理解くださいますようお願いいたします。
こちらの太字にある通り、「サイトへの集中アクセスにより、Webアクセスを一時的に制限していた」のが503エラーの状態です。
よく「サーバーがダウンしている」と勘違いされている方もいらっしゃいますが、正確に言うとダウンしているのではなく、アクセス制限を設けているということですね。(サーバーがダウンしたらサーバー会社は損害賠償モノです)
503エラーが起きる原因
もうご理解されていると思いますが、503エラーが起きる原因は基本的に「アクセスが大量に集まりすぎる」ことです。
ネット上にある全てのWebサイトは世界中のどこかにあるそれぞれのサーバーの上で動いていますが、このサーバーには同時接続可能数というものが存在します。
これを超えてしまうとサーバー自体がダウンしてとんでもないことになるので、各サーバー会社はある程度で制限を設けてこれに対処しているのです。
また、503エラーが起きる大きな要因として「読み込みに時間がかかるコンテンツがたくさんあること」も上げられます。
画像を圧縮せずに大量に使っている、動画を貼り付けまくっているなどするとそれぞれの訪問者がサーバーのデータベースへアクセスする回数も多くなるので当然ページの読み込み速度は遅くなります。
この状態でたくさんアクセスが来てしまうと、これも503エラーを引き起こすきっかけとなるのです。
まあ実際の飲食店の店舗とかと同じで、スペースに限りがある中でお客さんを入れすぎたり、家具とかオブジェを設置しすぎるとパンクして人が入れなくなってしまうということですね。
503エラーが続くと…
503エラーが起きる、もしくは続いてしまうと何がよくないのか。
冒頭でもご紹介しましたが、それは「機会損失につながるから」です。
サイトにアクセスがたくさんくるのってすごく嬉しいですよね。
自分が丹精込めて書いた記事に大量にアクセスがくるのは最高に感動します。
しかし、もしもここで503エラーが起きてしまったら…
せっかくあなたの記事にアクセスをしようと思っても503エラーが返ってきてしまって見ることができません。
Web上の情報ってほんとにシビアで、その時その瞬間にアクセスができないとほとんどの人は後になって503エラーが解消されても見ない傾向にあります。
ひっきりなしに情報の洪水が押し寄せるネット上では、そのサイトに相当なブランドがない限り「なんかアクセス過多で見れないから、またあとで見よう〜」となる可能性は限りなく低いのです。
僕も1日に16万PV、月間200万PV近く集めたこともありますが、この時はいつサイトを開いても503エラーという感じで相当機会損失があったなと…
こうなってしまってはもったいないので、いつアクセスの爆発が起きてもいいように、以下でご紹介する方法でアクセス過多にはしっかり対応しておきましょう。
503エラーの対処・解消に使える5つの方法
ということでここからは個人でWordPressを運営している方向けに、503エラーを引き起こす可能性を縮める方法についてご紹介します。
一度503エラーが起きてしまったらアクセスが落ち着くまで待つしかありませんので、普段アクセスが落ち着いている時にこれらの方法を試してみて下さい。
サーバーを変える
おそらく個人でサイトやブログを持つ多くの人は「共用サーバー」というものを使っていて、他の人と一つのサーバーリソースを分け合っている状態だと思います。
これはイメージ的にはシェアハウスに住んでいて同居人がいる状態です。
対して「専用サーバー」というものもあって、これは一つのサーバーを自分が独占している状態。
イメージ的には一軒家です。
アクセス過多に対処して503エラーを引き起こしにくくするのあれば専用サーバーのほうが向いています。
503エラーはそもそもほとんどの場合、自分がそのサーバーのリソースを使いすぎて他の方の陣地に影響を及ぼさないようにするために発動します。
同居人に迷惑がかからないようにしているわけですね。
が、個人の場合だと専用サーバーで契約するのって金額的にけっこうキツイ…
試しに「専用サーバー 料金」とかでググるとわかりますが、
- 初期費用10万
- 月々の費用1万
とかかかります。
企業が運営するようなでっかいサイトなら専用サーバーでいいと思いますが、これを個人が使うのはなかなか予算的に厳しそうです。
ここまでの金額は出せないということでしたら、共用サーバーにはなりますが、とりあえずエックスサーバー使っとけば間違いないです。(ホントに)
エックスサーバーは国内では最高峰の安定稼働率を誇り、アクセス負荷への耐性も高いことで有名なサーバーです。
他のサーバー屋さんと比べると値段は高いですが、個人で使うのであれば一番下のプランでまず問題なくて月々1000円とか。
503エラーが起きてしまった時に生じる機会損失と比べると全然マシだと思います。
ただエックスサーバーもいろいろと種類がありまして、もしもWordPressを運営するつもりで月間100万PVレベルのアクセスに対処したいのであれば「wpXレンタルサーバー」というのがオススメ。
wpXレンタルサーバーは、エックスサーバーが提供するサーバー中でもWordPressの運用に特化したやつで、これならリアルタイムのアクセス数1万にも耐えられます。
ただWordPressに特化している分、このサーバー上でCMSはWordPressしか動かせません。
あとドメインを設置できる個数も10個と限りがあります。
もしもWordPress以外のものもサーバー上で動かしたい、ドメインを10個以上登録する予定があるとかなら「エックスサーバーのレンタルサーバー」が良いでしょう。
僕はこの「X10プラン」というやつを長年使っていますが、やっぱり安定していてとても良いサーバーです。(月々1000円くらい)
⇒ エックスサーバーを自己アフィリエイトでサーバーレンタルする方法
PHPのバージョンを上げる
それからけっこう見落としている方もいらっしゃいますが、使っているサーバーのPHPのバージョンをあげることもオススメ。
というかこれが一番手っ取り早いです。
こちらはエックスサーバーの管理画面になりますが、こんな感じで簡単にPHPのバージョンを変更することができます。
ただし気をつけておきたいのが、やる前にWordPress、テーマ、プラグインを更新すること。
古いものを使っているとPHPのバージョンをアップした時にバグってサイトが真っ白になります。
⇒ WordPressで画面が真っ白になった時の対処方法|超初心者向け
全て最新のものにしてからPHPのバージョンも上げましょう。
PHPのバージョンを上げることはセキュリティ的にも大事です。
こちらもぜひご参考ください。
⇒ 最低これだけは!WordPressのセキュリティを強化・向上する6つの対策
CDNを使用する
CDNとは「コンテンツ・デリバリー・ネットワーク」の略で画像や動画などのコンテンツを複数のサーバーに配置し、負荷分散を行う仕組みのことです。
503エラーが起きてしまう要因として「読み込みに時間がかかるコンテンツがたくさんあること」と先ほどご紹介しましたね。
画像とか動画を貼りすぎていてサイトが重くなっているなら、それらのデータを別のサーバーから呼び出すようにすれば負荷が分散されて503エラーが起きにくい状態を作ることができます。
そこでオススメなCDNが”CloudFlare“という無料サービスです。
これを使えば画像などの静的ファイルが外部サーバーから配信されることになり、アクセスが大量に集まってきても503エラーが起きにくくなります。
アメリカの企業が運営しているので全部英語なのが厄介ですが、簡単な英語さえ読めればまあなんとかなるかなと。
ただし、これをやると”Fancybox for WP”のような画像をクリックするとかっこいい感じに表示してくれるライトボックス系プラグインは機能しなくなるので注意しましょう。
画像を圧縮する
もしもCloudFlareのようなCDNを使いたくないという場合、せめて画像のサイズを適切にするなどして容量を小さくして使いましょう。
僕は”Unsplash“という海外のフリー画像サイトからよく画像を取ってくるのですが、画像をダウンロードした直後は6000×4000pxとかバカでかいサイズになっています。
ブログに貼り付けるのであれば多分大きくても横幅2000px、普通なら650pxくらいあれば十分なのでこの容量はかなり無駄です。
そうした場合は”TinyPng“のように画像をまとめて一気に縮小できるツールを使ってサイズを整えましょう。
⇒ TinyPng
あと個人的には”PhotoScape“のような無料の画像編集ソフトを使うのもオススメです。
⇒ PhotoScapeで画像加工・枠づけやモザイクなど便利な機能満載
キャッシュ系のプラグインを使う
WordPressの方限定になりますが、キャッシュ系のプラグインを使うのも一つの手です。
- WP Super Cache
- W3 Total Cache
- ZenCache(Quick Cache)
ここらへんが有名なキャッシュ系のプラグインですね。
キャッシュ系のプラグインを使うメリットは、サイトの訪問者がページの読み込みをする時のプロセスを大幅に削減できることです。
通常Webページに訪問したときには毎回データベースへアクセスしてコンテンツを動的に取得しますが、キャッシュをためれば毎回それをする必要がなくなります。
まあ簡単に言うと、一度訪問したサイトのデータを覚えておいて、改めて訪問するときにはそのときのデータを覚えているから表示が早くなるってことです。
ですが、キャッシュ系プラグインってすぐエラーが起きたりして、いろいろと面倒なので僕はあまり使ってません。
なんかエラーが起きたらいつも真っ先にキャッシュ系のせいではないかと疑って…一回プラグインと溜まったキャッシュを全部削除して…
PHPのこととか詳しい人にはオススメですが、そうでないならあんまり手を出さないほうがベターかもしれません。
まとめ:アクセス過多に対処して機会損失を減らそう
ということで今回は503エラーへの対処・解消の方法ということで5つの方法についてご紹介しました。
- サーバーを変える
- PHPのバージョンを上げる
- CDNを使う
- 画像を圧縮する
- キャッシュ系プラグインを使う
アクセスの爆発ってけっこう突拍子もなくやってくるので仕方がないことではあります。
が、やっぱり503エラーが起きてしまうとかなりもったいないことになるのでできるだけ対策はとっておきましょう。
備えあれば憂いなしです。