410 Gone

リソースは存在していましたが、完全に削除されました。

使いどころ

削除されたコンテンツや廃止された API バージョン。404 より強い意味を持ちます。

よくある原因と対処法

ページやエンドポイントを意図的に削除し、復活させない場合は 410 を使います。Google は 404 と 410 をほぼ同じように扱いますが、410 のほうが URL がわずかに早くインデックスから削除されることがあります。期限切れの掲載情報、削除されたユーザーコンテンツ、廃止された API バージョンに適しており、ボディで後継のバージョンと提供終了日を示すことができます。

410 は 404 や 301 と同様にヒューリスティックにキャッシュ可能なので、デフォルトでキャッシュに保存されることがあります。戻ってくる可能性のあるコンテンツには送らず、404 か 503 を使ってください。同等のページが存在するなら、301 のほうがユーザーのためになり、ランキングシグナルも維持できます。nginx では location ブロックに return 410 と書き、Apache では Redirect gone /old-path と書きます。その URL はサイトマップから削除しましょう。

クライアントエラー (4xx)

4xx はクライアントエラーです。リクエスト自体が誤っている、認証されていない、または存在しないものを指しています。同じリクエストを再試行しても解決しません。

レスポンスでの表示

HTTP/1.1 410 Gone

返し方

Node.js / Expressres.status(410).end()
Python / Flaskreturn '', 410
nginxreturn 410;

確認方法

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

HTTP ステータスコードを開く