web-dev-qa-db-ja.com

SEOの場合、404へのリダイレクトは問題ないでしょうか?

http://example.comに古いWebサイトがありました。次に、まったく新しいURL構成で新しいWebサイトに置き換えられ、古いドメインは残されますが、httpsのみに切り替わります。そのため、すべてのhttp-requestsはhttps://example.comにリダイレクトされます。

問題は、古いWebサイトのURLにアクセスし、応答として301を受信し、httpsサイトにリダイレクトしようとする検索ボットリクエストが多く、thenが正しく404を受信することです。

ですから、数ヶ月が経ち、ボットは古いURLを忘れないようです。たぶん、彼らはそのような応答を理解せず、まだページが生きていると考えていますか?もしそうなら、どうすれば問題を修正できますか?当然、ユーザーにhttpサイトとの対話を許可することもできます(リダイレクトを無効にします)が、それは一般に安全ではありません(おそらく、短期間は大したことはないでしょう)。

2
rocknrollnerd

URLを公開すると、Googlebotなどの検索エンジンボットは常にURLを要求します。 URLのリクエストは15年前に廃止されました。

404ページへのリダイレクトは、404ページを直接表示するよりもそれほど悪くはありません。 Googlebotやその他の検索エンジンボットは、404にリダイレクトするとページが欠落していることを理解できます。

404ページではなく、「410 Gone」ステータスページを表示することを検討できます。 410ステータスの猶予期間を取得するのとは対照的に、410以外の2つの間に大きな違いはありません。検索エンジンはインデックスからコンテンツをすぐに削除します。

できることは、URLを置換ページにリダイレクトすることだけです。置換ページがある場合、古いページを指すすべての評判とリンクを新しいページに取得します。私はあなたのホームページ(または他の中央ページ)にURLをリダイレクトしません。 Googleはそのようなリダイレクトを「ソフト404」と見なします。サーバーが404ステータスを返した場合と同じように、ホームページへのリダイレクトを扱います。

1

Soft-404は、エラーページとして説明する読み取り可能なテキストを含むページですが、そのページに添付されている実際のステータスコードは404ではありません。

たとえば、「要求しようとしているリソースが見つかりませんでした」という行に沿ってコンテンツを含むHTMLファイルを作成し、サーバーに保存してアクセスすると、「not found」という言葉のためにソフト404の対象となります(HTMLページと同様に)返されるHTMLヘッダーが「HTTP/1.1 200 OK」または「HTTP/1.0 200 OK」で始まるためです。

真の404エラーページを作成していることを確認する場合は、プログラミング言語を使用して、404結果コードを強制します。 PHPでは、途方もなくシンプルなページを次のように実行できます。

<?php
header("HTTP/1.1 404 Not Found",true);
?>
<!-- insert full HTML here -->

Curlにアクセスできる場合は、完全なURLで-Iオプションを付けて使用し、返されたヘッダーを表示します。

したがって、404エラーにリダイレクトする必要がある場合は、少なくともソフトエラーではなく、実際の404エラーにリダイレクトしてください。それよりも優れているのは、リダイレクトフェーズをスキップして、404ページ(または、エラー410のページ)に直接ジャンプすることです。

2
Mike