410 Goneの意味
410 Goneは、オリジンサーバーが意図的に削除したと把握しており、再び提供される見込みが低いリソースに対するHTTPレスポンスです。RFC 9110では404と区別されています。404は、リソースがない状態が一時的か恒久的かを示しません。一方、410は、オリジンがその状態が恒久的になりそうだと分かっている場合に適切です。これは配信方法の判断です。検索順位を強制的に変えたり、ほかのシステムが保持しているコピーを消したりする手段ではありません。
検索の観点で実際に問うべきなのは、訪問者の元のニーズを満たすページがまだあるかどうかです。Googleは、似た後継ページがない削除済みのページには、404と410のどちらを返してもよいと説明しています。また、クロールに関するドキュメントでは、4xxを返すURLはインデックス登録されず、すでにインデックス登録されているURLも、Googleがレスポンスを処理するにつれて削除されるとしています。これはクロールとインデックス登録の処理を説明したもので、時期を保証するものではありません。
410、404、301の選び方
| 状況 | 適したレスポンス | 理由 |
|---|---|---|
| 関連する後継ページがある | その後継ページへの301 | 同じニーズに応えるコンテンツへ、ユーザーとクローラーを送れます。 |
| 近い後継ページがない | 410または404 | どちらもURLをインデックス登録の対象外にします。410は恒久的であることを明示します。 |
| 一時的な停止 | 適切な再試行ポリシーを付けた503 | 恒久的な削除のレスポンスでは、実際の状態と食い違います。 |
| 関係のない転送先しかない | 410または404 | ホームページへのリダイレクトでは、元のリクエストを満たせません。 |
301は、廃止したURLすべてを残すための手段ではありません。旧URLに来た訪問者のリクエストに、転送先が本当に役立つ場合に使います。同等のページがなければ、410が実態に合った誠実な対応です。一時的な非公開は、恒久的な廃止とは分けて扱います。まずコンテンツの状態を決め、それからHTTPレスポンスを選びます。
実装とレスポンスの確認
ルートを変更する前に、廃止の記録を簡単に残します。旧パス、以前の目的、判断(後継ページへ転送、410、404)、担当者、日付です。恒久的に廃止したURLはXMLサイトマップから削除し、そのURLを指す内部リンクは置き換えるか削除します。これらの作業で、公開しているURLの一覧とレスポンスが一貫した状態になります。
- 対象のURLと、代表的なバリエーション1つを、リダイレクトを自動でたどらずにテストします。
- 最終的なレスポンスが410であり、誤って200を返すブランド仕様のページになっていないか確認します。
- そのURLが現在のサイトマップに載っておらず、内部ナビゲーションからも案内されていないか確認します。
- そのURLに意味のある外部リンクがある場合は、本当に関連する後継ページがあるか判断します。301か410のどちらを選んだか、その理由も記録します。
- Search ConsoleのURL検査やページのインデックス登録レポートは、設定のテストではなく、Googleの処理を後から観察するために使います。
curl -sS -o /dev/null -D - https://example.com/retired-page | head
# Inspect the status line. Expected: HTTP/... 410誤った削除を避ける
よくある失敗は、きれいな「ページは削除されました」のテンプレートが200を返すことです。ユーザーにはエラーメッセージが見えますが、クローラーは成功を受け取ります。Googleは、このパターンをソフト404として説明しています。ほかにも、今日は在庫がないだけの商品に410を返す、削除したURLをサイトマップに残す、といった失敗があります。どちらもサイトのシグナルが食い違う原因になります。