リダイレクト・表示設定

プラグインの各設定項目の詳細と、リダイレクトページのカスタマイズ方法を解説します。

リダイレクト設定

リダイレクト設定では、転送先ドメインや待機時間、フォールバック先など、リダイレクト処理の基本動作を制御します。

設定項目 説明 デフォルト値
転送先ドメイン
redirect_domain
転送先の基本URLを入力します。末尾のスラッシュは不要です。ドメインだけでなく、下層パスを含むURL(例: https://example.com/new-site/)も指定できます。この場合、旧サイトの各パスが下層パスの後ろに結合されて転送されます(例: 旧 /about/https://example.com/new-site/about/)。 (空)
リダイレクト待機秒数
redirect_delay
meta refreshタグの待機秒数を-1〜60の範囲で指定します。0で即時転送、-1で自動転送なし(リンクのクリックのみ)。ユーザーに移転メッセージを読ませる時間を確保できます。 3
フォールバックURL
fallback_url
転送先ページがエラー(4xx/5xx)を返す場合に代わりに転送するURLです。空の場合は転送先ドメインのトップページにフォールバックします。 (空 = トップページ)
canonical出力
canonical_enabled
転送先URLが存在する場合(200応答など)に、リダイレクトページにcanonicalタグを出力します。SEO/GEOの観点で、検索エンジンやAIクローラーに移転先の正しいURLを伝えるために有効です。 ON
タイトル取得
fetch_title_enabled
転送先ページのtitleタグを取得し、リダイレクトページのタイトルとして使用します。検索結果に転送先の情報が表示されやすくなります。 ON

おすすめ設定

redirect_delay は3〜5秒がおすすめです。短すぎるとユーザーがメッセージを読めず、長すぎると離脱の原因になります。-1に設定すると自動転送が無効になり、ユーザーがリンクをクリックしない限り遷移しません。canonical_enabledfetch_title_enabled はどちらもONのままにしておくことで、SEO効果を最大限に活用できます。

設定画面全体のスクリーンショット

設定画面の全体像 - リダイレクト設定・表示設定・メッセージ設定をまとめて管理

表示設定

リダイレクトページの見た目をカスタマイズできます。ブランドに合わせたデザインで、ユーザーに安心感を与えるページを作成しましょう。

設定項目 説明 デフォルト値
ロゴ画像URL
logo_url
リダイレクトページに表示するロゴ画像のURLです。「画像を選択」ボタンからWordPressのメディアアップローダーを使って選択できます。 (空)
背景色
background_color
リダイレクトページの背景色をカラーピッカーで選択します。 #000000(黒)
テキスト色
text_color
リダイレクトページのテキスト色をカラーピッカーで選択します。 #cccccc(薄灰)
リンク色
link_color
転送先URLのリンク色をカラーピッカーで選択します。 #e67e22(オレンジ)

カラーピッカーの使い方

背景色・テキスト色・リンク色の各項目には、WordPressのカラーピッカーが表示されます。色をクリックして視覚的に選択するか、16進数カラーコード(例: #ff6600)を直接入力することもできます。

メディアアップローダーの使い方

ロゴ画像の設定では「画像を選択」ボタンをクリックすると、WordPressのメディアアップローダーが開きます。既存のメディアライブラリから画像を選択するか、新しい画像をアップロードしてください。

メッセージ設定

リダイレクトページに表示するメッセージをカスタマイズできます。

設定項目 説明 デフォルト値
移転メッセージ
message_text
リダイレクトページに表示する移転告知のメッセージです。 当サイトは下記URLに移転しました
カウントダウンメッセージ
countdown_text
自動転送までのカウントダウンを表示するメッセージです。{seconds} プレースホルダーが実際の残り秒数に自動で置換されます。 {seconds}秒後に自動的に転送されます

{seconds}プレースホルダーについて

カウントダウンメッセージ内の {seconds} はJavaScriptによってリアルタイムで残り秒数に置換されます。この文字列はメッセージ内に必ず含めてください。例: 「あと{seconds}秒で移動します」

プレビュー機能

設定画面の下部にある「プレビュー」セクションでは、現在の設定でリダイレクトページがどのように表示されるかをリアルタイムで確認できます。背景色・テキスト色・リンク色・ロゴ画像・メッセージの変更が即座に反映されるため、保存前に仕上がりを確認できます。

プレビュー表示のスクリーンショット

設定画面のプレビューセクション - 変更がリアルタイムで反映される

フロントエンドでの表示例

実際にフロントエンドでユーザーがアクセスした際に表示されるリダイレクトページの例です。ロゴ画像、移転メッセージ、転送先URL、カウントダウンが表示されます。

フロントエンドリダイレクトページのスクリーンショット

フロントエンドで表示されるリダイレクトページ

リダイレクト処理の技術的な流れ

本プラグインのリダイレクト処理は、以下のステップで実行されます。

1

リクエストのインターセプト
template_redirect フック(優先度1)でフロントエンドのリクエストを最優先でキャッチします。

2

除外判定
is_admin()wp_doing_ajax()wp_doing_cron()REST_REQUEST を確認し、管理画面やAPI通信を除外します。

3

転送先ドメインの確認
redirect_domain が空の場合は処理を中断し、通常のWordPress動作を継続します。

4

URL構築
$_SERVER['REQUEST_URI'] からパスとクエリ文字列を分離し(wp_unslash + sanitize_text_field でサニタイズ)、転送先URLを構築します。

5

ホスト名検証
構築したURLのホスト名が転送先ドメインと一致するか検証し、SSRF(サーバーサイドリクエストフォージェリ)攻撃を防止します。

6

転送先の存在確認
wp_safe_remote_head で転送先URLにHEADリクエストを送信し、ステータスコードを確認します。結果はTransient APIで1時間キャッシュされます。

7

フォールバック判定
ステータスコードが0(接続失敗)または400以上(4xx/5xxエラー)の場合はフォールバックURLに転送先を切り替えます。200〜399(成功・リダイレクト)の場合はcanonical出力とタイトル取得を行います。

8

出力バッファクリア
ob_end_clean で既存の出力バッファをクリアします。EWWW Image Optimizer等のプラグインによる出力干渉を防止します。

9

ヘッダー送信
Content-Type: text/html; charset=UTF-8X-Robots-Tag: noindex ヘッダーを送信し、リダイレクトページが検索エンジンにインデックスされないようにします。

10

HTMLリダイレクトページ出力
meta refreshタグ、canonical(有効時)、カスタマイズされたリダイレクトページHTMLを出力し、die() で処理を終了します。

リダイレクト処理フローの図解

リダイレクト処理の全体フロー

Transientキャッシュに関する注意

設定を保存すると、転送先URLの存在確認キャッシュ(Transient)は自動的にクリアされます。ただし、URLごとの存在確認結果は最大1時間キャッシュされるため、転送先ページの状態が変わった場合(例: 転送先が復旧した、新しいページが追加された等)には、反映まで最大1時間かかることがあります。エラー時のキャッシュは5分で期限切れになります。