それぞれのコードが実際に言っていること
どちらのコードも「そのページはありません」という意味です。違うのは一語、確信の度合いだけです。
404 Not Foundはこう言います。このURLには何もありません。理由は言いませんし、明日は何かあるのかも言いません。サーバーがそのパスに一致するものを単に持たないときの、正直な既定の答えです。
410 Goneはもっと狭く、もっと強いことを言います。このURLには内容があり、それは意図的に削除され、戻ってはこない。仕様は410を意図的なものと説明し、運用者がそれを恒久的だと分かっているはずだと想定しています。
意味上の違いはこれだけで、以下はすべてここから導かれます。404は肩をすくめること、410は表明です。どちらも直すべきエラーではありません。存在したことのないURLに正しい404を返すのはまったく適切ですし、Search Consoleの見つかりませんでした(404)レポートにあるページは、たいてい意図どおりに動いています。
Googleが実際にそれぞれをどう扱うか
ここで期待と現実が分かれます。この話題の助言はたいてい違いを誇張するので、正確に言う価値があります。
- どちらもURLを索引から外します。死んだページを順位に残すことはありません。行き着く先は同じです。
- 410はわずかに最終的なものとして扱われます。Googleは410を404より少し速く扱うと述べています。URLは早く外れ、再試行は少なくなる。この「少し」は本当に効いていて、差はクロール1〜2周期であって、数週間ではありません。
- どちらにせよ再クロールされます。Googleは410にも戻ってきて、本当にそのつもりかを確かめます。410は二度と来るなという恒久的な指示ではなく、410のあとに200を返し始めたURLは再び索引に載ります。
正直にまとめるとこうです。404ではなく410を選ぶことで得られるのは、わずかに速い削除とより明確な信号であって、違う結果ではありません。答えが分かっているなら選ぶ価値はありますが、そのためにアプリケーションを作り直す価値はありません。本当の損害は次の2つの誤りにあります。すべてをトップページへリダイレクトすること、そして「ページが見つかりません」の画面をステータス200で返すことです。
410が正しい答えになる場面
決定を下し、それを引き受ける覚悟があるときに410を使います。
- 終了した商品・掲載・イベントで、後継がないもの。期限切れの求人、終了したオークション、代替のない廃番品。
- 意図的に削除した内容——廃止したランディングページ、整理で消した薄いページ、意図して取り下げた記事。
- 削除された利用者の投稿。消したアカウントのプロフィール、取り下げた投稿、規約上の理由で外したもの。
- 確信のある旧構成のURL。同等のページが存在せず、リダイレクトすれば嘘になる場合。
- 改ざんやスパム注入のあとの片付け。無数のゴミURLが索引に載ってしまい、できるかぎり決定的に消したいとき。
最後の場合こそ、410が本当に働きます。クローラーが本来存在してはならないURLを数万件見つけてしまったとき、わずかな速さと再試行の少なさは積み重なって効いてきます。
404が正しい答えになる場面
確信がないときは404です。そしてそれは、認められているより頻繁にあります。
- 打ち間違いや当てずっぽうのURL。そこには最初から何もありません。404は文字どおり正しい。
- 戻ってくるかもしれないページ——季節のカテゴリー、補充する予定の在庫切れ商品、一時的に非公開にした記事。
- 決めたのが自分ではない場合、あるいは削除が意図的だったか判断できない場合。一致しないルートに404を返すフレームワークは正しく振る舞っています。
- 検証していない一括整理。1万件のURLのうちどれが意図的に消されたかを推測しなければならないなら、全部に404を返すほうが安全です。
404が既定なのには理由があります。誤った410のような間違い方をしないからです。あとで復活させるものに410を返すのは、撤回しなければならない主張です。
ソフト404——実際に損をするのはこちら
ソフト404とは、人間には「見つかりません」と告げながら、クローラーには200 OKを返すページのことです。この話題全体で群を抜いて高くつく誤りで、しかもほぼ常に事故です。
生まれ方は3通り。
- 独自のエラーページを200で返す。テンプレートは描画され、ステータスコードは設定されないまま、サイト上のあらゆる死んだURLが本物のページに見えるようになります。
- 死んだURLをすべてトップページへリダイレクトする。トップページは200を返すので、廃止した各URLが、要求された内容とは無関係な中身を持つ生きたページとして報告されます。Googleはこれを明示的に指摘し、ソフト404として扱います。
- クライアントで描画するアプリが取得して何も見つからず空の状態を表示する一方、HTML文書そのものは200で返されている場合。
代償は現実のものです。存在しないページに費やされるクロール予算、索引に入る薄い重複、そしてSearch Consoleで静かに増えるソフト404レポート。直し方はいつも同じで、ステータスコードをページの言っていることに合わせること。自分のエラーページが実際に何を返すかはHTTPステータスコードチェッカーで確認してください。404のページと200のページは画面上では見分けがつかないので、ブラウザーは教えてくれません。
死んだURLに何を返すかの決め方
検討すべき順に4つ。
1. 本当に同等のものがあるならリダイレクト
別のページが本当にこれを置き換えるなら——再編後の新しいURL、後継商品、統合した記事——301がどちらのエラーコードより優れています。古いURLが得たリンクの評価を引き継げるからです。どちらのコードを使うかは301と302リダイレクトのガイドにあります。判断基準は、新しいページに着いた訪問者が、クリックしたものを得られたと感じるかどうか。感じないなら、リダイレクトしないでください。
2. 意図的に消したなら410
同等のものがなく、削除が意図的で恒久的だと分かっている。そう言ってしまいましょう。
3. 確信がないなら404
同等のものがなく、二度と戻らないとも言い切れない。既定が正しく、何の損もありません。
4. まだ価値があるなら、ページを残す
何かを消す前に問う価値があります。このURLにはまだ被リンクや流入がありますか。訪問を集めているページは、消すより更新したほうがよいことが多いのです。消して完璧な410を返しても、それが積み上げてきたものを捨てることに変わりはありません。
つい選んでしまう別のコード
404と410の代わりに使われる隣人が何種類かあり、どれも別のことを言っています。
- 403 Forbiddenは、リソースは存在するが見る権限がない、という意味です。存在しない内容に403を返すと、ページは実在していて伏せられている、とクローラーに伝わります。意図とは違うはずです。
- 451 Unavailable For Legal Reasonsは、法的な要求によって削除された内容のための、実在する登録済みのコードであって冗談ではありません。一般的な「取り下げました」として使うものではありません。
- 503 Service Unavailableは計画停止やメンテナンスに正しいコードです。あとで来てくださいという意味で、移行中にはまさにこれが欲しい。恒久的に消えたページには誤りです。
- 空のページを200で返すのは上のソフト404であり、この中で最悪です。
これらの状況で自分のアプリケーションが何を返すか分からないなら、想定せず確認してください。HTTPステータスコードの完全ガイドが各クラスを順にたどっています。
よくある失敗
- 死んだURLをすべてトップページへ転送する。Googleは無関係な宛先をソフト404として扱うので、削除もリンク評価も手に入りません。
- 独自の404ページをステータス200で返す。人間には正しく見え、クローラーには嘘をつきます。
- 季節ものに410を使い、あとでページを戻してから、なぜ回復が遅いのかと悩む。
- Search Consoleの404レポートを不具合一覧だと思う。その大半は打ち間違い、スクレイパーの古いリンク、切れた外部参照です。存在したことのないURLの404は、直すべき問題ではありません。
- まだ流入やリンクのあるページを、古いというだけで消す。刈り込む前に確認を。
- 死んだURLをサイトマップに残す。サイトマップには索引に載せたいURLだけを並べるべきで、404や410が入っているとクロール予算を無駄にし、指摘されます。
- 内部リンクを最後に外す。自分のナビゲーションが410にしたURLをまだ指しているなら、Googleに両方を同時に伝えていることになります。
まとめ
404は「ここには何もない」、410は「ここにあったが削除した、戻らない」。どちらもURLを索引から外し、410はそれをわずかに速く、再試行も少なく行います——改ざん後やコンテンツ整理の一括処理では有用で、アプリを作り直す理由にはなりません。本当に同等のページがあるなら代わりにリダイレクトし、迷ったら404を使い、そして何より、エラーページがエラーのステータスを返すようにしてください。200で返す「ページが見つかりません」の画面はソフト404であり、この2つのどちらを選び間違えるより高くつきます。URLが実際に何を返すかは無料のHTTPステータスコードチェッカーで確認できます。
関連ツールとガイド:
- HTTPステータスコード検索 — すべての HTTP ステータスコードとその意味のクイックリファレンス。
- 301と302リダイレクト:使い分けとSEOへの影響 — 301を使う場面と302を使う場面、それぞれが検索順位に何をするのか、そしてURLが実際にどのリダイレクトを返しているかの確認方法を解説します
よくある質問
削除したページには404と410のどちらを使うべきですか⌄
意図的に削除して戻らないなら410、確信がない、あるいは戻るかもしれないなら404です。どちらもURLを索引から外しますが、410のほうがわずかに早く外れ、再試行も少なくなります。これが効いてくるのは、多数のURLを一度に片付けるときです。
410は404よりGoogleからページを早く消しますか⌄
わずかに早いです。Googleは410を404より少し最終的なものとして扱うと述べており、URLは早く外れ、クロールも減ります。差はクロール1〜2周期で、数週間ではありません。またGoogleは、本当にそのつもりかを確かめるため、ときどき410にも戻ってきます。
404エラーはSEOに悪いですか⌄
それ自体は悪くありません。存在したことのないURLに404を返すのは正しい動作で、Search Consoleの「見つかりませんでした」レポートの大半は打ち間違いやスクレイパーのリンク、古い外部参照です。悪いのはソフト404——ステータス200で返される「見つかりません」ページ——と、死んだURLをトップページのような無関係なページへ転送することです。
ソフト404とは何ですか⌄
人間には内容がないと告げながら、クローラーには200 OKを返すページのことです。エラーテンプレートをステータスコードを設定せずに返したとき、死んだURLをトップページへリダイレクトしたとき、クライアント描画のアプリが200の文書の中で空の状態を見せたときに起きます。ステータスコードをページの内容に合わせれば直ります。
削除したページは代わりにリダイレクトすべきですか⌄
別のページが本当に置き換える場合だけです——再編後の新しいURL、後継商品、統合した記事。そのときは301が古いURLの得たリンク評価を引き継ぎます。本当に同等のものがないのにリダイレクトすればソフト404として扱われるので、404か410を返してください。
Web 開発とセキュリティに 15 年以上携わってきた実務経験を持つ。実践的な Web セキュリティ、つまりサイトを安全・確実に保ち、トラブルを素早く解決できるようにすることに注力。BuildToolForge は、こうしたチェックを無料で、プライベートに、わかりやすく行えるようにするためのサイトです。ツールは可能な限りブラウザ内で動作し、ツールに入力した内容は保存されません。
ガイドの書き方: すべてのガイドは実務経験をもとに執筆し、公式の標準と照らし合わせ、実際のドメインで自社ツールを使って検証しています。標準やツールが変わればガイドも更新します。誤りを見つけたら contact@buildtoolforge.com までお知らせください。