【WordPress】特定ページをリダイレクトさせる方法【プラグインなし】

ブログ・サイト
ブログ・サイト
この記事は約4分で読めます。

とっちゃん@nyanco! です。

今回はWordPressでプラグインを使わずに特定ページをリダイレクトさせる方法【コピペOK】です。

肉玉にゃんこ

リダイレクトはプラグイン「Redirection」を使ったり、「.htaccess」に記述する方法もありますが、今回は「functions.php」に追記する方法となりますにゃ~

「functions.php」は記述を誤るとWebサイトが真っ白になって表示されなくなることもあるので、必ず作業前にバックアップをして自己責任のもと作業するようにしてください。

スポンサーリンク

特定のページをリダイレクトさせる方法

「functions.php」に追記するコード【コピペOK】

wp_redirect() という関数を使用してリダイレクトさせていきます。

早速ですが「functions.php」に追記するコードはこちら。

add_action( 'get_header', 'specific_url_redirect' );
function specific_url_redirect(){
	$url = $_SERVER['REQUEST_URI']; //現在のページのURLを取得
	//URLに「redirect-page」という文字列が含まれていたらリダイレクト
	if(strstr($url,'redirect-page')){
		wp_redirect( 'https://xxxxx.xxx', 301 );
		exit;
	}
}

簡単にコードの内容を解説。

【1行目】’get_header’ … テンプレート header.php を読み込む直前に実行する意味。ページを表示する前に実行されるという認識で良さそう
【1行目】’specific_url_redirect’ … 任意の関数名。2行目以降で内容を定義
【3行目】コメントの通り、現在のページのURLを取得して $url に格納
【5行目】3行目で取得したURLの中に ‘redirect-page’ という文字列があれば次の 6行目 で指定した URLステータスでリダイレクトを実行する条件分岐
【6行目】リダイレクト先の URL(任意のアドレスに変更してください) とステータスコード(ステータスコードは省略可能。省略した場合は初期値の「302」となり、前の「,」も不要となります)

ちなみに【6行目】で URL を指定している箇所は関数も使えるので、例えば wp_redirect( get_site_url(), 301 ); とするとサイトのTOPページにリダイレクトされるようになります。

肉玉にゃんこ

get_site_url()サイトのTOPページのURLを取得する関数ですにゃ~

これで、リダイレクトさせたいページのURL(スラッグ)【5行目】で指定した文字列を含めるリダイレクトさせることができるようになります!

「ステータスコード」とは?

一口にリダイレクトといってもいくつか種類があり、「ステータスコード」でその種類を指定することができます。

良く使われる2種類をざっくり解説。

  • 301 … 恒久的なリダイレクト(サイト移転時など)
  • 302 … 一時的なリダイレクト(メンテナンス中など)
肉玉にゃんこ

301リダイレクトだとGoogleなどの検索エンジンにリダイレクト先へ評価を引き継ぐと言われており、ステータスコードはSEOに影響を与える重要な要素となってますにゃ〜

もっと詳しくステータスコードについて知りたい場合は、下記サイト様の記事が詳しくまとめられています。

HTTPリダイレクト4種類の違いとは? | Webサイト開発
HTTPではリダイレクトするときに300番台のステータスコードを使用する。具体的に言うとリダイレクトを表すステータスコードには301/302/303/307の4種類があって、用途によって使い分けられるようになっている。 が、モバイルの世界で

リダイレクトwebチェッカー

指定したステータスコードでリダイレクトがされているか確認したい場合は、下記のwebツールを使うと簡単に確認できます。

リダイレクトチェッカー|ABASHI Web Tools
リダイレクト先(遷移先)をチェックするツールになります
リダイレクトチェック | Mface ツール
HTTP Status Code Checker | httpstatus.io

参考にさせていただいたサイト様

ワードプレスで特定URL(ディレクトリ名)のアクセスをトップページへリダイレクトさせる方法
本日は業務メモです。ワードプレスでは特定URLへのアクセスを拒否したい場面があります。たとえば運営中のサイトのURLが「example.com」だったとして「example.com/category/
肉玉にゃんこ

ありがとうございますにゃ~

おわりに

プラグインはなるべく入れたくないけどリダイレクトさせたい!という方、「functions.php」に数行記述するだけ&仕組みが分かればカスタムも簡単なので、是非お試しください♪

本記事がどなたかの参考になれば幸いです。

今回は以上となります。
最後まで読んでいただきましてありがとうございました!
それではまた〜✧٩(ˊωˋ*)و✧

コメント

  1. ふみ より:

    ブログランキングから来ました。
    PC初心者なので、参考にさせていただきました。
    ありがとうございます。
    肉玉にゃんこちゃん、可愛いですね♡
    また、訪問させてもらいます。

    • とっちゃん とっちゃん より:

      ご訪問・コメントありがとうございます。
      お役に立てたようで良かったです!
      肉玉にゃんこ、かわいいやつなのでこれからもよろしくお願いします ♪
      またご訪問いただけたら嬉しいです ^^

タイトルとURLをコピーしました