Cookie 同意がやっていることを調べてみた - WordPress

GDPR のおかげでここ数年あちこちの Web ページで目にするようになった Cookie 同意ですが,自分が立ち上げている WordPress サイトへの海外からのアクセスが増える可能性がある事案があったので,急遽 Cookie 同意プラグインを導入して,その挙動を調べてみました.

CookieYes の Cookie 同意プラグイン

WordPress には Cookie 同意プラグインが数多く存在しますが,その中から CookieYes のものを選択しました.

CookieYes のプラグイン

ページビューの多いサイトで使うのであれば課金が発生しますが,場末のブロクサイトぐらいなら Free で十分.

プラン-料金

設定手順を1からメモしていませんが,プラグイン設定で CookieYes のページ(Web App)に飛ばされるので,そこでメアドとパスワードを設定→メアドに届く Email Verification のリンクをクリックすれば,Cookie スキャンやそれに続く設定をできるようになります.

私のサイトを Cookie スキャンにかけて検出されたのは cookieyes-consent のみ.これは CookieYes プラグインが発行する必須 Cookie です.

サイトで使用する Cookie の調査

WordPress 設定上,利用しているものがスキャンして出てきた cookieyes-consent のみということはあり得なかったので,少々調査しました.

この辺りを見ると,私のサイトの WordPress 設定上はコメントについての Cookie が発行されることになっていました.

  • comment_author_{HASH}

  • comment_author_email_{HASH}

  • comment_author_url_{HASH}

ただ,これらは実際にコメントを送信する POST 操作を行わないと発行されないので,Cookie スキャンでは出しようがないということですかね.ということで,Cookie スキャンで Cookie 同意に必要な全ての Cookie が洗い出されるわけではないので,注意が必要ですね.

Cookie Manager に登録

前ステップで洗い出した Cookie を CookieYes Web App 内の Cookie Manager に登録します.前掲3つの Cookie は,コメント投稿時に入力した名前,メアド,サイトを次回以降のコメント投稿時に入力しなくて済むように保存しておく目的のものなので,Functional Cookie に登録します.

実際にページアクセス

ここまで作業を行った状態で,実際に WordPress ページにアクセスすると,Cookie 同意画面が現れます(ページ内の Cookie 同意画面の位置等は Web App で設定可能).

あとは,訪問者が Cookie 同意画面にどう応答するかによって,"Accepted","Rejected","Partially accepted" のログが Web App に保存され,それぞれの同意イベントについて各 Cookie の Accept/Reject 状況を PDF でダウンロードすることができます.

本当に Reject されているか?

訪問者からすると,同意画面で指示した通りに本当に Cookie が Reject されているか,気になるところだと思いますのでそれも確認しました.(それらしい画面だけ提示されても,本当に Cookie が設定した通りハンドリングされているかどうかは別問題ですからね!)

これを確認するため,私の WordPress 内の既存投稿にテストコメントを残してみました.

Functional Cookie を Accept した状態でテストコメントを残してブラウザの Cookie を確認すると,Cookie が4つ保存されていました → "cookieyes-consent" とコメントに関する 3 Cookie で計算が合いますね.

次に Functional Cookie を Reject した状態でテストコメントを残してブラウザの Cookie を確認すると,Cookie は1つになりました→ "cookieyes-consenst" だけになったということですね.また,Functional Cookie を Reject したとしても,元々の WordPress の働きで,ブラウザにセットクッキーヘッダを使ってコメントに関する 3 Cookie は送りつけています(ブラウザの開発者ツールで確認).しかし,Cookie 同意プラグインが Cookie をブラウザのストレージに保存することをブロックしているので Cookie が残らない,ということのようです.したがって(と言っていいのか),1) 訪問者がブラウザでコメントを POST → 2) WordPress が 302 レスポンスで投稿ページの再訪を指示 → 3) ブラウザが投稿ページを GET して表示 という動作の中で,3) の GET リクエストにはセッション Cookie 扱いで(?)Cookie セットされた状態でリクエストが飛んでしまうため,3) で表示される投稿ページのコメントフォームには.名前,メアド,サイトの情報が表示されてしまいます(ただそのページをリロードしたり,他のページから再訪問するなりすると,それらの情報は消えます - Cookie がブラウザに保存されていませんので).

というわけで,実際に Reject されていることも確認することができました.めでたし.

まとめ

一連の確認により理解できたことは以下のとおりです.

  • CookieYes プラグインは CookieYes サイト上に設定画面があり,Cookie 同意画面で表示する内容を設定できる

  • CookieYes サイトから Cookie スキャンを行えるが,サイトが発行しうる全ての Cookie が網羅されるわけではない.サイトの設定上,発行する可能性のある Cookie は調査してリストアップする必要がある

  • CookieYes プラグインを利用すると,訪問者の Cookie 同意ログを確認できる

  • (当然期待されることであるが)CookieYes プラグインは単なる同意収集画面提供ではなく,同意状況に従ってブラウザへの Cookie 保存をブロックする

この記事が気に入ったらサポートをしてみませんか?