ようやく理解したソフト404とハード404の違い

スポンサーリンク

存在しないページにアクセスした場合に表示されるこんなページ。

ブラウザの表示URLが変わっていたらソフト404

ブラウザのアドレスバーのURLがアクセスしたURLから転送されてしまう状態が、ソフト404の状態に該当するようです。

実際にアクセスするユーザーに対しては、ページが存在しないことを伝えられるのですが、異なるページに転送してしまっているので、検索エンジンに対しては、正しくページが表示された状態になってしまうんです。

機械的にページが存在しないことを伝えられていないんですね。

URLがそのままならハード404

アクセスしたURLがそのままで404表示になるこの状態がハード404の状態になります。

404とは?

404というのはステータスコードといって、サーバーからブラウザに対して返す現在の状態を示す値のことです。

200なら、正常。404なら、存在しない状態を指します。

先のソフト404の場合、このステータスコードが200になってしまうんですね。絶対にダメというわけではないんですが、システム的にちょっと不具合な状態なんです。

ステータスコードを404にするには?

存在しないページにアクセスがあった時に、自作のメッセージを書いたページを表示させる場合、.htaccessというファイルを用意します。自作のメッセージを書いたページのファイル名を、ここでは notfound.html とします。

.htaccessには下記のように記述して、サイトのトップページと同じ階層にアップロードして下さい。

ErrorDocument 404 /notfound.html

運営しているサイトのトップページのURLがサブディレクトリの形式の場合は、ディレクトリの名称を含めて記述する必要があります。

ErrorDocument 404 /test/hard404/notfound.html

両方ともファイルパスの前にスラッシュを付けるのがポイントですね。

http:// を入れるとNG

前述の.htaccessですが、

ErrorDocument 404 http://template.xsrv.jp/notfound.html

といった感じで、404の後に続くパスをhttpからのURLを記述してしまうと、存在しないページにアクセスした際にこのURLに転送され、ソフト404になるので注意が必要です。

タイトルとURLをコピーしました