WordPressの404エラーをカスタマイズしてみたよ
毎日10件ほど発生しているリクエストエラー(ページが見つかりません)を救うため、404エラーページをカスタマイズしてみたよ。
ウチで使っている表示スタイル「vicuna CMS」には、標準でカッコいい404.phpが用意されています。だけどナゼか素っ気ないページが表示されるだけで、カスタマイズしたエラーページが表示されません。
今回調べてみて理由が分かったんだけど、.htaccessに適切な記述をしないと、WordPressの404エラーページに飛ばしてくれないみたい。WordPressの404に飛ばすには、.htaccessの先頭に下記のように書けば良いようです。
-
ErrorDocument 404 /index.php?error=404
ここまでの修正で、存在しないページのリクエスト時に404.phpが呼び出され、カスタマイズした404エラーページが表示されるようになりました。
でもまだ個別ポスト・個別ページ・アーカイブのid間違いなどでは404エラーを返さず、「該当のページを表示しようとして内容無しの真っ黒」になってしまいます。これを修正するにはarchive.php、page.php、single.phpを修正し、「< ?php get_header(); ?>」の前、つまりファイルの先頭に以下の4行を追加すると良いようです。
-
<?php if (!have_posts()) {
-
include (TEMPLATEPATH . '/404.php');
-
return; } ?>
-
<?php get_header(); ?>
-
:
これで該当ポストがない場合には404エラーを返し、しかもカスタマイズした404用エラーページが表示されるようになりました。
あとは404.phpを自分好みにカスタマイズすれば、「ページが見つかりません」で来た人もまっすぐ帰らず、少しはサイト内を見てくれるようになるかも知れません。参考までにウチのサイトではこんなのが表示されます。
Hinemosu - Error 404
http://www.hide10.com/index.php?error=404
現在のトラックバック数 : 3 回
- pingback from わがまま大王ご乱心 - [WordPressの404エラーを... 08-08-29 (金) 15:06
-
[...] WordPressの404エラーをカスタマイズしてみたよ [...]
- pingback from 404.php有効化 - なまぐさ 09-05-01 (金) 22:55
-
[...] こちら(Hinemosuさん)を参考に.htaccess を作成して、index.phpがおいてあるところに置きました。 [...]
- pingback from TanLabo - Wordpressで404.phpを作成... 10-01-20 (水) 10:34
-
[...] 置したあとに、そのままだと上手くエラーページを表示してくれない場合があるんです。 Google先生に尋ねたところ、Hinemosuさんのページで紹介されていました。(ありがとうございます) [...]
トラックバックアドレス
- Trackback URL for this entry

