【プラグインなし】WordPressで特定のページをリダイレクトする方法
任意のページをリダイレクトする方法としては.htaccessの編集が一般的ですが、.htaccessってちょっと間違えるとサイト全体に不具合が起きたりするので、慣れてないと書き換えるのが怖いですよね。
ところがWordPressであれば、専用の関数を利用することで.htaccessを触らずにリダイレクトさせることができます。
この記事で分かること
- WordPressのfunctions.phpでリダイレクトを設定する方法
豊かに引きこもる。
Webデザインは器。ブログは中身。
「レンちゃんとペンタ」では、2つのスキルを掛け合わせて、
おウチで豊かに楽しく暮らす方法をご紹介しています。
リダイレクトはfunctions.phpで設定できます
WordPressには、リダイレクト用の関数がちゃんと用意されています。
・他サイトへリダイレクトする場合:wp_redirect()
・同じサイト内でリダイレクトする場合:wp_safe_redirect()
functions.php内でこれらの関数を使えば、自分の好きなページを簡単にリダイレクトさせことができます。
wp_redirect():他サイトへのリダイレクト
サンプル
以下は「https://sakana.com/maguro/」から「https://fish.com/tuna/」にリダイレクトさせる例です。
コードの内容は以下の通りです。
1.任意のページが表示されると、redirectFunc()関数を実行。
2.redirectFunc()関数内で、ページのURLを調べる。
3.URLに文字列「maguro」が入っている場合は「https://fish.com/tuna/」にリダイレクトする。
301リダイレクトでも302リダイレクトでもOK
コード内の「301」という表記は、301リダイレクトの場合の設定です。
「301」を省略すると、302リダイレクトとして処理されます。
wp_safe_redirect():同じサイト内でのリダイレクト
サンプル
「https://sakana.com/iwashi/」から「https://sakana.com/sanma/」にリダイレクトさせる例です。
301リダイレクト / 302リダイレクトの設定は、wp_redirect()関数と同様の考え方です。
301リダイレクトと302リダイレクトの違い:SEOへの影響は?
・301リダイレクト:ページを完全にお引越しして、URLを変更する場合に利用。
・302リダイレクト:諸事情で、ページのURLを一時的に変更する場合に利用。
どちらを用いても、
・ユーザーから見た挙動は同じです(ただページが切り替わるだけ)
・変更前のURLが受けていたGoogleによるページ評価を新しいURLへ引き継ぐことができます。SEO対策として有効です。
また、GoogleがURL移転をより早く認識してくれるのは301の方とされています。
例えばページAから無関係のページBへ、ユーザーを強制誘導するような用途で使ってしまうと、サイト評価に悪影響が出る可能性があるので注意が必要です。