CSP: Comprendre, structurer et viser le label A+
Au départ, le web faisait confiance au navigateur. Un peu trop.
Avec le temps, des scripts indésirables, des contenus piégés ou des éléments externes non contrôlés ont commencé à s’inviter sur les sites web.
Résultat : le navigateur avait besoin de règles claires pour savoir quoi charger, depuis où et dans quelles conditions.
C’est dans ce contexte qu’ont émergé les en-têtes de sécurité HTTP. Leur objectif est simple : encadrer le comportement du navigateur pour limiter les abus côté client. Le Content Security Policy (CSP) n’est donc pas apparu seul. Il fait partie d’un ensemble de mécanismes complémentaires — comme HSTS ou les protections contre l’affichage dans des pages tierces — qui transforment un site WordPress “fonctionnel” en un site qui se défend activement.
Sur un site WordPress, ces en-têtes ne sont pas là pour faire joli ni pour satisfaire un scanner. Ils servent à reprendre le contrôle sur ce que le navigateur est autorisé à exécuter. Et parmi eux, le CSP joue un rôle central… à condition d’être compris et appliqué avec méthode.
Pour comprendre cette logique côté navigateur, la documentation de référence reste celle de MDN Web Docs sur https://developer.mozilla.org. C’est une ressource précieuse, claire et maintenue par la communauté, qui permet de comprendre pourquoi ces mécanismes existent, avant même de chercher à les configurer.
Le CSP, c’est quoi exactement (sans migraine)
La Content Security Policy (CSP) est une règle de sécurité envoyée par le serveur au navigateur.
Son rôle est simple : dire précisément ce que le navigateur a le droit de charger.
Concrètement, une CSP permet de :
limiter les scripts exécutables,
bloquer les scripts injectés (XSS),
contrôler les ressources externes (fonts, images, iframes…).
Sur un site WordPress, c’est particulièrement utile. Pourquoi ?
Parce que WordPress repose sur :
des thèmes,
des plugins,
des services tiers (analytics, captcha, newsletters…).
Autrement dit, beaucoup de portes potentielles. La CSP sert à les garder sous contrôle.
WordPress et CSP : pourquoi c’est souvent mal configuré
Dans la majorité des cas, la CSP est :
inexistante,
trop permissive (unsafe-inline, * partout),
copiée-collée sans compréhension.
Résultat :
✔ le site fonctionne
✖ la sécurité est bancale
✖ les scanners ne sont pas impressionnés
L’objectif n’est pas de “faire plaisir à l’outil”, mais de réduire réellement la surface d’attaque, tout en gardant un site WordPress fonctionnel.
Une démarche structurée (inspirée de MDN) pour progresser
Plutôt que d’activer une CSP stricte d’un coup (et casser le site), je recommande une approche progressive, très bien expliquée sur developer.mozilla.org (MDN).
1️⃣ Observer avant de bloquer
Active une CSP en mode Report-Only.
Le navigateur ne bloque rien, mais signale tout ce qui serait bloqué.
👉 Objectif : comprendre ce que WordPress charge réellement.
2️⃣ Lire, trier, comprendre
Les rapports montrent :
quels scripts sont appelés,
depuis quelles sources,
par quel plugin ou thème.
Oui, ça demande un peu de technique.
Mais c’est ici que l’on apprend vraiment comment son WordPress fonctionne.
3️⃣ Écrire une CSP minimale et réaliste
On autorise uniquement :
son propre domaine,
les services réellement utilisés (Google Analytics, reCAPTCHA, CDN…),
et on évite unsafe-inline quand c’est possible.
4️⃣ Passer du “Report-Only” au blocage réel
Une fois la politique stable, on l’active réellement.
Le site continue de fonctionner, mais avec des règles claires.
Le fameux label A+ : conséquence, pas objectif
Le label A+ (ou équivalent) n’est pas une fin en soi.
Il est la conséquence d’une configuration cohérente, incluant :
HTTPS propre,
headers de sécurité,
CSP maîtrisée.
Sur un site WordPress, atteindre ce niveau est possible, sans plugin miracle, mais avec un peu de rigueur.
Conclusion – une action simple à poser aujourd’hui
Si tu administres un site WordPress, fais un test simple :
➡ regarde si une CSP est présente.
➡ active un mode Report-Only.
➡ lis les rapports, calmement.
Tu renforces la sécurité, tu montes en compétence, et ton site devient plus prévisible.
Et si tu veux aller plus loin, un accompagnement structuré fait souvent gagner beaucoup de temps (et quelques cheveux).
