Piwik EU Konform mit Cookies einsetzen

Ich arbeite gerne mit Open Source Software, neben meinem Job als Microsoft Consultant eine Abwechslung. Für Webseiten nutze ich mittlerweile gerne WordPress, so wie in diesem Blog. Damit ich weiß was meine Besucher interessiert, woher sie kommen und einige andere für die Seite wichtige Dinge (Auflösung, Techniken, Browser,…) nutze ich gerne Piwik. Der Grund dafür ist, die Daten bleiben bei mir, und nicht bei Google, die damit einen Besucher über diverse Seiten verfolgen können. Ja, auch du wurdest, von Piwik erfasst.

Piwik nutzt um Besucher wieder zuerkennen und zu sehen von wo nach wo die gesurft sind am liebsten Cookies. Es geht auch ohne, aber nicht so gut. Die EU-Richtlinie für Cookies gibt es schon länger, aber im Moment ist es in „Mode“ sich darum auch in Deutschland zu kümmern. Nach Meinung vieler Anwälte unnötig, ich wollte es trotzdem mal umsetzen.

Der erste Versuch war neben meinem Plugin für Piwik (WP-Piwik) auch noch das Plug-In „EU Cookie Law“ zu installieren. Leider mit mäßigem Erfolg, keine Cookies bis zur Zustimmung, außer von Piwik. Also quasi gescheitert.

Die Zustimmung setzt aber, wie sollte es anders sein, ein Cookie. Meine Idee war dann, warum nicht einfach prüfen, ist dieser Cookie da, dann darf ich. Dafür reicht ja ein einfach „if(!isset($_COOKIE[$cookie_name]))“ in PHP. Aber warum nicht noch etwas mehr? Piwik kann auch ohne Cookies, er erkennt zwar keine Wiederkehrenden Besucher, und einiges anderes klappt auch nicht mehr, aber immerhin…

Also, hier mal der Code den ich dafür in den Footer des Child-Theme integriert habe:

<!-- www.fabian-niesen.de for Piwik mit euCookie -->
<?php
$cookie_name = "euCookie";
if(!isset($_COOKIE[$cookie_name])): ?>
<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(["disableCookies"]);
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//--PIWIKURL--/piwik/";
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', --PIWIKID--]);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<noscript><p><img src="//--PIWIKURL--/piwik/piwik.php?idsite=--PIWIKID--" style="border:0;" alt="" /></p></noscript>
<!-- End Piwik Code -->";
<?php else : ?>
<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//--PIWIKURL--/piwik/";
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', --PIWIKID--]);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<noscript><p><img src="//--PIWIKURL--/piwik/piwik.php?idsite=--PIWIKID--" style="border:0;" alt="" /></p></noscript>
<!-- End Piwik Code -->
<?php endif; ?>
<!-- END www.fabian-niesen.de for Piwik mit euCookie -->

Austauschen müsst nur noch –PIWIKURL– –PIWIKID–. Viel Spaß damit, und die Benutzung dieses Codeschnipsels erfolgt auf eigene Gefahr.

The post Piwik EU Konform mit Cookies einsetzen appeared first on Fabian Niesen – Online Services.

Autor: Fabian Niesen

Fabian Niesen ist seit Jahren beruflich als IT-Consultant unterwegs. Hier schreibt er privat und unabhängig von seinem Arbeitgeber. Unter anderem ist er Zertifiziert als MCSA Windows Server 2008 / 2012, MCSA Office 365, MCSA Windows 10, MCSE Messaging, MCT und Novell Certified Linux Administrator. Seit 2016 ist er auch MCT Regional Lead für Deutschland. Seine Hobby’s sind Social Media, Bloggen, Mittelaltermärkte, Historische Lieder und der Hausbau.