Home > >

WordPressの404エラーをカスタマイズしてみたよ

2008年08月29日 (金) [2,787 views] Hatena icon
この記事を読むのに必要な時間の目安: 3分ぐらい →→ あとで読む

WordPress標準ガイドブック―導入&基本操作からフルチューンまで

毎日10件ほど発生しているリクエストエラー(ページが見つかりません)を救うため、404エラーページをカスタマイズしてみたよ。

ウチで使っている表示スタイル「vicuna CMS」には、標準でカッコいい404.phpが用意されています。だけどナゼか素っ気ないページが表示されるだけで、カスタマイズしたエラーページが表示されません。

今回調べてみて理由が分かったんだけど、.htaccessに適切な記述をしないと、WordPressの404エラーページに飛ばしてくれないみたい。WordPressの404に飛ばすには、.htaccessの先頭に下記のように書けば良いようです。

HTML:
  1. ErrorDocument 404 /index.php?error=404

ここまでの修正で、存在しないページのリクエスト時に404.phpが呼び出され、カスタマイズした404エラーページが表示されるようになりました。

でもまだ個別ポスト・個別ページ・アーカイブのid間違いなどでは404エラーを返さず、「該当のページを表示しようとして内容無しの真っ黒」になってしまいます。これを修正するにはarchive.php、page.php、single.phpを修正し、「< ?php get_header(); ?>」の前、つまりファイルの先頭に以下の4行を追加すると良いようです。

PHP:
  1. <?php if (!have_posts()) {
  2. header("HTTP/1.1 404 Not Found");
  3. include (TEMPLATEPATH . '/404.php');
  4. return; } ?>
  5. <?php get_header(); ?>
  6.      :

これで該当ポストがない場合には404エラーを返し、しかもカスタマイズした404用エラーページが表示されるようになりました。

あとは404.phpを自分好みにカスタマイズすれば、「ページが見つかりません」で来た人もまっすぐ帰らず、少しはサイト内を見てくれるようになるかも知れません。参考までにウチのサイトではこんなのが表示されます。

Hinemosu - Error 404
http://www.hide10.com/index.php?error=404


参考リンク:小粋空間: WordPress でステータスコード 404(Not Found)を返却するエラーページを作る
Related Posts with Thumbnails

現在のコメント: 0RSS icon

コメントをどうぞ







メールアドレスが未記入だったり、一度もコメントしたことのないメールアドレスの場合、管理者に承認されるまでコメントが表示されません。
アバターをオリジナル画像に変更したい場合は、Gravatarサービスに登録してください。

現在のトラックバック数 : 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

Home > > WordPressの404エラーをカスタマイズしてみたよ

このページの先頭へ戻る