Разрешение на использование cookie по законам ЕС

Разъяснения по закону Европейского Союза на разрешение использования файлов cookie на сайтах веб-мастеров. Ситуация с Blogger и несколько готовых решений, которые я рекомендую использовать на сторонних сайтах.

Разрешение на использование cookie по законам ЕС

По законодательству Европейского Союза, веб-мастер обязан теперь предоставлять посетителям из стран ЕС информацию о cookie и получать согласие на использование таковых. Нарушение закона может иметь печальные последствия, вплоть до потери Google аккаунта.

О ситуации с cookie на Blogger

Пока эту тему я встречал только на Blogger. На странице «Обзор» в панели управления блога на Blogger появилось сообщение (см. скриншот ниже). Подробней читайте тут.


Сообщение о cookie для пользователей из ЕС на Blogger

Скрипт cookiechoices.js

Для тех, у кого блог на Blogger хочу сразу сообщить приятную новость – скрипт cookiechoices.js автоматически встраивается в страницы блога, так что вам ненужно беспокоиться!

Для пользователей из ЕС на блоге выводится вот такое сообщение:

Сообщение об использовании cookie на блогах Blogger
Сообщение об использовании cookie на блогах Blogger

Управлять этим скриптом можно через JavaScript переменную cookieOptions, прописанную в теге SCRIPT секции HEAD, например:

<head>
<script>//<![CDATA[
cookieOptions = {
  msg: 'This site uses cookies to store information on your computer.',
  close: 'OK',
  learn: 'Details',
  link: 'https://www.blogger.com/go/blogspot-cookies'
};
//]]></script>
</head>

Параметры JavaScript переменной cookieOptions:

  • msg – текст сообщения,
  • close – текст на кнопке «Закрыть»,
  • learn – текст на кнопке «Подробнее»,
  • link – ссылка на страницу с подробной информацией.

Чтобы отключить это сообщение, используйте JavaScript переменную cookieChoices, прописанную в теге SCRIPT секции HEAD, например:

<head>
<script>//<![CDATA[
cookieChoices = {};
//]]></script>
</head>

Примечание: я не рекомендую использовать cookieChoices и отключать такое сообщение, т. к. в этом случае вы нарушите закон или вам придётся самому создать такое сообщение.

Как посмотреть сообщение о cookie?

Для просмотра сообщения, отображаемого скриптом cookiechoices.js, воспользуйтесь европейским поддоменом, например: .blogspot.fr.

Если блог с персональным доменом или это сторонний ресурс, воспользуйтесь PageSpeed Insights.

Просмотр сообщения о разрешении на использование файлов cookie в PageSpeed Insights
Просмотр сообщения о разрешении на использование
файлов cookie в PageSpeed Insights

Продвинутым пользователям рекомендую и web-sniffer.net.

Примечание: обратите внимание – сообщение, которое используется в cookiechoices.js (по умолчанию) – мультиязычное, но занимает много места, особенно в мобильной версии сайта. Поэтому я рекомендую прописать опцию cookieOptions (см. пример выше).

О ситуации с cookie на других ресурсах

Для сайтов на своём хостинге, это сообщение придётся создать, или использовать сторонние сервисы. Об этом уже позаботились! У себя в статье я расскажу о двух решениях по разрешению на использование файлов cookie.

Cookie Control CIVIC

Из того, что предложено Google, я бы отметил сервис Cookie Control CIVIC. Хотя бы потому, что у них имеется тариф «Free». С ограничениями, но тем не менее.

Перед началом, рекомендую создать страницу «Правила в отношении пользователей из ЕС» (т. е. privacy police). Подробней об этом читайте здесь.

К делу.

  • Зайдите на страницу Cookie Control CIVIC и кликните кнопку «Grab your code!».
  • Выберите тариф (например «Free») и кликните кнопку «Configure».
  • Заполните форму и кликните кнопку «Collect your code».
  • Вы получите код и краткую инструкцию по размещению.

    Примечание: потребуется скачать и разместить у себя на сайте JavaScript файл cookieControl-X.X.min.js, для работы которого необходима библиотека jQuery (желательно версии 1.4.4).

    Хитрость заключается в том, что я использовал jQuery с Google хостинга, а скрипт с сайта CIVIC. Получилось так:

    <script src="/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
    <script src="/assets/js/cookieControl-6.2.min.js"></script>

    Остальной код – это настройка. Главное там – это apiKey. Подробней об этом читайте в документации.

  • Проверьте указанный e-mail, придёт письмо с «Your API key» и ссылкой, кликнув по которой вы попадёте на страницу, где введите e-mail, пароль и API key для подтверждения регистрации на сервисе.

Результат использования этого сервиса выглядел так.

виджет разрешения на использование cookie CIVIC
Виджет разрешения на использование cookie CIVIC

Примечание: это виджет отображается для всех стран, что не удобно. Для использования продвинутых функций – придётся заплатить немалую сумму.

Как использовать cookiechoices.js на других сайтах?

Скрипт cookiechoices.js не завязан на домене. Используйте его и на сторонних сайтах. Это круто, т. к. другие решения платные.

Разместите, ниже приведённый, код перед закрывающимся тегом BODY.

<script src="/js/cookiechoices.js" defer></script>
<script>
document.addEventListener('DOMContentLoaded', function(event) {
  window.cookieChoices && cookieChoices.showCookieConsentBar && cookieChoices.showCookieConsentBar(
    (window.cookieOptions && cookieOptions.msg) || 'This site uses cookies to store information on your computer.',
    (window.cookieOptions && cookieOptions.close) || 'OK',
    (window.cookieOptions && cookieOptions.learn) || 'Details',
    (window.cookieOptions && cookieOptions.link) || 'https://www.blogger.com/go/blogspot-cookies');
});
</script>

Примечание: здесь я использовал домен официального блога Google Россия, но можно использовать и другой домен блога на Blogger.

Как настроить скрипт – я уже рассказал. Прописать нужные значения можно и в самом коде вызова скрипта.

Короткая ссылка: http://goo.gl/feMeof