web-dev-qa-db-ja.com

見つからないページへのJSリダイレクトは、実際の404の代わりに機能しますか?

Big Commerceサイトの問題についてサポートが必要です。

序文として、それは私のサイトではなく、ITチームはサイトの構築に利用されている複雑なテクノロジースタックを持っています。

問題は、(存在しないURLを作成するために)URL構造の異なる領域に余分な文字を追加すると、異なる応答コードが生成されることです。例:

  • / shop/collection/women = 200および有効なページ
  • /[〜#〜] a [〜#〜]shop/collection/women = 404
  • / shop /[〜#〜] a [〜#〜]collection/women = 500
  • / shop/collection /[〜#〜] a [〜#〜]女性= 200、コンテンツなし

私の提案は、存在しないanyURLが404 not foundコードを返すようにすることです。 IT部門は、ステージングサイトを次のように設定しました。

Redirect trace info

私の質問は:

  1. これは正しいです?サーバーは404を返すように構成できませんか?
  2. 200の次にJSが404にリダイレクトしても、コンテンツが存在しないことを検索エンジンに通知しますか?または、404が別のURL "/ Notfound"に関連付けられているため、役に立ちませんか?
2
Rob T

適切な404応答を使用することをお勧めします。ただし、検索エンジンは、404ページへのJSリダイレクトと空白ページの両方を処理できます。彼らはそれらを適切な404エラーと同じように扱うべきです。

適切なエラーステータスを直接表示するのではなく、エラーページにリダイレクトするWebサーバーの長い歴史があります。検索エンジンボットは、このケースを処理するようにプログラムする必要があります。そうしないと、多数のサイトのページが誤って分類されます。最近の検索エンジンは、JavaScriptリダイレクトについても非常に優れています。ほとんどの場合、3xxステータスリダイレクトと同じように扱います。

Googleは200のステータスエラーページを「ソフト404」ページと呼んでいます。 Google検索コンソールの特別なレポートに表示されますが、それ以外は実際の404ページと同じように扱われます。つまり、Googleはそれらをインデックスに登録しませんが、Googlebotは定期的にクロールして、変更されたかどうかを確認します。

検索エンジンが空白のページを処理できるとしても、ユーザーにとっては良くありません。空白のページを取得するためにサイトが非常に壊れているように見えます。ユーザーは、役立つエラーメッセージを非常に好みます。

サーバーが404を返すように構成できるかどうかについては-はい、できます。最終的に適切なステータスを取得できなかったサイトで働いたことはありません。それをする価値があるかどうかは、ほとんどの問題です:

  • 誰かがコードベースを十分に理解して変更を加えることができるかどうか。
  • 変更を行うのにどのくらいの労力(およびコスト)が必要か。
  • 変更を加えている間に他の何かを壊す可能性はどれくらいありますか。
2