エラーが出てWordPressの画面が表示されなくなりました
サーチコンソールに404エラーがたくさんでています。
ブログを運営していると、このようなトラブルに遭うことは少なくありません。
いざというときに冷静に対処できるようにするには、起きている現象の切り分けが重要です。
本記事では、ブラウザ上に表示されるエラーの種類やその対処法を大雑把に理解するのに役立つHTTPステータスコードについて解説します。
頻繁に目にすることがあるステータスコードはそれほど多くはありませんので覚えてしまいましょう。
- ステータスコードとは
- 覚えるべきステータスコードは6つだけ
- ステータスコードについてのよくある質問
- 見慣れないステータスコードを見かけたときの識別方法
HTTPステータスコードとは?
HTTPステータスコードとは、ウェブサーバーにアクセスした際の、サーバーからのレスポンス(返答)を示すものです。
3桁の数字で表されるようになっており、アクセス時の状態を素早く把握できます(RFC 7231にて定義されました)。
ブログの運営で覚えるべきステータスコードは6つのみ
ブログの運営において目にすることがある可能性のあるステータスコードは以下の6つくらいです。
ステータスコード | 意味 | 詳細 |
---|---|---|
404 | Not Found | ページが見つからなかった |
301 | Moved Permanently | リダイレクトされた(恒久的) |
302 | Found | リダイレクトされた(一時的) |
200 | OK | 正常に処理された |
500 | Internal Server Error | サーバーでエラーが起きている |
503 | Service Unabailable | 許容を超えるアクセスが起きている |
404 Not Found
意味 | ページが見つかりませんでした |
---|---|
いつ見つけるか | 存在しないページにアクセスしたとき |
影響 | ・ユーザーのサイトの離脱 ・SEOの順位低下 |
発生原因 | ・内部リンクの設定ミス ・リダイレクトの設定忘れ |
対処法 | ・リンク先を正しいものにする ・変更先のURLにリダイレクトする |
ページを開こうとしたがそのページは存在しなかった、というときに返されるコードです。
404のステータスコードが増えるということは、ユーザーの離脱が増えるばかりか、サイトのメンテナンスが十分に行き届いていないということになり、SEOの評価も悪くなります。
WordPressには、リンク切れを検出するBroken Link Checkerという便利なプラグインが入っているので、ひとまずそれを入れておけばリンク切れした箇所は検出できます。
- WordPressならBroken Link Checker プラグインをインストールしておく
- 定期的にサーチコンソールでエラーが出ていないか確認する
- 仮に404が発生したときに備えてエラーページを用意し離脱を防ぐ
- リンク切れの場合は正しいリンク先を再設定する
- リダイレクト忘れの場合はリダイレクトを設定する
404の発生はとにかく好ましい状態ではありませんので、発生しないように普段から注意しておきましょう。
301 Moved Permanently(リダイレクト)
意味 | 恒久的にリダイレクされました |
---|---|
いつ使うか | ページのアドレスを変更するとき |
画面に出るか | 出ない |
効果 | ・ユーザーの離脱を防ぐ ・SEOの評価を引き継ぐ |
確認方法 | リダイレクトチェックツール |
注意点 | リダイレクト先で404を発生させない リダイレクトチェーンを発生させない canonicalをリダイレクト先に設定する |
リダイレクトとは、Aページにアクセスされたときに、Bページに遷移させることです。
遷移先ページを直接表示させることが多いため、画面にエラーページなどは表示されません。
リダイレクトには複数の種類がありますが、個人ブログを運営するシーンにおいては原則301リダイレクトを設定しましょう。
- ドメインを変更する時
- SSLに対応する時
- URLの正規化を行う時
- WordPressテーマの機能を使用する(Cocoon・Affingerにリダイレクト機能有り)
- WordPressのリダイレクトプラグインを使う(例:Redirection)
- WordPressのSEOプラグインの機能を利用する(例:SEO Press)
- .htaccessの編集
- PHPによるリダイレクト
- リダイレクトチェックツールを使って正しくリダイレクトされたか確認する
- 複数回のリダイレクトが発生しないようにする(5回以上リダイレクトするとエラーが表示されます)
尚、リダイレクトの設定方法には、メタタグを使ったリダイレクトやJavaScriptを使った方法も存在しますが、クライアントサイドでのリダイレクトは環境によって機能しない場合があるので推奨されていません。
302 Found(一時的な移動)
意味 | 一時的にリダイレクトされました |
---|---|
いつ使うか | ・ABテストを行う場合 ・デバイス別にページを変える場合 |
302のリダイレクトは一時的なページ移動を指します。
301リダイレクトと並んでよく使われますが、個人ブログでは通常使うことがほとんどないはずです。
利用シーンとしては、ABテストを行う場合や、デバイス別でURLを変える場合など、どちらかと言えば企業のウェブサイトで使用する場合が中心です。
302リダイレクトはSEO評価を引き継がないといわれていた時期がありますが、現在は302リダイレクトでも評価は引き継がれます。
もともとMoved Temporarilyというステータスコードでしたが、誤った用法が多かったため、Foundに改められました。
200 OK(問題がない)
意味 | 問題なくページが表示された |
---|---|
いつ見かけるか | 一部のツール(スクレイピング系など) |
画面に出るか | 出ない |
対処法 | 特になし |
正常にアクセスできた状態の時に返されるステータスコードです。
画面に表示されることはなく、何も問題は起きていないので対処も不要です。
一部のツール類で、200 OK のような表示がされる場合があり、「ナニソレ?」となるかもしれないので200が戻ってきていたら問題なし、とだけ覚えればいいです。
500 Internal Server Error(サーバーエラー)
意味 | サーバー上でエラーがあります。 |
---|---|
いつ見つけるか | パーミッションの設定を間違えた時 プログラムをいじって間違ってた時 不具合のあるプラグインをインストールした時 |
画面に出るか | 表示される |
対処法 | プログラムやパーミッションの修正 元の状態に戻す |
サーバー側でエラーが発生してウェブサイトを閲覧できない状況です。
ブラウザにエラーが表示されるので、通常はすぐに気づくはずです。
サーバー上でエラーが発生していてサイトが使えない状態になっているもので、至急修正が必要です。
- パーミッションの変更直後に発生する場合は元に戻す
- プログラムのミスを修正する・元の状態に戻す
- プラグインの導入直後はアンインストールする
404 Not Foundは局所的にそのページだけで発生しますが、500エラーはサーバー全体が影響を受けることも多いため、発生を確認したらすぐに対応するようにしましょう。
503 Service Unavailable(サービスエラー)
意味 | アクセスが多すぎているので制限している |
---|---|
いつ見つけるか | アクセスが集中し、同時アクセス数の許容値を超えた時 重たいプログラムが動いている時 |
対処法 | サーバーの増強 実行されているプログラムの負荷を下げる |
通常の運営時には出にくいエラーです。
Webサーバーは同時にアクセスできる数に上限を設定しているのが普通です。
503サービスエラーは、この上限を超えるアクセスが発生する際や、実行しているプログラムの負荷が大きい状態になった時に表示されます。
個人ブログでこのステータスコードが表示されたときは、テレビなどで紹介されたりSNSでバズって一時的に急激にアクセスが増えているか、プラグインをインストールしたらやたら重たい処理を行っているかのどちらかが多いです。
- 重たい処理をしているプログラムを停止するか修正・削除する
- 同時アクセス数を増やす(サーバーを増強する)
ステータスコードに関するよくある質問
301と302のリダイレクトの違い
301 | 302 | |
---|---|---|
効果・意味 | 永久に移動 | 一時的に移動 |
インデックス | 移動先 | 元のページ |
SEO評価 | 引き継ぐ | 引き継ぐ |
使用場面 | URLの正規化 SSL対応 ドメインの変更 | メンテナンス中 スマホページへの転送 ABテスト時 |
上記のような違い・使い分けがあります。個人ブログであれば、通常301のみ使えばOKです。
503のステータスコードに遭遇した時の対処法
アクセスが増加し、頻繁に503エラーが表示されるようになったら下記を検討しましょう。
- WordPressプラグインを減らす(サーバー負荷を下げる)
- サーバーの同時接続数を変更する
404ステータスコード対策【プラグインを入れるだけ】
Broken Link Checkerなどのリンク切れチェックツールを使い、404が発生したらリンクを修正するようにしましょう。
ソフト404とは?
サーチコンソールなどで、ソフト404という表示になる場合があります。
ソフト404とは、ステータスコードが200 OKであるにもかかわらず、404と同じように扱われるもののことです。
ソフト404は、Googleにより誤検知される場合も多く、WordPressプラグインの構成ファイルが対象に上がるなど対処しにくいものもあります。
対処可能なファイルの場合は、下記のようにします。
- 存在しないURLである場合は.htaccessなどでリダイレクトを設定する
- ページが存在する場合でリダイレクトしたいページならリダイレクトの設定をしてcanonicalを移動先に設定する
- サイトマップxmlに出力されている場合は削除する
- robots.txtでページの表示に使われているリソースをブロックしている場合は解除する
- ページが存在し、通常ページなのにソフト404と判定されている場合は、オリジナルコンテンツが少ない可能性があるので内容を充実化させる
サーチコンソール上で表示される場合は、時間の経過で消える場合もあるので対処が困難な場合はそのまま静観してみるのも手です。
見慣れないステータスコードが出てきたときの対処法
ステータスコード | 意味 | 重要度 | 緊急度 |
---|---|---|---|
100番台 | 情報(処理中) | 問題ない | 特になし |
200番台 | 正常 | 問題ない | 特になし |
300番台 | リダイレクト | 気を付ける | 特になし |
400番台 | 閲覧端末側のエラー | 対処が必要 | やや高い |
500番台 | サーバー側のエラー | 至急修正 | 高い |
100番台のステータスコードは情報(処理中)
100 | Continue |
---|---|
101 | Switching Protocols |
102 | Processing |
100番台は、言ってみれば「処理中」のものが多く、画面にも出ませんし、目にする機会は極めてまれです(私も見たことがありません)。
仮に何か表示されたとしても特に何か意識したり、対応する必要はありません。
200番台のステータスコードは成功
200 | OK |
---|---|
201 | Created |
202 | Accepted |
203 | Non-Authoritative Information |
204 | No Content |
205 | Reset Content |
206 | Partial Content |
200番台のステータスコードは、何かしらリクエストしたことが成功したことを示します。
こちらも100番台同様、何か対応する必要があるものはありません。
300番台のステータスコードはリダイレクト
300 | Multiple Choices |
---|---|
301 | Moved Permanently |
302 | Moved Temporarily(Found) |
303 | See Other |
304 | Not Modified |
305 | Use Proxy |
307 | Temporary Redirect |
300番台はリダイレクトを示します。
運営者が設定しない限り目にすることはほぼありません。
正確なリダイレクト先に遷移できているかや、リダイレクトチェーンになっていないか確認しましょう。
400番台のステータスコードはクライアントエラー
400 | Bad Request |
---|---|
401 | Unauthorized |
402 | Payment Required |
403 | Forbidden |
404 | Not Found |
405 | Method Not Allowed |
406 | Not Acceptable |
407 | Proxy Authentication Required |
408 | Request Time-out |
409 | Conflict |
410 | Gone |
411 | Length Required |
412 | Precondition Failed |
413 | Request Entity Too Large |
414 | Request-URI Too Large |
415 | Unsupported Media Type |
400番台は数こそ多いですが、で目にすることが多いのは、下記くらいです。
- 404 Not Found(存在しない)
- 403 Forbidden(権限がない)
403の場合はパーミッションが正しく設定できているかを確認してください。
404の場合は、リンク切れを見つけて修正しましょう。
500番台のステータスコードはサーバーエラー
500 | Internal Server Error |
---|---|
501 | Not Implemented |
502 | Bad Gateway |
503 | Service Unavailable |
504 | Gateway Time-out |
505 | HTTP Version not supported |
506 | Variant Also Negotiates |
507 | Insufficient Storage |
508 | Loop Detected |
509 | Bandwidth Limit Exceeded |
510 | Not Extended |
500番台はサーバー上で何らかのエラーが発生しているときなので、目にする機会が最も多いのは、500エラーです。
500エラーは、WordPressでfunction.phpを編集した場合など、プログラム関連でエラーがあった時に目にすることが多いので、プログラム周りを修正した際は必ず正常にサイトが動作しているか確認しましょう。
またアクセスが集中すると503エラーが表示され、リダイレクトループに入っていると508エラーが表示されます。
まとめ:トラブルに備えてステータスコードを理解しよう
ブログを運営していると、まれにステータスコードについて知る必要が出てくるため、覚えるべきステータスコードを解説しました。
本記事の内容で特に押さえておくべき内容は以下のものです。
- 404 Not Found → リンク切れの対処が必要
- 301 Moved Permanently → リダイレクトは301で行う。
- 302 Found → 301との違いを把握し使わないようにする。
- 200 OK → ツールを使う際に稀に表示されるが問題なかったということ
- 500 Internal Server Error → function.phpの編集直後に発生することがある
- 503 Service Unavailable → 頻発するならサーバー移転を検討する
ステータスコード | 意味 | 重要度 | 緊急度 |
---|---|---|---|
100番台 | 情報(処理中) | 問題ない | 特になし |
200番台 | 正常 | 問題ない | 特になし |
300番台 | リダイレクト | 気を付ける | 特になし |
400番台 | 閲覧端末側のエラー | 対処が必要 | やや高い |
500番台 | サーバー側のエラー | 至急修正 | 高い |
トラブルに備え、400番台と500番台のステータスコードが発生したら何らか問題が発生しているので対処が必要、とだけ覚えておけばOKです。