WordPressページで404 not foundの場合にトップページにリダイレクトを行う

概要説明

パーマリンクを変更したリニューアルの際に構造を変えたりすると検索エンジンからのアクセスで404になるので、404の場合はトップページや任意のページにリダイレクトさせるカスタマイズ。

エラーページの場合にリダイレクト

functions.php
/*----------------------------------------------------
 404 not foundの場合はリダイレクト
----------------------------------------------------*/
if ( !function_exists( 'is404_redirect' ) ){
    function is404_redirect() {
        if( is_404() ){

            $url = '';
            if ( isset($_SERVER['REQUEST_URI']) ) {
                $url = $_SERVER['REQUEST_URI'];
            }

            // URLに特定の文字列が含む場合
            if( strstr($url, '任意の文字列') ){
                //wp_redirect('https://任意のページにリダイレクト', 301); // 301 リダイレクト
                wp_redirect('https://任意のページにリダイレクト');        // 302 リダイレクト

            } else {
                // topページ
                //wp_safe_redirect( home_url( '/' ), 301 );               // 301 リダイレクト
                wp_safe_redirect( home_url( '/' ) );                      // 302 リダイレクト

            }
            exit();
        }
    }
    add_action( 'template_redirect', 'is404_redirect' );
}

URLにて判定してそれ以外はトップページへリダイレクトという処理にしています。url判定が必要ない場合は一律トップページリダイレクトでご利用ください

WordPress Developer Resources

関連機能

  1. WordPress「 & 」のコードが意図していない箇所に表示される場合の対応

  2. サイトマップエラー error on line 2 at column 6: XML declaration allowed only at the start of the document の修正…

  3. Notice: ob_end_flush(): failed to delete and flush buffer. No buffer to delete or flush inの対応

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

小汚くても
自分らしく生きてく事の方が
よっぽど上等だ

銀魂
by 坂田銀時

Profile

PAGE TOP