[WordPress]【サンクスページ】遷移元に応じて、遷移先の文言を変える

以下、作業用メモです。

WordPressでは、遷移元のページに応じて遷移先のページで表示するメッセージを変更することが可能。そのためには、PHPの$_SERVER['HTTP_REFERER']変数を使用して遷移元のURLを取得し、それに基づいて条件分岐を行う。

以下一例。このコードは、サンクスページ(遷移先)に配置。

<?php
$referer = $_SERVER['HTTP_REFERER'];

if (strpos($referer, 'contact') !== false) {
    echo 'お問い合わせありがとうございました';
} elseif (strpos($referer, 'request') !== false) {
    echo '資料請求ありがとうございました';
} else {
    echo 'ありがとうございました';
}
?>

このコードでは、遷移元のURLに’contact’または’request’が含まれているかどうかをチェックしている。それぞれの場合に対応するメッセージを出力。どちらも含まれていない場合は、デフォルトのメッセージを出力。

ただし、この方法は遷移元のURLが正確に報告されることを前提としている。一部のブラウザやネットワーク設定では、リファラー情報がブロックされることがあるので注意。

リファラー情報がブロックされるとは

ブラウザやネットワーク設定によっては、リファラー情報がブロックされることがある。具体的には以下のような状況が考えられる:

  1. ブラウザの設定:一部のブラウザでは、ユーザーが設定を通じてリファラー情報の送信を無効にすることが可能。また、特定のアドオンを使用することで、リファラー情報の送信をより詳細に制御することも可能。
  2. セキュリティ設定:HTTPSからHTTPへの遷移時など、セキュリティ上の理由からリファラー情報が送信されない場合がある。
  3. プライバシー設定:プライバシーを重視するユーザーは、リファラー情報の送信を制限または無効にすることがある。
  4. Referrer Policy:WebサイトはReferrer Policyを使用して、どの程度のリファラ情報を含めるかを制御できる。このポリシーは、サイトがどの程度のリファラ情報を他のサイトに公開するかを決定する。

これらの理由から、遷移元ページによってはリファラー情報が正確に取得できない場合がある。そのため、リファラー情報に依存した機能を実装する際は注意が必要。

この記事を書いた人