Copicode 日本語トップ

Search Consoleの「サーバーエラー(5xx)」とは?

Search Consoleのページのインデックス登録で、「サーバーエラー(5xx)」と表示されることがあります。これは、Googlebotがページを取得しようとした時に、サーバー側から500番台のエラーが返った状態です。

ただし、今も壊れているとは限りません。一時的なサーバー混雑や、修正前のクロール結果が残っているだけのこともあります。この記事では、Search Consoleの表示、ライブURLテスト、ブラウザ表示、PHPエラー、.htaccessを分けて確認します。

先に結論

サーバーエラー(5xx)が出たら、次の順番で確認します。

  1. Search Consoleで対象URLと最終クロール日をメモする
  2. ライブURLテストで現在も取得できないか確認する
  3. ブラウザで対象URLを開き、500、503、真っ白、正常表示を分ける
  4. サイト全体か、特定ページだけかを切り分ける
  5. 直前に触ったPHP、.htaccess、PHPバージョン、DB接続を確認する
  6. ロリポップのPHPエラー確認やローカルのphp -lで原因を探す
  7. 復旧後にライブURLテストを行い、必要ならインデックス登録をリクエストする

まず今もエラーか、過去のエラーかを分ける

Search Consoleのレポートは、Googleが最後にクロールした時点の情報を表示していることがあります。修正済みでも、レポート上はしばらく5xxに見える場合があります。

状態判断次にすること
ライブURLテストも失敗する現在も取得できない可能性が高いサーバー、PHP、.htaccessを先に直す
ライブURLテストは成功する一時的な5xx、または修正済みの可能性最終クロール日を見て、必要なら再リクエストする
ブラウザでも500が出るユーザーにも影響している公開サイトの復旧を最優先する
自分のブラウザだけ正常Googlebotだけ失敗、または一時的な差時間帯、WAF、アクセス制限、サーバー負荷を見る
一部URLだけ5xx特定テンプレートやDB取得の問題かもしれない該当ページのPHP、include、DB処理を見る

5xxの種類をざっくり分ける

Search Consoleではまとめて5xxと出ることがありますが、実際のHTTPステータスを見ると原因の方向が絞れます。

表示例よくある意味見る場所
500 Internal Server Errorサーバー側処理に失敗PHPエラー、.htaccess、PHP設定
502 Bad Gatewayサーバー間の応答失敗一時障害、サーバー側の状態
503 Service Unavailable一時的な停止、メンテナンス、過負荷サーバー混雑、メンテナンス表示、アクセス集中
504 Gateway Timeout処理が時間内に終わらない重いPHP処理、DB、外部API、タイムアウト
429 Too Many Requestsリクエスト過多アクセス制限、WAF、レート制限

ロリポップや自作PHPサイトで多い原因

ロリポップやFTP運用のPHPサイトでは、5xxは「サーバーが壊れた」よりも、直前に触ったPHPや.htaccessが原因のことが多いです。

原因確認するもの進む記事
.htaccessの記述ミス直前に変更した行、リダイレクト、許可されないディレクティブ.htaccessで500エラーになった時の戻し方
PHPの構文ミスphp -l、Parse error、直前の編集PHPエラーログを見る方法
includeやrequireの失敗本番パス、共通パーツ、ファイル名の大文字小文字PHP includeが本番だけ読み込めない時
PHPバージョン変更後の互換性Deprecated、Fatal error、古い関数PHPバージョン変更後に動かない時
DB接続や外部APIで止まる接続情報、タイムアウト、エラーログMySQLに接続できない時

サイト全体か、1ページだけかを見る

5xxの調査では、対象URLだけでなく、トップページ、カテゴリ、画像やCSS、別のPHPページも開きます。範囲で原因がかなり変わります。

直してはいけない方向

5xxはサーバー側の取得失敗なので、記事本文やタイトルを先に直しても解決しないことがあります。まずGooglebotとユーザーがページを取得できる状態へ戻します。

焦ってやらないこと

  • 5xxのURLをサイトマップから外してごまかす
  • 500が出るページをトップページへリダイレクトする
  • 原因不明のまま.htaccessを全文置き換える
  • PHPエラー表示を本番で出しっぱなしにする
  • AIにサーバーパス、DBパスワード、FTP情報を貼る

修正後にSearch Consoleで見ること

  1. ブラウザで対象URLが200表示されるか確認する
  2. 複数ページを開き、サイト全体の500が消えたか見る
  3. Search Consoleで公開URLをテストする
  4. 取得成功なら、必要に応じてインデックス登録をリクエストする
  5. ページのインデックス登録レポートで、数日から1週間単位で変化を見る

AIへ相談する時のメモ

5xxは原因候補が広いので、URLと画面文言だけでなく、直前の変更、対象範囲、エラーログをセットで渡します。秘密情報は伏せてください。

Search Consoleで「サーバーエラー(5xx)」が出ています。

対象URL:

Search Consoleの表示:

最終クロール日:

ライブURLテスト結果:

ブラウザで開いた結果:
200 / 500 / 503 / 真っ白 / 未確認

エラーが出る範囲:
サイト全体 / 一部ページだけ / フォーム送信時だけ / 不明

直前に変更したもの:
PHP / .htaccess / PHPバージョン / DB / フォーム / 不明

PHPエラーログ:
(秘密情報を伏せて貼る)

php -l の結果:

.htaccessを変更したか:
はい / いいえ / 不明

確認してほしいこと:
1. 今も5xxなのか、過去のクロール結果が残っているだけか
2. PHP、.htaccess、DB、サーバー負荷のどれを先に疑うべきか
3. 触る前にバックアップすべきファイル
4. Search Consoleで修正後に確認する順番
5. 秘密情報を貼らずに追加で集めるべき情報

公式情報で確認する