ヘッダーのロゴ

すぐに仕事で使えるIT技術情報メディア

初心者必見!WordPressでリファラを取得する方法(サンプルコード付き)

投稿日:2024年04月09日(火) 更新日:2024年04月16日(火)
初心者必見!WordPressでリファラを取得する方法(サンプルコード付き)|WordPress MAGAZINE ワードプレスマガジン|すぐに仕事で使えるIT技術情報メディア

みなさんこんにちは!エンジニアの高澤です!
今回はWordPressでリファラを取得する実装方法について解説していきたいと思います。

リファラとは簡単にいえば今開いているページにアクセスする前のページのURLのことをいいます。

このリファラを取得することができることで、PHPのシステム処理の実装で様々な機能を実装することが可能となります。

筆者自身これまでの仕事でリファラを取得して処理を実装することがありましたため、当記事で扱っていきたいと思います。

リファラとは

リファラとは、ユーザーが現在のページにアクセスする前に閲覧したページのURLのことをいいます。

ページのURLは、厳密にはHTTPリクエストヘッダー内の情報になります。

このリファラを取得することができるようになれば、例えば会員サイトであれば新規会員登録の処理にリファラを取得する処理を追加し、どのページやサイトからアクセスがあって会員登録したのかがわかるようになります。

リファラを必要とする場面とは

リファラは、ウェブサイトのトラフィックの流れを追跡したり、特定のリンクや広告キャンペーンの効果を評価するために使用されることがあります。

たとえば、あるページからのリンクをクリックしてウェブサイトに訪れたユーザーのリファラは、そのリンクを含むページのURLになります。

この情報を使用すると、どのページや広告からユーザーがサイトに訪れたのかを把握することができます。

リファラを取得する方法

それでは早速リファラを取得する方法について解説したいと思います。

リファラを取得する方法は以下の2種類になります。

  • リファラを取得する方法
  • PHPのグローバル変数で実装する場合

それぞれご自身の実装要件に合わせて適切な方を使用していただければと思います。

それぞれ解説していきます。

PHPのグローバル変数で実装する場合

PHPのグローバル変数で実装する場合は、以下のコードをテーマファイル内にある任意のPHPテンプレートファイル内にコピー&ペーストしてください。

<?php
$referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';

上記コードでは、PHPのスーパーグローバル変数である$_SERVER['HTTP_REFERER']を使用して、現在のページへのリクエストがどのURLから来たのかを取得することができます。

WordPressのテンプレートタグで実装する場合

WordPressのテンプレートタグで実装する場合は、以下のコードをテーマファイル内にある任意のPHPテンプレートファイル内にコピー&ペーストしてください。

<?php
$referrer = wp_get_referer();

wp_get_referer()関数は、WordPressのテンプレートタグ(関数)で、現在のページへのアクセス前にユーザーがいたページのURL(リファラ)を取得するために使用されます。

この関数は、リファラが存在する場合はその値(リファラ)を返し、存在しない場合はデフォルト値を返します。

wp_get_referer()関数は、WordPressのセキュリティの考慮や他のWordPress機能との互換性を確保するために使用されます。

リファラがセキュリティ上の問題を引き起こす可能性があるため、wp_get_referer()関数はリファラを信頼できる方法で取得できます。

リファラの注意点

リファラは、クライアント(ユーザーのブラウザ)が提供する情報であり、必ずしも信頼できる情報ではないことに注意する必要があります。

一部のブラウザやセキュリティソフトウェアは、プライバシーのためにリファラを送信しない設定になっている場合があります。

まとめ

WordPressでリファラを取得する方法についての解説は以上になります。

当記事ではリファラを取得する方法として2種類解説し、取得することが必要なケースについても解説させていただきました。

このリファラを取得することができれば、PHPで様々なシステム処理を実装することが可能となるので、よろしければぜひ当記事をお役立ていただけましたら幸いです。

執筆者

ワードプレスマガジン編集部 高澤 翔汰

歴4年目(2024年8月以降から5年目です)のエンジニアです!
CMSでのサイト構築とWebデザイン制作を兼任して4年目になります。
自作のiOSアプリ(iPhoneアプリ)やWordPressプラグインを開発することもあり、まだまだ現在進行形で勉強中です!