2026年6月21日
2026年6月21日
WordPressのGDPR・個人情報保護法対応:標準のプライバシー機能と運用の手順
WordPress サイトでは、問い合わせフォーム、コメント、会員登録、アクセス解析などで個人情報を扱います。この記事では、EU の一般データ保護規則(GDPR)と日本の個人情報保護法に対応するために、WordPress の標準機能で何ができるか、何を運用で補う必要があるかを整理します。法令の内容は2026年10月時点の公開情報に基づく概要です。自社に何が適用されるかの最終判断は、弁護士など専門家に確認してください。
まず確認すること:どの法律が関係するか
GDPR
GDPR は EU 域内の事業者だけでなく、EU 域外の事業者でも、EU にいる人に商品やサービスを提供する場合や、EU にいる人の行動を監視(追跡型の広告やプロファイリングなど)する場合に適用されます。日本語だけで国内向けに運営しているサイトに、EU からアクセスがあるだけで直ちに適用されるわけではありません。EU 向けに販売している、EU の言語や通貨で案内している、といった事情があるかを確認します。
適用される場合の主な義務は次のとおりです。
| 項目 | 内容 |
|---|---|
| 処理の法的根拠 | 同意、契約の履行、正当な利益など、処理ごとに根拠が必要 |
| 情報提供 | 利用目的、保存期間、提供先、本人の権利などをわかりやすく示す |
| 本人の権利への対応 | アクセス(開示)、訂正、消去、データポータビリティ、異議などの請求に、原則1か月以内に対応 |
| Cookie の同意 | 必須でない Cookie(解析・広告など)は、EU 各国の ePrivacy 関連法により事前の同意が必要 |
| 漏えい時の通知 | 監督機関へ、把握から可能な限り72時間以内に通知 |
| EU 域内代理人 | EU 域外の事業者には、原則として EU 域内の代理人の選任が求められる |
日本の個人情報保護法
日本の事業者には、規模を問わず個人情報保護法が適用されます。WordPress サイトの運営で特に関係するのは次の点です。
- 利用目的をできるだけ特定し、公表または本人に通知する(プライバシーポリシーへの記載が一般的)
- 保有個人データについて、事業者名、利用目的、開示等の請求の手続き、安全管理のために講じた措置などを本人が知り得る状態にする
- 本人からの開示請求に対応する(本人は電子データでの開示を求めることができる)
- 個人データを第三者に提供する場合は、原則として本人の同意を得る。外国にある第三者へ提供する場合は、同意を得る際に移転先の国の制度などの情報を提供する
- Cookie などの「個人関連情報」を提供先が個人データとして取得することが想定される場合、提供元は本人の同意が得られていることを確認する
- 一定の漏えい等(要配慮個人情報、財産的被害のおそれ、不正の目的によるおそれ、1,000人を超える漏えい等)が発生したときは、個人情報保護委員会への報告と本人への通知が必要
なお、2026年7月に個人情報保護法の改正法が公布されています。施行は公布から2年以内の政令で定める日とされているため、最新の内容は 個人情報保護委員会 の公表資料で確認してください。
また、電気通信事業法の外部送信規律(2023年6月16日施行)は、SNS、検索サービス、ニュースサイトなど特定のサービスを提供する事業者が対象です。総務省の説明では、自社商品の販売サイトや企業・個人のホームページ・ブログは対象外とされています。自社が対象かは 総務省の外部送信規律のページ で確認できます。
手順1: サイトで扱っている個人データを洗い出す
対応の前に、どこでどんな個人データを集め、どこに送っているかを一覧にします。これがプライバシーポリシーの記載内容と、開示・消去の対象範囲になります。
| 集める場所 | 集めるデータの例 | 保存先・送信先の例 |
|---|---|---|
| コメント | 名前、メールアドレス、URL、IP アドレス | WordPress のデータベース、スパム対策サービス |
| 問い合わせフォーム | 名前、メールアドレス、問い合わせ内容 | メール、フォームプラグインの保存機能 |
| 会員登録・EC | 氏名、住所、電話番号、購入履歴 | データベース、決済サービス |
| アクセス解析・広告 | Cookie、IP アドレス、閲覧履歴 | Google Analytics などの外部サービス |
| 埋め込み | Cookie、IP アドレス | YouTube、SNS などの埋め込み元 |
外部サービスへの送信は、ブラウザーの開発者ツールのネットワークタブで、ページを開いたときにどのドメインへ通信しているかを見ると確認できます。
手順2: プライバシーポリシーページを設定する
WordPress には、プライバシーポリシーのページを指定する機能があります。
- 管理画面の「設定」→「プライバシー」を開く。
- 既存のページを選ぶか、新しいページを作成する。新規作成すると、記載例を含む下書きが作られる。
- 同じ画面の「ポリシーガイド」で、WordPress 本体と対応プラグインが示す記載例を確認し、手順1の内容に合わせて書き直す。
- 公開する。
指定したページは、ログイン画面の下部などにリンクとして表示されます。記載例はあくまで出発点で、そのまま公開しても自社の実態とは合いません。書き方の詳細は WordPressでプライバシーポリシーページを作成・生成する方法 を参照してください。
WP-CLI では、指定されているページの ID を次のコマンドで確認できます。
wp option get wp_page_for_privacy_policy
手順3: 開示(エクスポート)・消去の請求に対応する
WordPress には、本人からの請求に対応するためのツールがあります。
- 「ツール」→「個人データのエクスポート」
- 「ツール」→「個人データの消去」
どちらも、請求者のメールアドレスを入力して依頼を作成すると、そのアドレスに確認メールが送られます。本人が確認リンクをクリックすると依頼が「確認済み」になり、管理者がエクスポートファイル(ZIP)の作成・送信や、データの消去を実行します。メールでの確認は、なりすましによる請求を防ぐための仕組みです。
使うときの注意点です。
- 対象は、WordPress 本体と、この仕組みに対応したプラグインが登録したデータだけです。フォームプラグインの保存データや外部サービス上のデータは、プラグインの対応状況を確認し、足りない部分は個別に対応します。
- 消去ツールは、コメントは削除ではなく匿名化します。また、ユーザーアカウント自体は削除しません。アカウントの削除が必要な場合は「ユーザー」画面から別途削除します。
- エクスポートファイルは一時的に公開ディレクトリに作られ、既定では3日後に自動で削除されます。
- 本人確認ができない請求や、法令上保存が必要なデータ(取引記録など)の扱いは、あらかじめ方針を決めておきます。
詳しい操作は WordPressのユーザーデータをエクスポートする方法(GDPR対応) で説明しています。
独自に保存しているデータを対象に加える
テーマや自作プラグインでユーザーメタなどに個人データを保存している場合は、エクスポートと消去の対象に登録します。ユーザーメタ phone(電話番号)を対象にする例です。wp-content/mu-plugins/ に置くか、自作プラグインに含めます。
<?php
/**
* Plugin Name: Phone Meta Privacy
* Description: ユーザーメタ phone を個人データのエクスポート・消去の対象にする。
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
add_filter( 'wp_privacy_personal_data_exporters', function ( $exporters ) {
$exporters['my-phone-meta'] = array(
'exporter_friendly_name' => '電話番号',
'callback' => 'my_phone_meta_exporter',
);
return $exporters;
} );
function my_phone_meta_exporter( $email_address, $page = 1 ) {
$items = array();
$user = get_user_by( 'email', $email_address );
if ( $user ) {
$phone = get_user_meta( $user->ID, 'phone', true );
if ( '' !== $phone ) {
$items[] = array(
'group_id' => 'my-phone-meta',
'group_label' => '電話番号',
'item_id' => 'phone-' . $user->ID,
'data' => array(
array( 'name' => '電話番号', 'value' => $phone ),
),
);
}
}
return array( 'data' => $items, 'done' => true );
}
add_filter( 'wp_privacy_personal_data_erasers', function ( $erasers ) {
$erasers['my-phone-meta'] = array(
'eraser_friendly_name' => '電話番号',
'callback' => 'my_phone_meta_eraser',
);
return $erasers;
} );
function my_phone_meta_eraser( $email_address, $page = 1 ) {
$removed = false;
$user = get_user_by( 'email', $email_address );
if ( $user && '' !== get_user_meta( $user->ID, 'phone', true ) ) {
$removed = delete_user_meta( $user->ID, 'phone' );
}
return array(
'items_removed' => $removed,
'items_retained' => false,
'messages' => array(),
'done' => true,
);
}
エクスポーターは data(項目の配列)と done(処理が終わったか)を返します。データが多い場合は done を false にすると、$page を1つ増やして再度呼び出されます。消去側は、消したかどうか(items_removed)、残したかどうか(items_retained)、管理者へのメッセージ(messages)を返します。仕様は WordPress のプラグイン開発者向けハンドブック で確認できます。設置後、テスト用のユーザーでエクスポートと消去を実行し、ZIP に電話番号が入ること、消去後にメタが消えることを確かめてください。
手順4: Cookie と外部サービスへの送信を整理する
WordPress 本体の Cookie
WordPress 本体は、ログイン時の認証 Cookie のほか、コメント投稿者の名前などを次回のために保存する Cookie を使います。後者は「設定」→「ディスカッション」にある、コメント Cookie のオプトイン用チェックボックスを表示する設定を有効にすると、投稿者が保存するかを選べるようになります。WP-CLI で設定を確認する場合は次のとおりです(1 なら有効)。
wp option get show_comments_cookies_opt_in
同意バナー
GDPR の対象となる場合は、アクセス解析や広告など必須でない Cookie を、訪問者の同意前に読み込まない仕組みが必要です。バナーを表示するだけで、同意前に解析タグが動いていては意味がありません。WordPress.org で配布されている主な同意管理プラグインには、Complianz(スラッグ complianz-gdpr)や CookieYes(スラッグ cookie-law-info)があります。WP Consent API(スラッグ wp-consent-api)は、同意の状態をほかのプラグインと共有するための仕組みで、対応しているプラグイン同士で使います。
導入後は、ブラウザーの開発者ツールで、同意前に解析・広告のドメインへ通信していないこと、拒否した後も読み込まれないことを確認します。実装例は WordPressのCookieバナー(GDPR対応)を実装する方法 を参照してください。
日本の個人情報保護法には、Cookie を使うだけで一律に同意を求める規定はありません。ただし、前述の個人関連情報の第三者提供にあたる場合や、外部送信規律の対象事業者である場合は、それぞれの規定に従った対応が必要です。
手順5: 集めるデータを減らす
持っていないデータは漏えいしません。必要のないデータを集めない、保存しない設定も検討します。
- 問い合わせフォームで、使わない項目(住所、電話番号など)を必須にしない。フォームの内容をデータベースに保存する機能が不要なら無効にする。
- 古いデータを定期的に削除する。保存期間の決め方は WordPressのデータ保持ポリシーを設定する方法 で説明しています。
- コメントの IP アドレスが不要なら保存しない。次のコードで、新しく投稿されるコメントの IP アドレスが空で保存されます。ただし、IP アドレスを使うスパム対策の精度は下がります。
<?php
// コメント投稿者の IP アドレスを保存しない
add_filter( 'pre_comment_user_ip', '__return_empty_string' );
手順6: 漏えいに備えた手順を決める
個人データの漏えいは、報告の期限が短いため、起きてから手順を考えると間に合いません。次の内容を事前に文書にしておきます。
- 漏えいの疑いを誰が判断し、誰に連絡するか
- サイトの停止、パスワード変更、ログの保全などの初動
- 日本の個人情報保護委員会への報告(速報と確報)、本人への通知の要否の判断
- GDPR の対象であれば、監督機関への72時間以内の通知
サーバー側の初動は サーバーがハッキングされた時の初動対応手順 にまとめています。
注意点
- プラグインやテーマが独自に個人データを集めている場合があります。新しいプラグインを入れたら、手順1の一覧とプライバシーポリシーを見直してください。
- 外部サービスへ個人データを送る場合(メール配信、解析、決済など)は、そのサービスの利用規約やデータ処理契約、データの保存国を確認し、プライバシーポリシーに反映します。
- EU から日本への個人データの移転については、EU が日本に十分性認定を出しています。ただし、日本から EU 以外の外国へ移転する場合などは、別途の確認が必要です。
- この記事は法令の概要と WordPress の操作をまとめたもので、法的な助言ではありません。
まとめ
- まず、GDPR が適用されるか(EU 向けにサービスを提供しているか)と、日本の個人情報保護法で求められる対応を確認する。
- サイトで集める個人データと送信先を一覧にし、プライバシーポリシーに反映する(「設定」→「プライバシー」)。
- 開示・消去の請求は「ツール」→「個人データのエクスポート」「個人データの消去」で対応し、独自データは
wp_privacy_personal_data_exportersとwp_privacy_personal_data_erasersで対象に加える。 - GDPR の対象なら、必須でない Cookie は同意前に読み込まない仕組みにする。
- 集めるデータを減らし、漏えい時の報告手順を事前に決めておく。
関連記事: