Pixelmate-Erweiterung

Version

2.0

Status

Produktiv im Einsatz
Standard-Erweiterung für DSGVO-Pixelmate

Zweck

Erweitert das Plugin DSGVO Pixelmate um mehrere systemische Korrekturen und Optimierungen:

  • Entfernt das von Pixelmate gesetzte Content-Security-Policy-Meta-Tag
  • Deaktiviert Pixelmate automatisch auf rechtlichen Seiten
  • Behebt einen Pixelmate-CSP-Fehler unter PHP 8
  • Unterdrückt irrelevante ACF-Warnings
  • Lädt Pixelmate nicht render-blockierend (Performance-Optimierung)

Das Plugin ist installationsübergreifend einsetzbar und muss nicht konfiguriert werden.

Hintergrund

Pixelmate funktioniert zuverlässig als Consent-Manager, bringt jedoch einige technische Eigenheiten mit:

Pixelmate setzt:

  • eine eigene Meta-CSP
  • einen zentralen Consent-Banner
  • ein render-blockierendes Script

Typische Probleme:

  • Die Meta-CSP kollidiert mit vorhandenen Security-Headern.
  • Der Banner überdeckt juristische Inhalte (Impressum / Datenschutz).
  • Pixelmate erzeugt unter PHP 8 gelegentlich Warnings im Debug-Log.
  • Das Script wird ohne defer geladen und taucht in PageSpeed-Diagnosen auf.

Die Pixelmate-Erweiterung behebt diese Punkte zentral.

Funktionsumfang

1️ Entfernen der Pixelmate-CSP (global)

Pixelmate fügt ein Meta-Tag hinzu:

<meta http-equiv="Content-Security-Policy" ...>

Das wird serverseitig aus der finalen HTML-Ausgabe entfernt.

Wirkung:

  • Keine doppelte CSP
  • Keine Konflikte mit eigenen Security-Headern
  • Keine Beeinträchtigung durch restriktive Inline-Policies
  • Kompatibel mit image² Web Security Headers

Dieser Teil läuft auf allen Seiten.

2️ Automatische Deaktivierung auf Legal-Seiten

Das Plugin prüft bei jedem Frontend-Aufruf:

  • Ist es keine Admin-Seite?
  • Keine AJAX-Anfrage?
  • Kein Feed?
  • Enthält die URL bestimmte juristische Schlüsselbegriffe?

Wenn ja, wird Pixelmate vollständig aus dem HTML entfernt.

Erkennungslogik (URL-basiert)

Die Prüfung erfolgt über $_SERVER[‚REQUEST_URI‘].

Standard-Keywords:

Deutsch

  • datenschutz
  • datenschutzerklaerung
  • impressum
  • rechtlich
  • anbieterkennzeichnung

Englisch

  • privacy
  • policy
  • legal
  • notice
  • imprint
  • terms

Französisch / Italienisch / Spanisch

  • confidentialite
  • mentions-legales
  • informativa
  • politica-de-privacidad
  • aviso-legal

Enthält die URL eines dieser Wörter, gilt die Seite als juristische Seite.

Warum das rechtlich sauber ist

Auf Impressum und Datenschutz:

  • Es findet keine Conversion statt.
  • Es werden keine zusätzlichen Marketing-Elemente geladen.
  • Es werden keine zustimmungspflichtigen Dienste aktiviert.

Es gibt dort daher keine Einwilligungssituation.

Der Consent-Banner ist auf diesen Seiten funktional nicht erforderlich.

Was wird konkret entfernt?

Auf Legal-Seiten werden entfernt:

  • Script-Tags mit „pixelmate“
  • Inline-Skripte mit „pixelmate“
  • Banner-Container (div, section, aside mit pixelmate im class/id)

Pixelmate existiert auf diesen Seiten technisch nicht mehr.

Keine CSS-Hacks.
Kein display:none.
Kein JS-Nachtricksen.

3️ Fix für Pixelmate-CSP-Fehler

Unter PHP 8 erzeugt Pixelmate gelegentlich Warnungen wie:

array offset on null
pixelmate_csp.php

Die Erweiterung fängt diese Situation ab und stellt sicher, dass die CSP-Konfiguration immer ein gültiges Array enthält.

Wirkung:

  • keine PHP-Warnings im Debug-Log
  • stabiler Betrieb unter PHP 8.1–8.3

4️ Performance-Optimierung (Pixelmate Script)

Pixelmate lädt sein Script standardmäßig ohne defer.

Das führt dazu, dass das Script in PageSpeed als render-blockierend auftauchen kann.

Die Erweiterung ergänzt automatisch defer.

  • Script blockiert das Rendering nicht mehr
  • bessere Bewertung in PageSpeed
  • Tracking funktioniert unverändert

5️ Unterdrückung irrelevanter ACF-Warnings

Unter PHP 8.2+ erzeugt ACF teilweise Hinweise wie:

doing_it_wrong
acf_get_value

Diese Meldungen sind funktional irrelevant und füllen nur Debug-Logs.

Die Erweiterung unterdrückt diese spezifischen Hinweise.

Vorteile

  • Zero-Config (kein Setup nötig)
  • Keine Seiten-IDs erforderlich
  • Sprachunabhängig
  • Installationsübergreifend nutzbar
  • Keine Backend-Pflege
  • Keine Konflikte mit Caching
  • Keine Manipulation des Pixelmate-Kerns
  • stabil unter PHP 8+

Architektur

Das Plugin arbeitet über template_redirect mit Output-Buffering.

HTML wird generiert

Output-Buffer greift

Pixelmate-CSP wird entfernt

Legal-URL wird geprüft

Pixelmate-Elemente werden ggf. entfernt

Script-Tag wird mit defer optimiert

bereinigtes HTML wird ausgeliefe

Keine Hook-Überschreibungen.
Keine Plugin-Overrides.
Keine Core-Änderungen.

Abgrenzung

Nicht zu verwechseln mit:

image² Web Security Headers

Dieses Plugin betrifft ausschließlich Pixelmate.

Einsatzempfehlung

Einsetzen bei:

  • Mittigem Pixelmate-Banner
  • Projekten mit eigener CSP
  • Projekten mit image² Security-Headers
  • Rechtlich sensiblen Seiten mit langer Textdarstellung

Nicht nötig bei:

  • Projekten ohne Pixelmate
  • reinem Bottom-Banner

Technische Hinweise

  • Funktioniert nur im Frontend.
  • Keine Wirkung im Adminbereich.
  • Keine Wirkung bei AJAX.
  • Kein Einfluss auf Tracking-Logik anderer Seiten.
  • Entfernt nur Pixelmate-bezogene Elemente.

Versionierung

v1.5

  • Erweiterungen gegenüber v1.3:
  • Pixelmate-CSP-Fehler unter PHP 8 abgefangen
  • Script-Laden mit defer optimiert
  • ACF-Warnings unter PHP 8.2 unterdrückt
  • robustere CSP-Erkennung im HTML