Entferne Drittanbieter-Aufrufe um die DSGVO zu berücksichtigen

Spätestens nach der Veröffentlichung der neuen DSGVO im März 2018 mussten viele Drittanbieter-Tools auf der eigenen Webseite entfernt werden, oder eine YouTube 2-Klick-Lösung implementiert werden, sobald Daten durch den Anbieter erhoben wurden und keine Möglichkeit eines ADV's bestand. Leider gilt das auch für Google Fonts, deren rechtliche Grundlage noch nicht ganz eindeutig ist.

Auch wenn Google Fonts lokal auf der WordPress-Webseite eingebunden wird, kann es immer noch sein, dass die Schriften zusätzlich geladen werden. Denn bei der Verwendung von Plugins wie den Revolution Slider werden die woff2-Dateien automatisch von Google angefordert, falls eine Sonderschrift im Slide gewählt wurde.

Es gibt noch viel mehr Plugins von ausländischen Herstellern, die automatisch Drittanbieter-Ressourcen ungefragt auf der Webseite verwenden. Leider kann man diese Aufrufe in den meisten Fällen auch nicht in den Einstellungen abschalten.

In diesem Beitrag möchte ich dir erklären, wie du externe Ressourcen auf deiner Webseite identifizierst und abschaltest.

Du kannst das WordPress-Plugin Borlabs Cookie installieren, um externe Ressourcen in WordPress automatisch zu entfernen, wenn der Benutzer diese nicht wünscht.
Beim ersten Aufruf ist die Webseite etwas schneller, da Drittanbieter-Aufrufe entfernt werden. Du solltest aber auch alle weiteren Drittanbieter-Ressourcen prüfen und gegebenenfalls entfernen, die du nicht (mehr) benötigst.

Wie finde ich heraus, ob eine Drittanbieter-Ressource geladen wird?

In der Chrome oder Mozilla Developer Console (Aufrufbar mit der Taste "F12") kann man im Reiter "Netzwerk" (oder "Network") feststellen, ob eine Datei von einem Drittanbieter geladen wird. Öffne zunächst deine Konsole und wechsle zu dem Reiter "Netzwerk". Lade danach die Seite neu.

Nun siehst du in absteigender Reihenfolge, welche Daten wann geladen werden. In der Spalte "Domain" siehst du, woher die einzelnen Dateien stammen. Sollte hier eine Datei über eine Domain geladen werden die du nicht kennst, weißt du dass ein Plugin oder das Template Ressourcen von einem Drittanbieter lädt.

In dieser Konsole kannst du auch einen Performance-Test durchführen, um zu erkennen, welche Schwachstellen deine Webseite besitzt.

Welche meiner Plugins verwenden Drittanbieter-Ressourcen?

Das ist in vielen Fällen relativ schwer festzustellen. Du kannst jedes Plugin einzeln abschalten und die Netzwerk-Analyse erneut starten. Sollte die betroffene Drittanbieter-Ressource nicht mehr vorhanden sein, kannst du davon ausgehen, dass das abgeschaltete Plugin der Verursacher ist.

Sobald du alle Plugins abgeschaltet hast und immer noch Drittanbieter-Ressourcen geladen werden, ist es sehr wahrscheinlich, dass das Template Schuld am Aufruf ist.

Wie kann ich Drittanbieter-Ressourcen entfernen?

Sollte dein Plugin der Übeltäter sein, kannst du zunächst nach einer Alternative suchen. Das Entfernen einer Template-Ressource ist ein wenig komplexer. Für ein Template kannst du ein sog. Child-Theme erstellen, das alle Dateien überschreibt, die im gleichen Verzeichnis liegen. Mit einem Quellcode Editor kannst du nach einer Zeichenkette in Dateien suchen. Lade das Template per FTP oder SSH auf deinen Rechner und suche nach der angeforderten Datei. Der Aufruf der Suchfunktion hängt immer vom verwendetem Editor ab. In den meisten Fällen kannst du mit der Tastenkombination "Strg + F" das Suchfenster öffnen. Der Editor "Notepad++" hat zum Beispiel eine Funktion, mit der du einen kompletten Ordner nach einem Suchmuster durchleuchten kannst. Damit findest du am schnellsten die Stelle für den Aufruf der Ressource.

Ich finde kein alternatives Plugin ohne eine Drittanbieter-Anbindung

Wenn du deine Webseite mit einem CMS wie WordPress organisierst, kann es schwer sein, alle externe Drittanbieter-Ressourcen zu eliminieren.

Durch einen Filter, der kurz vor der Ausgabe den HTML-Code überprüft, können die Drittanbieter-Ressourcen auch mit einem PHP-Skript entfernt werden.

Ich habe ein Beispiel für die Google-Fonts für dich vorbereitet:

<?php
	add_action( 'template_redirect', 'disable_google_fonts_buffer_go', 0 );
	function disable_google_fonts_buffer_go() {
		ob_start( 'disable_google_fonts_buffer_callback' );
	}
	add_action( 'shutdown', 'disable_google_fonts_buffer_stop', 1000 );
	function disable_google_fonts_buffer_stop() {
		ob_end_flush();
	}
	function disable_google_fonts_buffer_callback( $buffer ){
		
		$buffer = preg_replace( "/\<link([^>]*)href=([\'|\"])http(s)?\:\/\/fonts\.googleapis\.com(.*?)([\'|\"])([^>]*)>/im", '', $buffer );
		$buffer = preg_replace( "/\<link([^>]*)href=([\'|\"])\/\/fonts\.googleapis\.com(.*?)([\'|\"])([^>]*)>/im", '', $buffer );
		$buffer = preg_replace( "/\<link([^>]*)href=([\'|\"])http(s)?\:\/\/fonts\.gstatic\.com(.*?)([\'|\"])([^>]*)>/im", '', $buffer );
		
		return $buffer;
	}
?>

Füge dieses Skript in die functions.php deines WordPress-Projekts hinzu. Das Beispiel oben entfernt nur die Google Fonts, es können aber auch andere Datei-Aufrufe damit entfernt werden. Bitte beachte, dass damit keine Dateien entfernt werden, die mit AJAX oder ähnlichem nachgeladen werden. Google Maps lädt z.B. Google Fonts für die Darstellung der Karte nach.

 

Hinweis 1:
Dieser Code wird deine Webseiten-Ladezeit verschlechtern. Bitte verwende ein Caching-Plugin, dass den HTML-Code deiner Webseite sichert und dadurch ein möglichst schnelles Ausspielen des HTML-Codes an den Client garantiert.

Hinweis 2:
Führe Änderungen an diesem Code am besten nur auf einer Staging-Umgebung oder einem lokalen Projekt (z.B. über eine Virtuelle Maschine) durch. Solltest du nicht der Programmierer deiner Webseite sein, empfehle ich dir einem Fachmann diesen Code-Schnipsel zur Implementierung zu geben. Alternativ liest du dich im Beitrag Programmiersprachen für Webseiten lernen durch, um PHP zu lernen, damit du keine Fehler machst.

 

Codepalm
Externe Ressourcen in WordPress finden und entfernen