タイガーラック クリエイティブブログ
2025
April
03

ランディングページのABテストを無料でおこなう方法を紹介【Laravel】

弊社のECサイトではリスティング広告で一定の集客をおこなっているのですが、日々のランディングページ(以下LP)改善・ABテストは欠かせません。

そこで今回は、Laravelのコントローラーを使ってABテストをおこなう方法を紹介します。

ABテストについて

ABテストは、2パターンのクリエイティブを用意して比較し、どちらがより良い成果を出すかをテストする手法です。主にLPの改善や広告運用において使われます。

また、ABテストはリダイレクトテスト、オンページテストの2種類のテスト手法があります。

リダイレクトテスト

今回Laravelで実装したのはリダイレクトテストです。
アクセスしたユーザーをサーバーサイドでランダムに振り分け、Aグループは元のURLへ、Bグループは別のURLへリダイレクトしテストする手法です。
メリットとして、アクセスされるURLがABで異なるのでGoogleAnalyticsで効果の検証をできることが挙げられます。

オンページテスト

同じURLのページ内で、一部の要素を動的に変更しテストする手法です。
こちらは主に外部ツールを利用し、ノーコードで簡単に実装できることがメリットです。

LaravelでのABテスト(リダイレクトテスト)実装

GoogleAnalyticsでの検証をしたかったので、今回はリダイレクトテストを採用しました。

以下はLPのコントローラーファイルです。

リダイレクトテストをおこなう際の仕様として以下が必要です。

  • 50%の確率でAパターン、Bパターンそれぞれに振り分ける
  • 一度AパターンにアクセスしたユーザーにCookieを付与し、2度目のアクセスの際もAパターンを表示させる
public function index(Request $request)
{
    // ABテスト用 URL振り分け
    if ($request->hasCookie('lp_ab_test_group')) {
        $group = $request->cookie('lp_ab_test_group');
    } else {
        $group = rand(0, 1) ? 'A' : 'B';
        cookie()->queue('lp_ab_test_group', $group, 60 * 24 * 14); // 14日間保持
    }

    if ($group === 'B') {
        return redirect('/lp-b'); // 302リダイレクト(デフォルト)
    }

    return view(\Consts::VIEW_DIR.'lp-a');
}

まず、if文でCookieの有無を確認し、Cookieに値が存在したら初回アクセス時に表示されたパターンを2回目以降も表示させます。

Cookieに値が無ければrand関数を使ってABを振り分けます。
その際にCookieに値を保存し、2回目以降のアクセス時に同じパターンが表示されるようにします。

Bパターンにリダイレクトさせる際は、Laravelのredirect関数を使います。
これはデフォルトで302リダイレクトとなりますが、引数を与えることで301リダイレクトにもできます。
通常、ABテストでは302リダイレクトを使用します。

これでコントローラー側の実装は完了です。

SEOに悪影響が出ないよう対策

ABテストをおこなう際はSEOに悪影響が出ないよう対策が必要です。

こちらはビュー側でおこないます。

<head>
<meta name="robots" content="noindex">
<link rel="canonical" href="https://example.com/lp-a">
...

今回の例ではAパターン(元ページ)のURLが「lp-a」、BパターンのURLが「lp-b」とします。

Bパターンも中身はほとんど同じ構成のコンテンツのため、Googleの検索エンジンにインデックスされてしまうと重複コンテンツと見なされてしまいます。
これは元ページやサイト全体がマイナス評価になってしまう恐れがあります。

そのため、Bパターンでは上記コードの通りnoindexを入れてあげましょう。
また、丁寧にやるならcanonicalでAパターンのURLを指定し、URLの正規化をしてあげると良いです。

noindexやcanonicalの重要性についてはここでは細かく言及しませんが、ABテストをおこなう際はおまじないがわりにBパターンのページに上記のコードを追加しておくとSEO面での対策はできます。

まとめ

ABテストは外部の有料ツールを利用しておこなう企業がほとんどですが、自社内で運用しているサイトをカスタマイズすることで、手軽にテストをおこなうこともできます。

今回は弊社の例でLaravelを使った事例を紹介しましたが、基本的にどのようなシステムでもカスタマイズは可能です。

もし、自社でABテストを実施したいとお考えでしたら、お気軽にご相談ください。

お使いのシステムに合わせた最適な実装方法をご提案し、手軽に効果測定ができる環境を構築いたします。

このカテゴリの最新記事

関連記事

SHOP LIST

タイガーラック株式会社

〒577-0056
大阪府東大阪市長堂1-3-14 TOKUYASU Bld.