検索エンジンマーケティング(seo)

「ページが見つかりません」というエラーはどんなに注意しても発生してしまうので「.htaccess」を編集して対応しよう

この記事は約5分で読めます。

404_google 「ページが見つかりません」というエラーはどんなに注意しても発生してしまう。ブラウザのアドレスバーに入力されたURLが存在しない時に表示されるエラーメッセージで、「Not Found」と表示される場合もある。これを404エラーという。
404エラーは、サイト内ページを作りなおしたときのリンク切れや、ユーザーのURL打ち間違いなどでも発生してしまう。URLが長い時にメール送信すると途中で改行が入ったりした場合も404エラーになる。googleの404エラーのページはこの写真のようにカスタマイズされた表示になっている。
404エラーが発生してしまったときに表示させるページは「.htaccess」を編集することで対応できる。

404エラーのページを指定して表示させるには「.htaccess」を編集する

「.htaccess」という特殊なファイルを使うだけで、404エラーページの表示をカスタマイズすることができる。

「.htaccess」とは、WEBサーバの動作を制御するファイルでディレクトリ単位で設置できる。今回は、ルートとなる「www」に以下のような「.htaccess」ファイルをおけばよい。

ErrorDocument 404 /404.html

「ErrorDocument 404 /404.html」の行を説明する。
「ErrorDocument 404」はページが見つからない状態のときにどうするかを宣言している。「ErrorDocument 404」の後ろには半角のスペースを入れる。
そして「/404.html」が入る。
この「/404.html」は「そのドメイントップにある404.html」を指しており、404エラーが発生した時に表示されるURLページのことである。この場合は、404.htmlを事前に作っておきサーバにアップロードしておく必要がある。

この応用で、404エラーが発生したらそのドメインのトップページを表示するという設定も可能である。 その場合の「.htaccess」は以下のようになる。

ErrorDocument 404 /

非常にシンプルだがひとつ盲点がある。一行改行が入っているのである。
この改行(空白の行)がないとうまく動作しないことがあるので注意が必要だ。つまり、この「.htaccess」ファイルは一行ではなく2行なのである。
また「.htaccess」のファイル名も特殊で「.」の前にはなにもない。「.」の後ろに「htaccess」が入る。そのため、ウィンドウズに付属している「メモ帳」などでは編集できない。秀丸エディタなどのテキストエディタが必要になる。さらにWEBサーバに設置するときは「FTPソフト」が必要になる。

「.htaccess」は便利なファイルで、サイトの移転のときにも使える。その設定方法は「WEBサイトの移転をしなければならないときは「.htaccess」の「Redirect permanent」で新URLを記述するのがよい」にて紹介しているの、興味ある方はどうぞ。

なお、グーグルウェブマスターツールを見ると404エラーがどれだけ発生しているかを確認することができる。

ココログの404エラーページは固定

ちなみに、ニフティのココログの場合は404エラーが発生すると以下の様な表示になる。

404error

ココログでは「.htaccess」を編集できないので、この画面になってしまうのが難点である。

ちなみに「403エラー」のときは若干表示内容が違うようだ。

403error

この403エラーは、ココログページの「/.htaccess」をクリックしたときの画面である。ココログでは「.htaccess」を許可していないので、そのようなファイルがないのに、このURLをたたいだけで403エラーが表示される設定になっているようだ。

通常の403エラーは

Forbidden
You don’t have permission to access /.htaccess on this server.

と表示されることが多い。

MovableTypeからWordPressにCMSを変更するさいの404エラー対応

MovableTypeからWordPressにCMSを変更する例が増えている。そのさいにどうしても発生してしまう404エラーを「.htaccess」で対応する方法について実例で紹介した。

マメジンのWEBサイトをリニューアルしスマフォ対応を重視、MovableType4からWordPressへ変更しレスポンシブデザインになった

修正した「.htaccess」は以下のとおり

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L] RewriteRule ikusei.html /daizuikusei [R=301,L] RewriteRule start.html /old [R=301,L] RewriteRule daizuigai/post_19.html /2008/06/satumaimo [R=301,L] RewriteRule faq/post_10.html /2007/07/post_10 [R=301,L] RewriteRule daizu/ikusei/ /daizuikusei [R=301,L] RewriteRule faq/post_25.html 2009/05/post_25 [R=301,L] RewriteRule news/2014/ /news [R=301,L] RewriteRule news/2011/post_44.html /2011/11/mametataki [R=301,L] RewriteRule news/2013/post_50.html /2013/05/daizunae [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] </IfModule>

# END WordPress

※オレンジ色の部分はリンク切れ対策のために加筆した部分
※今後もウェブマスターツールのエラー情報を注視して、問題があれば「.htaccess」に追記していくこととする

上記の記事にて「.htaccess」を利用した301リダイレクトについて紹介してあるので参考までに。