ワードプレスの任意のページを301リダイレクトさせるPHPコードをご紹介します。
※この方法はワードプレスの組み込みのリダイレクト関数を使う方法で、HTACCESSは利用しない方法となります

301リダイレクトとは?

リダイレクトとは、ユーザーを強制的に別のページに一瞬で移動させるサイト側の設定のことです。
リダイレクトには、そのリダイレクトの種類を示す数字のコードが付与されます。

301リダイレクトは、ページが恒久的に新しい場所に移動したことを示します。
302リダイレクトは、ページが新しい場所に移動しましたが、それは一時的なものであることを示します。

301リダイレクトを指定すると、以後ブラウザーがそれを記憶し、同ページにアクセスするとサイトにアクセスする前に新しいページにブラウザーがリダイレクト処理を完了してくれることもあります。

(つまり301リダイレクトは強力なリダイレクトですのでリダイレクト元がずっと使われないことが明らかな場合にのみ行うようにご注意ください)

トップページだけ任意のページに301リダイレクトする

下記のコードはテーマのfunctions.phpに記載いただくと動作します。

function redirect_me() {
    if( is_home() || is_front_page() ){
        wp_redirect( 'http://リダイレクト先のURL', 301 );
        exit;
    }
}
add_action( 'template_redirect', 'redirect_me' );

このコードではis_home() || is_front_page() でトップページである場合のみwp_redirect 関数で任意のページにリダイレクトします。

特定のページの場合301リダイレクトする

下記のコードではページID555のページにアクセスされた場合のみ301リダイレクトします。
555の部分を任意のページIDに変更いただくことでそのページのが表示された場合に301リダイレクトするようにできます。

※ページIDはワードプレスの投稿やページに振り分けられる数字です、そのページの編集画面のURLのpost=の後に続く数字です

function redirect_me() {
    if( is_page(555) ){
        wp_redirect( 'http://リダイレクト先のURL', 301 );
        exit;
    }
}
add_action( 'template_redirect', 'redirect_me' );

このように条件をいろいろと変えると自由に任意のページを301リダイレクトをワードプレスへのPHPコードの記載で実現できます。

WordPress ワードプレスのコーディング、カスタマイズのご依頼・ご相談はお気軽にWPドクターまでお送りください