SEO担当として自社メディア記事の作成を行なっています。
サイト運用でページの削除やURL変更を行う際、画面上は「ページが見つかりません」と表示されているのに、裏側のHTTPステータスコードが正しく出力されておらず、Googlebotが混乱してしまうケースがよくあります。
今回はステータスコード問題解消依頼時、エンジニアとSEO担当者がすり合わせておきたいポイントを共有します。
依頼時のコミュニケーションの参考にしてください。
なお、本記事は2026年6月時点での勉強中の内容をもとにまとめています。専門的な部分はまだ学習中のため、誤りがある可能性があります。
今後も随時アップデートしていく予定ですので、参考としてお読みください。
はじめに
公開終了した記事のURLにアクセスした際、画面には「お探しのページは見つかりませんでした」というデザインが表示されているのに、裏側のステータスコードは正常を示す「200 OK」のまま返ってきてしまうことがあります(いわゆるソフト404)。
この状態だと、Googleは「まだこのページは存在している」と勘違いし、インデックスに残り続けてしまったり、本当にクロールしてほしい重要なページへのクローラーの巡回を無駄にしてしまうリスクがあります。
エンジニアと事前にすり合わせたい「3つのポイント」
上記の依頼を進めるにあたり、「SEO側はこういう意図を持っているので、システム側でどう実現できそうか」をお互いにすり合わせておくと、開発がよりスムーズに進むポイントをご紹介します。
① 「カスタム404ページ」と「ステータスコード」は別物
エンジニアがユーザーのために「404用デザインの画面」を作ってくれた時によく起きるすれ違いです。
画面の見た目がエラーページになっていても、サーバーがレスポンスとして返すHTTPヘッダーが 200 OK だと、Googlebotには「正常なページ」として認識されてしまいます(ソフト404)。
「画面の出し分けだけでなく、ヘッダーのステータスコード自体も 404 にしてほしい」というSEOの意図をしっかり共有しておくことが大切です。
② 404(未検出) と 410(消滅) の使い分け
| ステータスコード | 意味 |
|---|---|
| 404 | Page not found(ページが見つからなかった) |
| 410 | Gone(ページが削除された、なくなった) |
Googleの仕様上、404も410も最終的にはインデックスから削除されますが、410 の方が「このページは完全に消滅したので、早くクロール対象から外して良い」という強いシグナルになります。
ただし、システム側で「一時的な非公開」と「永久的な削除」を判定するのが難しいケースもあります。「今のシステムで 410 を出し分けることはできそうか?難しければ、まずは一律 404 で対応してほしい」など、無理のない範囲で相談してみるのがおすすめです。
参考
③ 301(恒久) と 302(一時) のリダイレクトの違い
| ステータスコード | 意味 |
|---|---|
| 301 | 恒久的な転移(ドメイン変更、URL構造変更) |
| 302 | 一時的な転移(メンテナンス、A/Bテスト) |
システムやフレームワークによっては、デフォルトのリダイレクト設定が 302(一時的な転移) になっていることがあります。
しかしSEO観点では、旧URLのSEO評価(リンクジュース)を新URLへしっかり引き継ぐためには 301 が必須です。
「このリダイレクトはSEO評価を引き継ぎたいので、301で指定してほしいです」と背景を伝えておくことで、意図しない 302 による評価のロスを防ぐことができます。
📋 【コピペ用】エンジニア依頼用テンプレート
以下は、ステータスコードの問題が起きた時にエンジニアへ依頼するためのテンプレです。
Markdownでそのままコピーして使えます。
### 目的・背景(Why)
現状、削除されたページや移動したページに対して、適切なHTTPステータスコードが返されていない箇所があり、Googlebotに正しいページ状態が伝わっていない懸念があります。
(※画面上はエラーページでも、ステータスコードが `200 OK` で返っているソフト404の状態など)
SEOの評価を正しく引き継ぐ、または不要なページをインデックスから速やかに削除するため、ステータスコードの出し分け要件をご相談したいです。
### 実現したいこと(What)
ページの状態に応じて、以下のステータスコードを返すようルーティングの制御をお願いできないでしょうか。
#### 1. 削除・非公開ページ(404 または 410)
* **通常の削除/非公開:** 該当URLにアクセスされた際、画面でエラーメッセージを表示すると同時に、HTTPヘッダーで `404 (Not Found)` を返したいです。
* **永久に削除・復活しないページ(可能であれば):** 意図的に完全に削除し、二度と復活しないページであることがシステム側で判別可能な場合は、Googleに「早くインデックスから消して」と伝えるため `410 (Gone)` を返したいです。
#### 2. URLの変更・移動(301 または 302)
* **恒久的な移動(301):** URLの変更や、別の記事へ統合した場合は、旧URLから新URLへ `301 (Moved Permanently)` リダイレクトをお願いします。
* **一時的な移動(302):** メンテナンス中の代替ページへの案内など、将来的に元のURLに戻す予定がある場合のみ `302 (Found)` を使用したいです。
### ゴール(Goals)
* [ ] 削除/非公開ページのステータスコードが `404` または `410` になっている(ソフト404が解消されている)
* [ ] 記事の統合・URL変更時は `301` リダイレクトが実行される
* [ ] 一時的な転送を除き、不用意に `302` が使われていない
おわりに
ページの削除やURL変更の際、適切なステータスコードが返せていないと、Googlebotの無駄なクロールが発生したり、SEO評価が引き継がれないといった課題が生じます。
この課題を解決するためには、単に作業を依頼するのではなく、3つのポイントをエンジニアと事前にすり合わせることがカギになります。
SEO側の意図とシステム側の制御方針をお互いに共有し、Googleに正しいページ状態を伝えるたたき台として、今回の内容が少しでも参考になれば幸いです。