[PR] 本記事にはプロモーションが含まれています。

【Search Console】「サーバーエラー(5xx)」が出たときの確かめ方|今もエラーか、過去の記録かを切り分けて、修正を検証するまで

Google Search

【2026年7月15日時点の情報です】

Google Search Console から、「サーバーエラー(5xx)のためインデックスに登録されませんでした」という通知が届きました。

「サーバーエラー(5xx)」が出たときの確かめ方

ところが、そのURLをブラウザで開くと、普通に「ページが見つかりません(404)」の画面が出ます。この記事では、画面は普通なのにSearch Consoleに5xxが残る理由と、今もエラーになっているのかを確かめる方法、自宅サーバーで原因を探すところ、Googleに直ったことを伝える手順をまとめます。

Search Consoleに出ているのは「そのときの記録」

Search Consoleの「URL検査」でそのURLを調べると、「前回のクロール」の日時が表示されます。Search Consoleのエラーは、Googleのクローラーがその日時にアクセスしたときの結果です。

そのとき、サーバーの再起動中だったり、一時的に止まっていたりしてエラーを返していれば、今は直っていても、Googleがもう一度アクセスするまでは5xxの記録が残ります。私の場合は、サーバーを再起動していた時間帯にクロールされていたようです。

なので、まず「今もエラーになっているのか」を確かめます。

今もエラーになっているか確かめる

Search Consoleの「公開URLをテスト」

  1. Search Consoleで、左のメニューの「URL検査」を開く
  2. エラーが出ているURLを入力する
  3. 画面右上の「公開 URL をテスト」を押す(1、2分かかることがある)
「サーバーエラー(5xx)」が出たときの確かめ方:Search Consoleの「公開URLをテスト」

このテストは、Googleが今そのURLにアクセスした結果を返してくれます。

  • 404や、ページが取得できたという結果:
    今はエラーになっていません。あとは「修正を検証」でGoogleに伝えるだけです
  • 今も5xx:
    サーバー側で何かが起きています。下の「自宅サーバーで確かめるところ」へ

自分でステータスコードを確かめる

ブラウザの画面だけでは、本当に404なのか、エラー画面が出ているだけなのかが分かりにくいことがあります。curl を使うと、サーバーが返したステータスコードをそのまま確かめられます(URLは例です)。

Bash
curl -s -o /dev/null -w "%{http_code}\n" https://softdev-learn.cc/category/old-category/
表示意味
200ページが表示されている
301、302別のURLに転送されている
404ページはない(消したページなら、これで正しい)
500、502、503、530 などサーバー側のエラー

自宅サーバーで確かめるところ

このブログは、読者 → Cloudflare → cloudflared → Apache → PHP(WordPress)→ MariaDB(データベース)の順につながっています。このどこかが止まると、5xxになります。

Cloudflareのエラー画面かどうか

ブラウザにCloudflareのロゴとエラー番号が入った画面が出ているときは、Cloudflareより先(自宅サーバー側)で止まっています。

  • cloudflared が止まっている:
    CloudflareがTunnelにつながれず、エラー画面(エラー番号 1033、ステータス 530)になります
  • cloudflared は動いていて、Apacheが止まっている:
    cloudflared がApacheにつなげず、502 になります

サービスが動いているか

Bash
sudo systemctl status cloudflared httpd php-fpm mariadb --no-pager | grep -E "^●|Active:"

4つとも active (running) なら、動いています。止まっているものがあれば、sudo systemctl start サービス名 で起動し、ログで止まった理由を確かめます。

エラーの記録を見る

Bash
# Apacheのアクセスログから、5xxを返した記録を探す
sudo zgrep -h '" 5[0-9][0-9] ' /var/log/httpd/access_log* | tail -n 20

# ApacheとPHPのエラーログ
sudo tail -n 50 /var/log/httpd/error_log
sudo tail -n 50 /var/log/php-fpm/www-error.log

アクセスログに5xxの記録があれば、その時刻にエラーログに何が出ているかを見ます。アクセスログに記録がなければ、Apacheまで届かずに、Cloudflareか cloudflared のところで止まっていたことになります。

自動更新のあとの cloudflared

このサーバーは、dnf-automatic で毎日パッケージを自動更新しています。dnf-automatic はファイルを更新してもサービスを再起動しないので、cloudflared が古いまま動き続けることがあります。このブログでは、更新のあとに cloudflared が更新されていれば自動で再起動するようにしています。Tunnelの設定は「Cloudflare Tunnelで自宅サーバーを公開する方法」で紹介しています。

Googleに直ったことを伝える:修正を検証

今はエラーになっていないことを確かめたら、Search Consoleで「修正を検証」を押します。

  1. Search Consoleの左のメニューの「ページ」を開き、エラーの一覧から「サーバーエラー(5xx)」を押す
  2. 画面の上のほうにある「修正を検証」を押す
「サーバーエラー(5xx)」が出たときの確かめ方:Googleに直ったことを伝える:修正を検証

検証を始めると、Googleが対象のURLをもう一度確かめます。結果が出るまでには、数日から数週間かかることがあります。対象のURLが404になっていると確かめられれば、5xxの一覧からは外れます。

消したカテゴリーのページがエラーになったときの対処は、「不要なカテゴリーを削除したらSearch Consoleでエラー多発?原因と正しい対処法」で紹介しています。

まとめ

  • Search Consoleの5xxは、Googleがアクセスしたときの記録。今は直っていても、次に確かめられるまでは残る
  • 「公開URLをテスト」と curl で、今のステータスコードを確かめる
  • 今も5xxなら、cloudflared・Apache・php-fpm・MariaDB が動いているかと、エラーログを見る
  • 直っていたら「修正を検証」を押して、結果を待つ
  • WordPressのパーマリンクの保存し直しは、記事が404になるときの対処で、5xxの対処ではない

コメント