2017.09.26

WordPress

WordPressで404ページを表示せずに任意のページへリダイレクトさせる方法

WordPressで404ページを表示せずに 任意のページへリダイレクトさせる方法

WordPressを利用しているサイトでは、存在しないページへユーザーがアクセスしようとしたとき、通常は404ページに自動で飛びますが、それを他のページにリダイレクトさせる方法を紹介します。
404ページを作ってあることがサイト制作では好ましいですが、クライアントからの依頼や何らかの理由で404ページを作成できない、あるいはすぐに表示できない場合などに、TOPページや別のページにリダイレクトさせたいときに利用できます。

通常のリダイレクト

実装方法ですが、functions.phpにコードを追記することで実装します。
下記は404ページが表示される場合にTOPページへ自動でリダイレクトさせる場合のコードです。

function 404page_to_home() {
  if( is_404() ){
    wp_safe_redirect( home_url( '/' ) );
    exit();
  }
}
add_action( 'template_redirect', '404page_to_home' );

home_url( '/' )部分がリダイレクト先を指定する部分です。他のページを指定したい場合は、この部分を必要なものに書き換えて利用してください。

ステータスコードを反映したリダイレクト

リダイレクト時のステータスコードを任意で指定することもできます。サイトリニューアル時などで元のURLのページ評価を引き継ぎいで301リダイレクトさせたい場合などには、以下のようにコードを記述します。

function 404page_to_home() {
  if( is_404() ){
    wp_safe_redirect( home_url( '/' ), 301 );
    exit();
  }
}
add_action( 'template_redirect', '404page_to_home' );

home_url( '/' ), 301部分がその記述です。シンプルな記述で実装できます。

まとめ

リダイレクトといえばhtaccessを編集する場合が多いですがサーバーの都合や何らかの理由で編集できないときなどに上記の方法を覚えておくと役に立つことがあるかもしれません。
実装も簡単なので機会があれば実用してみてください。

SHARE

この記事の筆者

Web&Soundクリエイター 田村 培修

Web&Soundクリエイター 田村 培修

楽器とパソコンのキーボードを使い分ける当社のマルチクリエイター。e-sportsに興味津々であれこれ情報を収集中。

WEBSITE DESIGN REQUEST

ホームページ制作・リニューアルの
ご相談はお気軽に

TEL 06-6537-9941 平日 9:00〜19:00

〒550-0012 大阪府大阪市西区立売堀2-5−41

ホームページ制作を相談する