エラーがないと生きていけなくて〜。
いや、それはエラですやーん。

そんなどうでも良いことは置いておいて、
WordPressを使っていて、「あれ!?」と思うページに遭遇したことはありませんか?

HTTPステータスコード:ページが見つかりませんでした。

そう、404エラーに代表されるHTTPステータスコードのことです。
404エラーと言われて、「え、つまりどういうことやねん?」と思ったりしませんか?

エラーも、その意味が分からなければ解析不可能なコードです。
もし、エラーになった時、慌てないように道しるべのように書いておきますので、参考にしてくださいね。

私たちがWebページを表示できる仕組み

私たちがインターネットを閲覧する時に使うものがありますよね?

そう、『ブラウザ』ですね。

ブラウザとは?
ブラウザはIE、Google Chrome、Firefox、SafariなどWebページを見るためのアプリケーションのことです。

このブラウザを使わなければWebページは見れません!

ブラウザは表示するだけでなくサーバーとのやり取りを行う

Webページを表示するためにはデータを『誰か』からもらわなければなりません。
その誰かが『サーバー』です。
閲覧しようとしているWebページに対して、「ページを見たいから情報ちょうだい!」と私たちの代わりにブラウザが言ってくれて、記事を読めているのです。
サーバーレスポンスの仕組み

私たち、Webページを表示して欲しいと思っている人を
『クライアント(依頼者)』と言います。

対して、Webページの情報を渡す人を
『サーバー(提供者)』と言います。

内容が難しいページには、この2つの言葉がよく出てくるので、覚えておいてくださいね。

HTTPステータスコードの詳細と対処法

HTTPステータスコードは数字によって意味が違ってきます。
実はHTTPステータスコードは種類がたくさんあります。

大まかにはこんな感じ。

  • 100番台 = 処理中(今やってるよ!ちょっと待ってね!)
  • 200番台 = 成功 (おめでとう!表示されました!)
  • 300番台 = 移転 (ここ場所変わったみたいだけど?)
  • 400番台 = クライアントエラー(何か間違ったことやってません?)
  • 500番台 = サーバーエラー  (直さないと表示できないみたい!)

全部覚える必要はないので、よく使う・見かけるコードをもうちょっと詳しく知っていきましょう!

HTTPステータスコード200:OK

HTTPステータスコード:200
HTTPステータスコードの200は表示成功のことです。
Request通りに、Responseが返ってきたという意味になります。
このコードは正常なので、目で見ることはほとんどないでしょう。

HTTPステータスコード301:Moved Parmanently

HTTPステータスコード:301

ページにアクセスしようとしたら別のページに飛んだ!?みたいなことはありませんか?
これが301です。
サイトのURLが変更され、「もう別の住所に引越ししました!」ということを言われてます。
※これを恒久的な移転と言います
基本的に301を設定すればアクセスした瞬間に新しいURLに飛んでくれるハズです。

サイトのURLを変更したら301リダイレクトを使おう

  • 同じ内容だけどURLだけ変更した
  • 古いサイトの記事を新しいサイトの記事として作り直した

こういうことがあるならば、301リダイレクトを使いましょう。
301リダイレクトを使えば今までのGoogle評価(検索順位)を80%程度、引き継ぐことができます。

301リダイレクトの方法はこちらから。タイトルは違うように思ってしまいますが、ちゃんとリダイレクトのやり方が全部載ってます。

もし、WordPressなら移転元のURLと、移転先のURLを入力するだけで301リダイレクトを実現できます!カンタン!

HTTPステータスコード302:Moved Temporarily

HTTPステータスコード:302

基本的にURLを変える時は、301リダイレクトを使うのですが、また元のURLに戻すなら302を使います。
301はずっと引っ越し。302は仮住まいってイメージですね。
まぁ、ほとんど302は使いません。

301との違いって何?
Googleクローラー(検索結果に掲載してくれるロボット)が、一時的な移動であることを読み取って、サイトの評価を移動先のURLに移さないようです。

302と303と307の違いって?

302、303、307はほぼ同じ意味らしく、いざ使う時に使い分けに困るそうです。
使い分けに関してはこちらの記事が詳しいので、使う方は読んでみてください。

HTTPステータスコード304:Not Modified

HTTPステータスコード:304

ページが表示される場合、ほとんどの場合、コード:200が返ってきています。
しかし、中にはコード:304が混じっている時もあります。

これはすでに一回ページを表示していて、「同じ情報持ってるからわざわざ読み込まないで、持ってる情報を表示したら?」というコードです。
一回でもアクセスしたリンクは青色ではなく紫色になる
検索で、このような紫色のリンクを見たことありませんか?
これが一回アクセスしたことあるページです。このようなページはすでに持っていることも多いので、304コードが返ってくることがあります。

一回アクセスしたページは早く表示できる
一回でもアクセスしたページは次に同じページを開いた時に素早く表示できるようにページの内容を一定期間、ブラウザ内に保存しています。
これをキャッシュと言います。(正確にはブラウザに保存されているので、ブラウザキャッシュと言います)

HTTPステータスコード403:Forbidden

HTTPステータスコード:403

これは「アンタがさわろうと思ったファイルは、アンタがさわっていいって言われてないよ!」ってことです。
簡単に言うと立入禁止ってこと。

管理者でも403エラー出ちゃうんだけど?

たまに管理者でも403エラーが出ちゃうことがあります。
これはサーバーに置いたファイルのアクセス権限が間違っていることが原因です。
ファイルにはサーバー側でアクセス権限が振られている

FTPでサーバーにアクセスし、アクセス権限を定義しましょう。

FTPアップロードとパーミッションの設定方法

ロリポップレンタルサーバーで403エラーが出る
ロリポップの場合、WAFという機能が邪魔をして編集できなかったりする場合もあります。そんな時はWAFをオフにして変更しましょう。

HTTPステータスコード404:(File)Not Found

HTTPステータスコード:404

ファイルが見つからなくて表示できませんでしたって言われてます。
ぶっちゃけ、このエラーが一番よく見かけます。

なぜかというと、リンク先が移転していたとか、ページが削除されていたという場合でもこの404が表示されるからです。

404エラーにしないために管理者が気をつけたいこと

URLを変更した場合、何かしら対策しなければ以前作ったページが他のページからたくさん被リンクをもらっていた場合、ページが探せなくなってしまうので、恩恵が受けられなくなります。

URLを変更する場合は、必ず301リダイレクトを入れて移転しましたよと伝えておきましょう。

410エラーもほぼ同じ意味です

実際にはあまり見かけないのですが、410エラーは404と同じように見つかりませんでしたという意味のコードです。
しかし、410の場合は『どこを探しても見つからない。きっとインターネットの世界から完全にいなくなったんだ』という意味を持っているようです。

ちょっと難しいですが、こちらに詳しく書いてあります。

HTTPステータスコードの404と410の扱いをGoogleは今は微妙に区別していた

404エラーなのに200コードが返ってくる?

404エラーなのに表示成功を表す200コードが返ってくることもあります。
404エラーなのに200コードが返ってくる場合
これは404エラーや、想定していないURLにアクセスされた時に、その時用のページを用意しているので、成功としているのです。

HTTPステータスコード500:Internal Server Error

HTTPステータスコード:500
500ってコードは表示しようとサーバーは頑張っているけど、「ファイルにエラーとか、バグがあって表示できません」と言われている状態です。

500エラーの改善

よくやるのが、WordPressなどでテーマの編集を行った時に構文ミスがあって500エラーになってしまうことが多いです。

  • なるべく元のファイルを残しておく
  • どこをどのように変更したのか記憶しておく

と良いでしょう。
構文エラーが改善すれば正常に表示されます。

HTTPステータスコード502:Bad Gateway

HTTPステータスコード:502エラー
502エラーはインターネットそのものの設定が間違ってる時に起こります。
つまりサーバーまで「情報ください!」が届いていません。

502エラーの解決策は?

こういう時はモデム、ルーターなどインターネットの設定を見直してみてください。

  • モデム、ルーターの電源は入っているか?
  • 機内モードになっていないか?
  • IPアドレスは正しく振られているか?
  • アクセスできないサイトは全部か、それとも一部か?(全部だったらルーター側に原因の場合が多い)
  • ファイアウォールでアクセスできないサイトではないか?

もし、これらでも解決できない場合は、プロキシサーバーと連携し、認証する仕組みが組まれているかもしれません。
その場合は、プロキシサーバー管理者に連絡して解決してもらうしかありません。
管理者サイドでの解決法は

  • ユーザーのアクセス権限は正しいか?
  • 文字コードは間違っていないか?
  • 改行は正しく行われているか?
  • アプリケーションに間違いが起こっていないか?

これらを確認してみましょう!
インターネットの設定に関してはさまざまな原因があります。一つ一つ原因を探って、頑張って解決していきましょう。

HTTPステータスコード503:Service Unavailable

HTTPステータスコード:503
503エラーはたくさんの人がアクセス集中しているから、捌ききれていないという場合に出てきます。
例えるならレストランに行った時に混んでて、「名前を書いてお待ちください〜」と同じ状況です。

503エラーの解決法は?

これはズバリ!
クライアント側はすることありません。
アクセスの集中が収まるまで待ちましょう。

サーバー側は

  • もっと処理速度の早いサーバーにする
  • 画像などを圧縮して転送データを軽くする

など、サーバ負荷を軽減し、503エラーにならないようにしましょう!

まとめ

どうだったでしょうか?
よく見かけるものは全て網羅したと思います。

HTTPステータスコードを意識して使う、理解することはGoogleのクローラーにとって非常に優しいサイト作りにもなります。
Webマーケティングでは重要な話なのですが、あまり話題にならないので、初心者の方はぜひ覚えておいてくださいね。
では!