web-dev-qa-db-ja.com

Ok 404ページでメタnoindexを使用するには?

カスタム404.htmlファイルを自分のウェブサイトに置いていますが、URLが見つからなかったときに404ステータスコードが表示されます。これは標準的なものです。しかし、サーバー上の正確なパス/404.htmlにアクセスすると、サーバーは「ねえ、実際にファイルがあります」と表示し、404ページを表示しますが、404ステータスコードは表示しません。

検索で/404.htmlパスが誤ってインデックスに登録されないようにするため、<meta name="robots" content="noindex">タグを追加しました。

もちろん、これは私の存在しないURLにも404ページの一部としてmeta noindexタグが含まれていることを意味します。このmeta noindexタグの存在が検索エンジン/クローラーに問題を引き起こす可能性がある方法はありますか、またはこの設定は完全に問題ありませんか?

200のOK応答がインデックスに登録されないようにするために、404ページにmeta noindexタグがあっても問題はありません。

これがPHP=ページである場合は、標準応答の一部として404 Not Foundヘッダーを送信するだけでよいことを確認してください。alwaysが404を返すことを確認してください。

また、.htaccess(mod_rewrite)を使用して404.htmlへの直接リクエストを強制的に実行し、404をトリガーすることもできます。

RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^404\.html$ - [R=404]

カスタム404を提供したい場合(直接リクエストにのみ適用されるようにするため)、REDIRECT_STATUS環境変数をチェックするRewriteCondディレクティブが必要です。それ以外の場合は、カスタムエラードキュメントを提供しようとすると、書き換えループ(500エラー)が発生し、標準サーバーで生成された404応答が表示されます(ただし、404のままです)。

6
MrWhite