web-dev-qa-db-ja.com

製品が存在しない場合、動的な製品ページから404を返す必要がありますか?

バックグラウンド:

ASP.NET(Episerver)サイトには、製品コードパラメーターに基づいてコンテンツが異なる1つの製品ページがあります:www.mysite.com/product/[productcode]

複数の物理的な製品ページはありません-productcodeパラメーターに基づいて異なるページのみです。これが私が「動的」と言うことです。

入力した製品コードがデータベースで見つからない場合、上記のURLは404ページを返します(ヘッダーに404ステータスコードが含まれます)。

期限切れの製品に内部的にリンクすることはありませんが、さまざまなアフィリエイトサイトが古いキャンペーン製品にリンクする可能性があります。

質問:

404ページはカスタマイズ可能であり、ユーザーフレンドリーにするための手段を講じていますが、この質問の焦点はステータスコードにあります。

期限切れ/存在しない製品に対して404ステータスコードを返す必要がありますか(または推奨されますか)?

(301)を「商品が見つかりません」ページにリダイレクトするか、単に商品ページに「商品が見つかりません」コンテンツを直接表示するだけでも同様にうまくいきますか?

見つからないコンテンツ(例:製品、キャンペーン、ジョブ)と見つからないページを区別するのは誤りですか?

私自身の研究

私自身の研究では、期限切れのコンテンツに対して404ステータスコードを返すことが望ましいことを示唆しています。

Google は、「ソフト404」(つまり、200 OKを返すが「ページが見つかりません」コンテンツを含む)は悪い習慣であると説明しています。ただし、「ページ」ではなく「コンテンツ」を扱っているため、これが私の場合に当てはまるかどうかはわかりません。この区別は間違っていますか?

Google は404ページを返すことを推奨しているため、404ページ自体は検索結果に表示されません。

このブログ投稿 は、ソフト404がとにかく404として解釈される可能性があることを示唆しています。

ただし、404応答コードは重要ではないこと、およびユーザーが404ページでバウンスしないようにすることが最も重要であることを示唆している(公式ではない)ブログ記事も多数読んでいますカスタム404ページを作成すると役立ちます)。


特定の状況に対する明確な答えを見つけることができなかったので、正しい方向に向けられることを望んでいます。コンテンツが見つからない場合に404​​を返すというGoogleの一般的なアドバイスにしたいと思います。明確な答えを見つけるのに苦労しています

2
lcaaroe

これはスパイダー/クライアントに存在しないことを通知し、検索エンジン/クライアントキャッシュから削除するため、410ステータスコード(存在しない)を返す必要があると思います。

3
drtechno