こんにちはみなさんWordPressしてますか?
今回は、WordPress内で存在しないページである404エラーページを指定のページに自動的にとばす(リダイレクト)方法をご紹介します。
一番の理想は、しっかりとした404専用のページを作る方法が好ましいのですが、この方法で充分かなと思いますので、ぜひご参考ください。
そもそも404ページとは?
404ページを指定のページにとばす方法をご紹介する前に、そもそも404ページとは何なのか?についてご紹介しましょう。
みなさんは、インターネットでサイトやブログを閲覧していて、「404 Not Found」や「HTTP Error 404」などと表示されるページを見たことはありませんか?
404ページとは上記のように表示されるページのことを指します。
これは、正確には404エラーページと言われるもので、具体的には「サイト上に存在しないURLに閲覧者がアクセスした際に表示されるページ」のことです。
「サイト上に存在しない」とは主に、以下のようなページが該当となります。
- 一度ページを公開して以前は存在していたページだが、削除したページ
- URLの一部が違うページ
- すでに内部リンクが切れたページをクリックした場合のページ
404ページをリダイレクトさせる方法
404ページとは何か?ということが理解できたところで、早速、404ページを指定のページにリダイレクトさせる方法をご紹介します。
大まかな方法としては以下の2つがありますので、ご自身の環境で実装可能な方法を選択して実施してみてください。
functions.phpデータに実装する場合
functions.phpデータに以下のソースを追加することで、404ページが表示される場合トップページにリダイレクトされます。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
function is404_redirect_home() {
if( is_404() ){
wp_safe_redirect( home_url( ‘/’ ) );
exit();
}
}
add_action( ‘template_redirect’, ‘is404_redirect_home’ );
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
header.phpデータに実装する場合
header.phpデータ内の<head>~</head>の中に以下の指定のコードを記述する方法でもリダイレクトする方法もあります。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<?php if(is_404()){ ?>
<meta http-equiv=”refresh” content=”3; URL=http://●●●●●”>
<?php } ?>
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
「Content=“3;」の数字の部分はリダイレクトまでに要する秒数です。
なお、URLのあとの●マークの箇所は、飛ばしたいリダイレクト先のURLを入力するようにしてください。
まとめ
いかがでしたでしょうか?
今回は、WordPressで存在しないページである404エラーページを、指定のページへ自動的にとばす(リダイレクト)方法をご紹介しました。
いずれもPHPデータを編集することになりWordPress初心者の方にとってはハードルが高いと言えますが、ユーザーへの最低限の配慮という意味では、実装しておきたいものです。
実装をチャレンジする前には、必ず指定のデータのバックアップを取得したうえでおこなってください。
最後までお読みいただき、ありがとうございました。