Du sitzt gemütlich am Rechner, willst gerade ein neues WordPress-Plugin testen oder ein schickes Skript einbinden – und plötzlich: „Blocked by Content Security Policy“. Zack, Feierabend! Die Seite lädt nicht richtig, Bilder fehlen, das Kontaktformular ist tot. Willkommen im Club der CSP-Geplagten! Aber keine Sorge, du bist nicht allein. Und noch besser: Es gibt Lösungen, die nicht nur funktionieren, sondern auch deine Website sicherer und performanter machen. In diesem Artikel tauchen wir tief ein in die Welt der Content Security Policy (CSP) für WordPress, erklären, warum sie so wichtig ist, wie du sie richtig konfigurierst und wie du die nervigen Fehlermeldungen endgültig loswirst. Also, Kaffee bereitstellen – jetzt wird’s nerdig, aber auch unterhaltsam!

Content Security Policy – das klingt erstmal nach Bürokratie und Paragrafenreiterei, ist aber in Wahrheit ein mächtiges Werkzeug, um deine Website vor Angriffen wie Cross-Site Scripting (XSS) und Data Injection zu schützen. Laut OWASP Top 10 gehören XSS-Angriffe zu den häufigsten Sicherheitslücken im Web. Eine sauber konfigurierte CSP kann bis zu 90% der XSS-Angriffe verhindern (MDN Web Docs).
Doch wie so oft im Leben: Wo viel Schutz, da auch viel Potenzial für Chaos. Gerade bei WordPress, mit seinen unzähligen Plugins, Themes und externen Skripten, kann eine zu strenge oder falsch konfigurierte CSP schnell zum Showstopper werden. Plötzlich blockiert der Browser wichtige Ressourcen – und du stehst vor einem Rätsel. Lass uns gemeinsam herausfinden, wie du CSP für WordPress richtig, sicher und alltagstauglich einsetzt!
-
Was ist die Content Security Policy (CSP)?
Die CSP ist eine HTTP-Header-basierte Sicherheitsrichtlinie, die dem Browser sagt, welche Ressourcen (Skripte, Styles, Bilder, Fonts, etc.) geladen werden dürfen – und welche nicht. Sie ist quasi der Türsteher deiner Website: „Du kommst hier rein, du nicht!“ Das Ziel: Schadcode draußen halten, legitime Inhalte reinlassen. -
Warum ist CSP für WordPress besonders knifflig?
WordPress lebt von Erweiterbarkeit. Plugins, Themes, externe Dienste wie Google Fonts, Analytics, YouTube – sie alle wollen irgendwas nachladen. Eine zu enge CSP blockiert schnell wichtige Funktionen. Eine zu lockere CSP öffnet Tür und Tor für Angreifer. Die Kunst liegt im perfekten Mittelweg. -
Typische Fehlermeldung: „Blocked by Content Security Policy“
Diese Meldung taucht in der Browser-Konsole auf, wenn eine Ressource geladen werden soll, die nicht in der CSP erlaubt ist. Das kann ein Skript, ein Bild, ein Font oder sogar ein Inline-Style sein. Die Folge: Die Seite sieht kaputt aus oder funktioniert nicht mehr richtig.
Wie sieht eine CSP aus? Hier ein Beispiel für einen CSP-Header:
Content-Security-Policy: default-src 'self'; script-src 'self' https://www.google-analytics.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:;
Klingt erstmal kryptisch, ist aber logisch aufgebaut. Lass uns die wichtigsten Direktiven im Detail anschauen:
| Direktive | Bedeutung | Beispiel |
|---|---|---|
| default-src | Standardquelle für alle Ressourcen, wenn keine spezifischere Direktive existiert | ’self‘ |
| script-src | Erlaubte Quellen für JavaScript | ’self‘, https://www.google-analytics.com |
| style-src | Erlaubte Quellen für CSS | ’self‘, ‚unsafe-inline‘ |
| img-src | Erlaubte Quellen für Bilder | ’self‘, data: |
| font-src | Erlaubte Quellen für Schriftarten | ’self‘, https://fonts.gstatic.com |
| connect-src | Erlaubte Quellen für AJAX/WebSocket-Verbindungen | ’self‘, https://api.example.com |
Wichtige Fakten:
- Seit 2012 ist CSP ein offizieller Webstandard (W3C).
- Alle modernen Browser unterstützen CSP (Chrome, Firefox, Edge, Safari).
- WordPress selbst liefert keine CSP aus – du bist also selbst verantwortlich!
Wie kommt die CSP auf deine WordPress-Seite? Es gibt drei Wege:
-
Per .htaccess (Apache)
Füge den CSP-Header direkt in deine.htaccessein. Beispiel:
<IfModule mod_headers.c>
Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://www.google-analytics.com;"
</IfModule>
Vorteil: Schnell, serverseitig, unabhängig von WordPress. Nachteil: Fehlerhafte Syntax = Website down! -
Per Plugin
Es gibt Plugins wie HTTP Headers oder WP Content Security Policy, die dir eine grafische Oberfläche bieten. Vorteil: Einfach, kein Code nötig. Nachteil: Plugins können veraltet sein oder Konflikte verursachen. -
Per functions.php
Du kannst den Header auch per PHP setzen:
add_action('send_headers', function() {
header("Content-Security-Policy: default-src 'self'; script-src 'self' https://www.google-analytics.com;");
});
Vorteil: Flexibel, direkt im Theme/Child-Theme. Nachteil: Fehlerhafte Header können schwer zu debuggen sein.
Die häufigsten CSP-Probleme bei WordPress – und wie du sie löst:
-
Externe Skripte (Google Analytics, YouTube, reCAPTCHA)
Viele Plugins laden Skripte von externen Domains. Diese müssen explizit inscript-srcerlaubt werden. Beispiel:
script-src 'self' https://www.google-analytics.com https://www.youtube.com https://www.gstatic.com;
Tipp: Prüfe in der Browser-Konsole, welche Domains blockiert werden, und ergänze sie gezielt. -
Inline-Skripte und Styles
WordPress und viele Themes nutzen Inline-JavaScript und -CSS. Standardmäßig blockiert CSP das. Lösung:'unsafe-inline'erlauben – aber Vorsicht, das schwächt die Sicherheit! Besser:nonce-basierte Freigabe (siehe unten). -
Fonts und Icons (Google Fonts, Font Awesome)
Fonts werden oft vonfonts.gstatic.comgeladen. Ergänze:
font-src 'self' https://fonts.gstatic.com;
Für Font Awesome ggf. auchuse.fontawesome.comerlauben. -
Bilder von externen Quellen
Wenn du Bilder von anderen Domains einbindest (z.B. CDN, Unsplash), müssen diese inimg-srcstehen. -
AJAX- und API-Requests
Plugins wie Contact Form 7 oder WooCommerce nutzen AJAX. Erlaube die API-Domains inconnect-src.
Best Practice: CSP mit Nonces und Hashes
-
Nonces (Number used once) sind einmalige Tokens, die du Inline-Skripten zuweist. Beispiel:
<script nonce="abc123">alert('Hi!');</script>
Im Header:
Content-Security-Policy: script-src 'self' 'nonce-abc123';
Vorteil: Nur Skripte mit dem richtigen Nonce werden ausgeführt. Nachteil: In WordPress nicht trivial umzusetzen, da viele Plugins Inline-Skripte dynamisch generieren. -
Hashes erlauben bestimmte Inline-Skripte per SHA-256-Hash. Beispiel:
Content-Security-Policy: script-src 'self' 'sha256-AbCdEf123...';
Vorteil: Sehr sicher, aber aufwendig, da du für jedes Inline-Skript den Hash berechnen musst.
Debugging: So findest du CSP-Fehler
- Browser-Konsole öffnen (F12) und auf „Console“ oder „Security“ achten. Hier siehst du, welche Ressourcen blockiert werden und warum.
-
Report-Only-Modus nutzen: Setze den Header als
Content-Security-Policy-Report-Only. So werden Verstöße nur gemeldet, aber nicht blockiert. Perfekt zum Testen! - Online-Tools wie CSP Evaluator oder Report URI helfen beim Analysieren und Optimieren deiner CSP.
Schritt-für-Schritt-Anleitung: CSP für WordPress sauber konfigurieren
- Bestandsaufnahme machen: Welche externen Ressourcen nutzt deine Seite? (Google Fonts, Analytics, YouTube, Social Media, CDNs, etc.)
-
Testweise eine restriktive CSP setzen:
Content-Security-Policy: default-src 'self';
Prüfe, was alles kaputtgeht. - Fehlermeldungen auswerten: Öffne die Browser-Konsole, notiere blockierte Domains und Ressourcen.
-
CSP schrittweise erweitern: Erlaube gezielt die benötigten Domains für
script-src,style-src,img-srcusw. - Report-Only-Modus nutzen: Teste die neue CSP, ohne dass sie blockiert. So kannst du Fehlerquellen identifizieren, ohne die Seite zu zerschießen.
- Finale CSP aktivieren: Wenn alles läuft, setze die CSP produktiv.
- Regelmäßig prüfen: Bei neuen Plugins/Themes oder Updates kann sich der Ressourcenbedarf ändern. Passe die CSP bei Bedarf an.
Beispiel für eine alltagstaugliche WordPress-CSP:
Content-Security-Policy:
default-src 'self';
script-src 'self' 'unsafe-inline' https://www.google-analytics.com https://www.googletagmanager.com https://www.gstatic.com https://www.recaptcha.net;
style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;
img-src 'self' data: https://www.google-analytics.com;
font-src 'self' https://fonts.gstatic.com;
connect-src 'self' https://api.yourdomain.com;
Wichtige Hinweise:
- ‚unsafe-inline‘ ist ein Kompromiss für WordPress, aber nicht optimal. Besser: Nonces oder Hashes, wenn möglich.
- Jede Website ist anders! Passe die CSP immer individuell an deine Plugins, Themes und externen Dienste an.
- Testen, testen, testen! CSP ist mächtig, aber unforgiving. Ein kleiner Fehler – und die Seite ist kaputt.
Fazit: CSP ist Pflicht, aber kein Hexenwerk!
Mit einer gut konfigurierten Content Security Policy schützt du deine WordPress-Seite effektiv vor vielen Angriffen – und das ganz ohne Performanceverlust. Klar, der Weg dahin ist manchmal steinig, aber mit Geduld, System und ein bisschen Nerd-Power klappt’s. Und falls du keine Lust auf stundenlanges Debugging hast, gibt’s ja noch uns!
Nakaryu – Deine WordPress-Profis aus Nürnberg
Wir bei Nakaryu lieben nicht nur schönes Design, sondern auch sauberen, sicheren Code. Ob CSP-Konfiguration, DSGVO-Check oder Performance-Optimierung – wir machen deine Website fit für die Zukunft. Und das Beste: Mit unserer Webdesign-Flatrate bekommst du alles aus einer Hand – zum monatlichen Fixpreis, ohne Risiko. Klingt gut? Dann lass uns gemeinsam deine Website sicher, schnell und einzigartig machen!
Quellen:
- OWASP Top 10
- MDN Web Docs: Content Security Policy (CSP)
- W3C: Content Security Policy Level 3
- CSP Evaluator (Google)
- Report URI: CSP Generator
Fragen zum Thema
Was ist eine Content Security Policy (CSP) und warum ist sie für WordPress wichtig?
Die Content Security Policy (CSP) ist eine Sicherheitsrichtlinie, die per HTTP-Header dem Browser vorgibt, welche Ressourcen (z.B. Skripte, Styles, Bilder) geladen werden dürfen. Sie schützt deine Website effektiv vor Angriffen wie Cross-Site Scripting (XSS) und Data Injection. Gerade bei WordPress mit seinen vielen Plugins und externen Diensten ist eine korrekt konfigurierte CSP besonders wichtig, um die Sicherheit zu erhöhen und Angriffsflächen zu minimieren.
Warum kommt es bei WordPress so häufig zu CSP-Fehlermeldungen?
WordPress lebt von Erweiterbarkeit: Plugins, Themes und externe Dienste wie Google Fonts oder Analytics laden oft zusätzliche Ressourcen nach. Eine zu strenge oder falsch konfigurierte CSP blockiert diese Ressourcen, was zu typischen Fehlermeldungen wie „Blocked by Content Security Policy“ führt. Die Kunst liegt darin, die CSP so zu konfigurieren, dass sie Schutz bietet, aber die Funktionalität deiner Seite nicht einschränkt.
Wie kann ich eine CSP für meine WordPress-Website einrichten?
Es gibt drei gängige Wege, eine CSP in WordPress zu integrieren: 1. Per .htaccess (direkt auf Serverebene), 2. Per Plugin (z.B. „HTTP Headers“ oder „WP Content Security Policy“), 3. Per functions.php (PHP-Code im Theme). Jede Methode hat Vor- und Nachteile. Wichtig ist, die CSP individuell an deine genutzten Plugins, Themes und externen Dienste anzupassen und nach jeder Änderung gründlich zu testen.
Was sind die häufigsten CSP-Probleme bei WordPress und wie löse ich sie?
Typische Probleme sind blockierte externe Skripte (z.B. Google Analytics, YouTube), Inline-Skripte und Styles, Fonts von externen Quellen sowie AJAX-Requests. Die Lösung: Ergänze die jeweiligen Domains gezielt in den passenden CSP-Direktiven wie script-src, style-src, font-src oder connect-src. Nutze die Browser-Konsole und den Report-Only-Modus, um Fehlerquellen zu identifizieren.
Wie kann ich meine CSP sicher und flexibel gestalten?
Für maximale Sicherheit empfiehlt sich der Einsatz von Nonces oder Hashes für Inline-Skripte, statt 'unsafe-inline' zu erlauben. Das ist in WordPress allerdings technisch anspruchsvoll. Teste deine CSP immer zuerst im Report-Only-Modus und passe sie regelmäßig an, wenn du neue Plugins oder externe Dienste nutzt. Tools wie CSP Evaluator oder Report URI helfen bei der Optimierung.
Neues aus unserem Blog
Das könnte dich auch interessieren
Jetzt kostenfreies Erstgespräch sichern
Lass dich unverbindlich beraten
→ Schreib an hey@nakaryu.de, chatte bei WhatsApp, oder ruf an +49 152 58119266. Wir beraten dich gerne.
15% Rabatt auf alle Pakete
→ Für Vereine, Creator & Künstler. Schreib uns einfach an.
Weiterempfehlen lohnt sich
→ 100 € Gutschrift für jeden geworbenen Neukunden.






