WordPressでwp_safe_redirectやwp_redirectを使ったリダイレクトのまとめ

WordPressブログで、特定のページへのアクセスを別のページ(やサイト)にリダイレクトする方法をご紹介します。

以前に.htaccessによるリダイレクト方法について紹介させていただいたんですが、今回はwp_safe_redirectwp_redirectWordPressのリダイレクトの関数を使い、テーマファイル(PHP)を編集してアクセスを転送させる方法です。

.htaccessでのURL正規化(301リダイレクトなど)書き方のまとめ

2019年2月26日

ブログトップへのリダイレクト(wp_safe_redirect)

WordPressブログのTOPページへリダイレクトさせる場合は、wp_safe_redirect関数を使って、home_urlへリダイレクトさせます。

<?php wp_safe_redirect(home_url()); exit; ?>

ステータスコードを省略してますが、初期値は302なので、指定しないと302リダイレクトになります。

なお、リダイレクトで使われる主なステータスコードは以下の通りです。

ステータスコード 意味と使い方
301 恒久的な移転(もう旧URLには戻らない前提)
302 一時的な移転(やがて旧URLに復旧する前提)
503 サービス停止中(メンテナンス画面を一時的に出す場合)
404 Not Found(ページが存在しない場合)
あと、恒久的に使わなくなったページは、HOMEへ返すのではなく、本来は404のNot Foundに指定してあげる必要があります。

別のサイトへ301リダイレクト(wp_redirect)

WordPressブログ以外の別のサイトへ301リダイレクトさせる場合は、wp_redirect関数を使います。

<?php wp_redirect(‘http://www.example.com/’,301); exit; ?>

ステータスコードは、URLの後ろにカンマで区切ってコードを入力します。

wp_safe_redirectとwp_redirectの違い

wp_safe_redirectは、リダイレクトの前にリダイレクト先のURLが許可されたホストを使っているかチェックします。リダイレクト先が無効なURLの場合は、wp-adminかsiteurlへリダイレクトされます。

同じWordPressブログ内であれば、URLは有効且つ安全なので、wp_safe_redirectでのリダイレクトで転送してあげることができます。

しかし、外部サイト(別URL)へのリダイレクトについては、wp_safe_redirectだと完全にリダイレクトできない場合があるので、wp_redirectを使う方が確実です。


ということで、違いをまとめるとこんなイメージです。

wp_safe_redirect 同じWordPressブログ内の別ページへリダイレクト
wp_redirect 他のURLへのリダイレクト
なお、自分が運営する別のサイトへのリダイレクトとかだと、wp_safe_redirectでの転送であっても、別に問題ないでしょう。

ブログを始めるならWordPressテーマSTORKがオススメ

理由は以下の記事でまとめています。

【STORK】有料テーマ購入を迷う人にストークをオススメする7つの理由2021年版

2019年6月1日

綺麗なデザインが最初から用意されているので、「ブログを書きたい」と思った時からすぐに始めることができます。しかも、執筆に便利なツールも一通りそろっているので、「書くことだけ」に集中できるという、ブロガーにとってはとても魅力的なテーマです。

是非STORKを試してみてくださいね★

関連記事

コメントを残す