WordPressのカスタマイズ方法やプラグインレビューを中心に、パソコン/動物/植物のことなどを紹介するホームページです

WordPressで削除した商品情報などにアクセスされたときに出る「404」エラーの対応

公開日:2015年9月6日 使い方など

WordPressで長くサイトを管理していると必ず発生する「記事の削除」や「パーマリンクの変更」。何の対策もせず、訪ね当たらない記事や固定ページに対してせっかく訪問してくれた方にブラウザ側で素っ気なく404エラーを出していませんか??

削除した記事やパーマリンク構造を変更した記事などは検索エンジンから検索してアクセスされる他にも外部のサイトからリンクされていたりするもの。外部のサイトからのリンク経由でサイトを訪問してもらえたときにリンク切れだったりしたらリンクを入れてくれているサイトにも失礼ですよね?そういうことにならないために404エラーの対処方法を2つ紹介します。

プラグインを使ってトップページにリダイレクトする

WordPressのプラグインに「404 Redirection」というのがあります。プラグインをインストールして有効化するだけで、404エラーが発生したときに自動でトップページへリダイレクトしてくれるプラグインです。特に設定も必要ないので便利です。

404 Redirectionプラグインについてはこちらの記事で詳しく書いています

404エラー用のページを作って対応する

削除なり変更なりがあったことを知らせるページを用意して、404エラーが出たときに専用ページを表示させる方法です。

テキストなどに以下のコードをコピペして、「404.php」として保存してください

保存したファイルは今使っているテーマファイルの「functions.php」と同じ階層へFTPでアップロードしてください。

※注意:404ページ(存在しないページ)のみが専用ページへリダイレクトするかを存在しない適当なURLで試してください。逆に今存在するページは確実に表示されるのかを確認してください。

<?php get_header(); ?>
<div class="post">
	<p>申し訳ありません</p>
	<h2>お探しのページは削除されています。(404エラー Not Found)</h2>
	<p>下記は当サイトの掲載カテゴリー一覧ですので、類似の情報を参照ください。</p>
	<ul>
	<?php wp_list_categories( $args ); ?>
	</ul>
</div>
<?php get_footer(); ?>
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. コードは合っているはずなのに更新できないときは
  6. 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「'」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
  7. 「何かが間違っています...」と表示され、更新できないときは
  8. このエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
    ※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
これらのエラー対処については以下のページが参考になるかも知れません

コードを転載する場合には

ご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします


表示する文言は適宜変更してください。単純にサイトのヘッダー要素と本文、フッター部分を呼び出していますので、テーマによってはカラムが崩れたりすることがあるかもしれませんが、エラーページとして「ページが存在しない」ことを伝えることが主の目的ですのでそれが分れば特に整える必要はないかと思います。

404エラー対応について

前者のプラグインを使うと確かにトップページへ自動でリダイレクトされるので、使っている方が多いと思います。

ただ、リンクや検索経由でアクセスしてくれた方に違う内容も含まれているようなトップページを表示するのはどうか??という感覚もあります。例えばWordpressについてしか情報のないサイトへアクセスがあって、404のためにトップへリダイレクトされる分にはいいのですが、Wordpressに関する情報がごく一部であとの大半が別の情報のサイトへWordpress関連の検索経由でアクセスがあった場合、全然意図しないサイトへアクセスしたような感覚になり、「騙されてる?」ようなイメージになってしまう可能性がないとも言えません。

そこで、ないものは「ありません」と断った上で、上記のコードそのままなら記事のカテゴリー一覧を表示して目的のカテゴリーから探してもらうようにした方が、
アクセスした人が
「このページないんだ」
  ↓
「このサイトにはどんなジャンルの記事があるんだ?」
  ↓
「このジャンルの中に目的の情報があるかも・・・」
と考えてくれ、変なページにいきなりリダイレクトされるよりも親切かもしれません。

サイトの作り手の考え方次第ですがどちらがいいかを選択して確実にアクセスした人を逃がさない工夫をしていきましょう。

WordPressのカスタマイズ・不具合対応などご相談ください

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

【スポンサーリンク】