カスタム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のままです)。