ユーザーにユーザーフレンドリーなコンテンツをユーザーに提供しながら、Googleに適切な404を返す方法は?
-
23-09-2019 - |
質問
私はこれをここに投稿することとスーパーユーザーに跳ね返っています。これがここに属していないと感じたらすみません。
私は説明されている行動を観察しています ここ -GoogleBotは私のサイトでランダムなURLをリクエストしています。 aecgeqfx.html
また sutwjemebk.html
. 。私は私のサイトのどこからでもこれらのURLをリンクしていないと確信しています。
これは、リンクされた質問への回答から引用するために、存在しないコンテンツをどのように処理するかを検証するGoogleであると思われます。
[google is requesting random urls to] see if your site correctly
handles non-existent files (by returning a 404 response header)
存在しないコンテンツ用のカスタムページがあります - 「エラーでここに来たと思われる場合は、コンテンツが見つかりません。いくつかの内部リンクがあり、(当然)提供されます。 200 OK
. 。 URLは直接提供されます(単一のURLのリダイレクトはありません)。
これがGoogleのサイトを差別するかもしれないと思います - 彼らはユーザーフレンドリーなページをで解釈しないかもしれません 404 - not found
そして、私たちは何かを偽造し、重複したコンテンツを提供しようとしていると思うかもしれません。
Googleがサイトが偽物であるとは思わないことを確認するにはどうすればよいですか。
解決
ベストプラクティスは、200ではなく404の応答コードでユーザーフレンドリーな404ページを返すことです。Webサーバーは、比較的簡単にこれを処理する必要があります。
他のヒント
ApacheでErrordocumentを使用してください
ErrorDocument 500 http://foo.example.com/cgi-bin/tester
ErrorDocument 404 /cgi-bin/bad_urls.pl
ErrorDocument 401 /subscription_info.html
ErrorDocument 403 "Sorry can't allow you access today"
エラードキュメントは、あなたが望むものにすることができます。たとえあなたがPHPを使用している場合、次のようにerror404.phpというファイルを作成できます。
<?php
header("HTTP/1.0 404 Not Found");
echo 'Hi, this page does not exist...<img src="nice-logo.png" alt="logo" />'
?>
重要なのは、それだけです 応答は、ヘッダーに正しい404コードを含める必要があります -Apache、PHP、またはその他の動的スクリプトによって出力されます。
面白い404の例: http://www.northernbrewer.com/brewing/weekly_fermenterd
404ステータスを送信し、同じ応答でデッドリンクにユーザーフレンドリーなメッセージを提供できます。 「通常のユーザー」でさえ、ページが典型的な失敗ページのように見えない場合でも、404ステータスを取得する必要があります。リクエストの傍受方法は、Webサーバーによって異なります。これは、ユーザーエージェントを検出し、GoogleBotで違うことをするよりもはるかに簡単になります。