GDPR対応、行なっていますか?

サイト上に「クッキーに同意しますか?」などと表示されるメッセージを表示しないと、GDPRに違反する可能性があります。

そこで当記事では、GDPR対策のクッキー同意バナーを表示できるWordPressプラグイン「Complianz」の設定方法をご紹介いたします。

GDPR対象国からのアクセス時のみ同意バナーを表示するカスタマイズも併せて解説しますので、ぜひ参考にしてみてください。
WordPressテーマ「GLUE」
WordPressテーマ「GLUE」
無料で高機能なWordPressテーマが手に入る。

Complianzの機能概要

Complianzは、GDPR対策のための同意メッセージを表示できるプラグインです。今回は無料版でできることをご紹介します。特徴は以下のとおりです。

  • 無料プランでもPV数の制限がない
  • サイト訪問時にクッキー同意バナーを表示
  • 表示する文言は自由に変更可能
  • バナーのデザインや表示位置をカスタマイズできる

シンプルに「クッキー同意バナー」だけを表示したいなら、「CookieYes」というプラグインも使えます。

ただ、無料プランだと5,000PV/月の制限があるようです(参考:CookieYes公式ページ)。

PV数がある程度あるサイトで、無料で対策したいなら「Complianz」がおすすめです。

プラグインのインストール

Complianzのインストール

管理画面から「Complianz」を検索してインストールするか、下のボタンからもダウンロード可能です。プラグインファイルを wp-content/pluginsディレクトリにアップした後、管理画面から有効化してください。

Complianz

プラグインのインストールにつきましてはこちらで詳しく解説しています。

Complianzの設定方法

プラグインを有効化したら、ダッシュボードに「Complianz」の項目が表示されるので、ここから設定を行います。

Complianzの設定画面

上記のようにサイトに登録したメールアドレスが表示される画面は「No Thanks」でスキップしてOKです。

全部英語ですが、要所要所を正確に設定すれば難しくないので、順番に見ていきましょう。

Complianzの設定画面2

上記画面が表示されたら、「Close」を押します。

設定箇所は大きく分けて、以下の2箇所です。

  1. Wizard(初期設定)
  2. Consent Banner(バナーのスタイル調整)

1. Wizard(初期設定)

ダッシュボード左側の「Wizard」からセットアップを進めていきます。

まず「General」の設定項目が表示されます。項目が多いですが、スキップできる箇所も多いです。

  1. Visitors
  2. Documents
  3. Website information
  4. Security & Consent
  5. Website Scan
  6. Statistics
  7. Statistics configuration
  8. Services
  9. Plugins
  10. Cookiedatabase.org
  11. Documents
  12. Finish
1-1. Visitors

まずは、どの訪問者を対象にするかの設定。

Complianzの設定画面(Visitors)

チェックを入れる箇所は以下のとおりです。

  • European Union (GDPR)
  • Do you target visitors from Germany, Austria, Belgium and/or Spain? → No
  • Does your site have visitors with log-in access to a restricted area of the website? → No

今回はGDPR対策なので、一番上にチェック。
ドイツ、オーストリア、ベルギー、スペインは対象外なので、Noを選びます。

3つ目に関しては、サイトにログイン機能がある場合は、Yesを選んでください。

確認が済んだら、「Save and Continue」で次に進んでください。

1-2. Documents

続いて、プライバシーポリシーページなどを設定します。

Complianzの設定画面(Documents)

最初の項目で「URL」を選択すれば、既存のプライバシーポリシーページのURLを設定できます。

他の項目は、右横に「Upgrade」と書いてあるので、有料版のみで設定可能です。今回はすべて「None」に設定して、次に進んでください。

1-3. Website information

この項目では、サイトのメインターゲットとなる国名を設定します。アルファベット順で国名の選択肢が並んでいます。

Complianzの設定画面(Website information)

日本国内のユーザーがメインターゲットなら、上記のように「Japan」と設定して、次に進みます。

同意メッセージの表示に関する設定です。

Complianzの設定画面(Security & Consent)

すべて「No」を選択して問題ないです。

3つ目の「Respect Do Not Track and Global Privacy Control?」は、閲覧ユーザーがブラウザや拡張機能などで「トラッキング拒否」を有効にしている場合、その設定を優先するかどうかを決める項目です。

  • Yes:ユーザーが「トラッキング拒否」を設定していれば、自動的に「同意しない」と判断され、バナーは表示されません。
  • No:ユーザー側の設定に関わらず、通常どおりバナーを表示し、同意の可否を選んでもらいます。

日本やEU圏外がメインのサイト運営なら、基本的に「No」で問題ありません。

1-5. Website Scan

次は「Consent」という項目の一つ目の設定「Website Scan」です。

Complianzの設定画面(Website Scan)

この項目は何もせず、「Continue」で大丈夫です。

1-6. Statistics

Statisticsでは、サイト内でどの解析ツールを使っているかを設定します。

Complianzの設定画面(Statistics)

今回の例では、Google Analyticsを選びます。

GDPR準拠のため、表示される3つの項目には、すべてチェックを入れてください。

それぞれ、以下の意味になります。

  • Googleとの「データ処理契約」に同意しているかどうか(必須)。
  • 広告やベンチマークなど、他サービス利用を拒否する設定(GDPR対応上は「拒否する」が基本)。
  • ユーザーの IP を匿名化(末尾をカット)する(EU圏では必須)。
1-7. Statistics configuration

この項目では、Google AnalyticsのトラッキングIDを登録します。

Complianzの設定画面(Statistics configuration)

他の項目は、デフォルトのままで大丈夫なので、登録できたら次に進みます。

1-8. Services

この項目では、サードパーティ製のサービスをサイト内で使っているかどうかを確認します。

Complianzの設定画面(Services)

1つ目の質問は、「No」のまま、サードパーティ製のサービスを使っているなら2つ目の質問は「Yes」でいいです。その下に各種サービス名が表示されるので、利用しているものにチェックを入れます。

「Google reCAPTCHA」や「YouTube」などは利用されている方も多いのではないでしょうか。

下に質問が続くので、それぞれ状況に応じて回答してください。

Complianzの設定画面(Services)パート2

各種質問の意味は、以下のとおりです。

Do you want to block reCAPTCHA before consent, and when consent is revoked?
同意を得る前や同意が取り消された後に、reCAPTCHA をブロックしますか?

フォームにreCAPTCHAを使っている場合、GDPRに沿って同意後にのみ読み込むかどうかを選びます。
Noで問題ないです。

Does your website contain embedded social media content, like buttons・・・
ソーシャルメディアの埋め込みコンテンツ(ボタン、タイムラインなど)を含みますか?

Twitter埋め込みやFacebook「いいね」ボタンなどを使っている場合は「Yes」とします。

Select which social media are used on the website.
どのソーシャルメディアを使用していますか?

前の質問で「Yes」と答えた場合、具体的に利用しているSNSを選択します。

Does your website contain scripts for advertising purposes?
広告目的のスクリプトを含んでいますか?

Google AdSense や Facebookピクセルなど、広告関連のコードを使っている場合に「Yes」とします。

Does your website use WordPress comments?
WordPress標準のコメント機能を使っていますか?

ブログ記事にコメント欄を設置している場合は「Yes」、使っていなければ「No」で問題ありません。

1-9. Plugins

利用中のプラグインを自動で検出してくれます。

Complianzの設定画面(Plugins)

基本的に何もせず、「Save and Continue」で問題ありません。

Cookiedatabase.org

この画面に移動すると、自動でクッキー情報が取得されます。

Complianzの設定画面(Cookiedatabase.org)

すべてのアイコンが緑色になれば、問題なしです。「Continue」を押して、次に進んでください。

1-10. Documents

プライバシーポリシーページやクッキーポリシーページがまだない場合、ここで自動生成されます。

Complianzの設定画面(Documents)

基本的には何もせず 「Save and Continue」 をクリックすればOKです。後からでもページ内容やメニューへの追加は編集可能です。

1-11. Finish

いよいよ最後の設定です。同意バナーを表示する設定です。

Complianzの設定画面(Finish)

両方「Yes」に設定して、「Finish」を押してください。

自動的に次の項目「Consent Banner」が表示されますが、ここまでの設定で、サイトに同意バナーが表示されるようになります。

バナーの表示内容などを調整したい場合は、ここで行います。設定箇所は以下のとおりです。

  1. General
  2. Appearance
  3. Color
  4. Texts

ここでは、バナーに表示されるボタンの選択肢や、スマホで表示するかどうかなどを変更できます。初期値のままでも問題ないです。

Complianzの設定画面(Consent Banner-General)

右下に表示されているプレビューが自動的に変わるので、それぞれ変更して試してみてください。

バナーの表示位置や、細かいスタイルを調整できます。

Complianzの設定画面(Appearance)

こちらもデフォルトのままで問題ないですが、変更したい場合は、それぞれ調整してみてください。

バナーの各要素の色設定です。

Complianzの設定画面(Color)

背景色やトグルスイッチ、ボタンのやテキストの文字色など細かく調整可能です。こちらもお好みで変更してみてください。

バナーに表示される文章や文言を変えたい場合は、こちらです。

Complianzの設定画面(Text)

日本語に書き換える方も多いかもしれませんが、GDRPはEU圏とEEA(欧州経済領域)の国々が対象なので、英文のままの方が望ましいです。つまり、基本的に変更不要です。

ここまで設定できたら、サイト上を確認してみてください。

同意バナーが表示されている例

このようにクッキー同意バナーが表示されているはずです。

GDPR対象国からのアクセス時のみ同意バナーを表示する方法

GRPRはEU圏の国々が対象なので、日本からアクセス時には同意バナーを表示したくないですよね。
ただ、無料版のComplianzでは、国別での表示制御機能は提供されていません。

というわけでこの章では、独自のカスタマイズで実現する方法をご紹介します。

GDPR対象国からのアクセス時のみ同意バナーを表示するには、次の2ステップの作業を行います。

  1. プラグイン「Geolocation IP Detection」の設定
  2. functions.phpの編集

それぞれ解説します。手順通りに行えば誰でもできるので、ご安心ください。

1. プラグイン「Geolocation IP Detection」の設定

プラグイン「Geolocation IP Detection」のインストール

まずは、プラグイン「Geolocation IP Detection」を有効化してください。

このプラグインは、訪問者のIPから国情報を取得し、アクセス元がEU圏内かどうかを判定するために使います。

設定手順は次のとおりです。

  1. 国別IPのデータベースをダウンロードする
  2. 国別IPのデータベースをサーバーにアップロードする
  3. プラグインの設定画面で国別IPデータベースを参照する
1-1. 国別IPのデータベースをダウンロードする

有効化したら、下記箇所(Options)から設定します。

Geolocation IP Detectionのoptions

上から2つ目のオプション「Maxmind City or Country database (Manual download & update)」を選択し、「Free version」を押してください。

Geolocation IP Detectionの設定(Maxmind City or Country database (Manual download & update))

下記ページが開きますので、サインナップします。

Geolocation IP Detectionの設定(サインナップ箇所)

次のページでサインナップに必要な情報を入力します。

Geolocation IP Detectionの設定(サインナップ項目)

下にスクロールすると、以下の2種類の必須項目があります。

Geolocation IP Detectionの設定(サインナップの必須項目)

それぞれ以下のように入力するといいです。

  • Intended Use(利用目的):Digital rights Management & compliance
  • How do you plan to use the data?(用途確認):GDPR banner

入力して「Continue」を押すと次の画面が開きますが、閉じて大丈夫です。

Geolocation IP Detectionのページ

あとは、登録したメールアドレスに以下の認証メールが届くので、パスワードを設定してください。

Geolocation IP Detectionから届く認証メール

上記箇所からページを開いて設定します。

正しくサインナップできると、以下の画面が開きます。

正常にサインナップできた画面

右下の「Download Databases」からIP別国情報のデータベースをダウンロードできます。

Geolocation IP Detectionでデータベースをダウンロードする箇所

「GeoLite2-Country」の右側の「Download GZIP」を押します。

お手元のPCに「GeoLite2-Country_2025xxxxx.tar.gz」というファイルがダウンロードされますので、クリックして解凍してください。

1-2. 国別IPのデータベースをサーバーにアップロードする

解凍したファイルの中で使うのは「GeoLite2-Country.mmdb」だけです。

PCにダウンロードされたファイルを解凍した例

このファイルにはIPごとの国情報が含まれています。

FTPソフトなどを使って、お使いのWordPress環境のwp-content/uploads/にアップロードしてください。
wp-contentは、WordPressがインストールされているルートディレクトリにあります。

1-3. プラグインの設定画面で国別IPデータベースを参照する

ファイルをアップロードできたら、プラグインの設定画面に戻って以下のように入力します。

wp-content/uploads/GeoLite2-Country.mmdb

プラグインの設定箇所

これで「Save」すると、IPごとの国情報をWordPressサイト内で読み込めるようになります。

設定を保存後に表示されるエラー(無視でOK)

↑のようにエラーが出ても問題ないので、上部の「Test IP Detection Lookup」をクリックしてください。

Geolocation IP Detectionでデータベースが参照されていることを確認できる箇所

「GeoLite2 Country database」が参照されていることがわかり、今現在のIPアドレスも表示されれば、これで問題なしです。

2. functions.phpの編集

続いて、functions.phpを編集します。テーマファイルを直接編集するのはリスキーなので、Code Snippetsを使うのがおすすめです。

IP情報を元に、GDPR対象国以外からのアクセスならバナーを非表示にするという記述です。

以下のコードをコピペしてご活用いただけます。

add_action('wp_footer', function() {
    $ip = $_SERVER['REMOTE_ADDR'];

    try {
        $reader = new GeoIp2\Database\Reader( WP_CONTENT_DIR . '/uploads/GeoLite2-Country.mmdb' );
        $record = $reader->country($ip);
        $country_code = $record->country->isoCode;
        $reader->close();

        $eu_countries = [
            'AT','BE','BG','HR','CY','CZ','DK','EE','FI','FR',
            'DE','GR','HU','IE','IT','LV','LT','LU','MT','NL',
            'PL','PT','RO','SK','SI','ES','SE', // EU27
            'IS','LI','NO' // EEA3
        ];

        // EU圏外ならバナーを非表示
        if (!in_array($country_code, $eu_countries)) {
            echo '';
        }

    } catch (\Exception $e) {
        // エラー時は何もしない
    }
}, 9999); // 末尾で実行

EU27ヶ国と、EEA3ヶ国のみを対象にバナーを表示し、それ以外の国からのアクセスではバナーが非表示になります。当然、日本国内からのアクセスでも表示されません。

対象国からのアクセスを再現して、バナーの表示を確認したいときは、次のようなVPNサービスを利用するのが便利です。

まとめ

クッキー同意バナーを表示できるWordPressプラグイン「Complianz」についてご紹介しました。

設定項目が多いですが、確認する箇所は意外と少ないです。デフォルト設定のままで問題ない箇所も多いので、手順通りに進めればスムーズに設定できます。

また、当記事を参考にカスタマイズすれば、対象国のみバナーを表示できるので、日本国内からのアクセスに干渉することもありません。ぜひトライしてみてください。

売上が上がるネットショップが
WordPressで作成できる。
WordPressテーマ「RIKYU」
WordPressテーマ「RIKYU」
あらゆるジャンルのネットショップが作成可能。
WordPressテーマ「common」
WordPressテーマ「common」
デジタルコンテンツのECサイトがつくれる。
WordPressテーマ「Ankle」
WordPressテーマ「Ankle」
かわいいネットショップを簡単作成。
WordPressテーマ「EGO.」
WordPressテーマ「EGO.」
2大カートプラグイン対応のECサイトを構築。