Audit RGPD

WordPress et RGPD : 8 points que votre site ignore

28 septembre 20269 min de lecturewordpress rgpd
Partager :

Le mois dernier, j'ai audité le site vitrine d'un cabinet de conseil. WordPress, thème premium acheté sur ThemeForest, cinq pages. Le fondateur pensait être irréprochable — bandeau cookies installé, mentions légales en pied de page, politique de confidentialité copiée d'un modèle trouvé en ligne.

J'ai ouvert les outils développeur de son navigateur. Son thème chargeait des polices depuis les serveurs de Google, un script de tracking Hotjar qu'il n'avait jamais installé lui-même, et envoyait l'adresse IP de chaque visiteur à gravatar.com — un serveur américain — pour afficher des avatars dans des commentaires que personne n'utilisait. Son bandeau cookies ? Purement décoratif. Les scripts se chargeaient avant même que le visiteur clique.

Cinq pages. Un site "simple". Quatre problèmes RGPD.

Ce n'est pas un cas isolé. Sur les dizaines de sites WordPress que j'ai analysés, je retrouve les mêmes failles. WordPress propulse 43% du web — et la quasi-totalité de ces sites a au moins un problème de conformité RGPD.

WordPress n'a pas été pensé pour le RGPD

Ce n'est pas une critique. C'est un constat.

WordPress est né en 2003. Le RGPD est entré en vigueur en 2018. Quinze ans d'écart. Les choix d'architecture de WordPress — stocker les adresses IP des commentateurs par défaut, charger les avatars depuis un serveur américain, permettre à n'importe quel plugin d'injecter des scripts tiers sans contrôle — ont été faits à une époque où personne ne se posait ces questions.

Depuis 2018, WordPress a ajouté quelques fonctions : un outil d'export de données personnelles, une page de politique de confidentialité, un système de consentement pour les commentaires. C'est un début. Mais ces ajouts ne corrigent pas les problèmes de fond.

Et le vrai sujet, ce ne sont pas les fonctions natives de WordPress. Ce sont les plugins et les thèmes.

Les 5 problèmes RGPD que je retrouve sur tous les sites WordPress

Les Google Fonts chargées depuis les serveurs de Google

C'est le problème le plus répandu. Et le plus facile à corriger.

Par défaut, la majorité des thèmes WordPress chargent les polices de caractères depuis fonts.googleapis.com. Chaque fois qu'un visiteur arrive sur votre site, son navigateur envoie une requête aux serveurs de Google — avec son adresse IP. Google reçoit donc l'IP de chaque visiteur de votre site, sans consentement.

En 2022, un tribunal autrichien a statué que ce transfert d'IP vers Google violait le RGPD. L'Allemagne a suivi avec des décisions similaires. Un site a été condamné à 100 € de dommages et intérêts par visiteur lésé. Cent euros, ça ne paraît pas énorme — jusqu'à ce que vous imaginiez la multiplication par le nombre de plaintes.

La correction prend 10 minutes : héberger les polices en local. Vous téléchargez les fichiers, vous les mettez dans votre thème, et votre site ne contacte plus jamais Google pour afficher du texte. Des plugins comme OMGF automatisent ça.

Les plugins qui ajoutent des trackers dans votre dos

Un de mes clients avait un site WooCommerce. Il vendait des produits artisanaux. Dans sa politique de confidentialité, il déclarait 3 sous-traitants : Stripe pour le paiement, Mailchimp pour la newsletter, OVH pour l'hébergement.

J'ai compté les requêtes sortantes de son site. 23 domaines tiers. Google Analytics installé par un plugin de SEO. Facebook Pixel ajouté par un plugin de marketing. Hotjar intégré dans le thème. Plus des CDN, des services de cartographie, des scripts de retargeting qu'il n'avait jamais installés consciemment — ils venaient avec les plugins.

23 sous-traitants réels. 3 déclarés. C'est exactement le type de décalage qui coûte cher en cas de contrôle CNIL.

WordPress n'a aucun mécanisme pour forcer un plugin à déclarer les données qu'il collecte ou les services tiers qu'il contacte. Quand vous installez un plugin, vous faites confiance au développeur. Et le développeur ne pense pas toujours au RGPD — surtout quand il monétise son plugin gratuit avec du tracking.

Le bandeau cookies qui ne bloque rien

Neuf sites WordPress sur dix que j'audite ont un bandeau cookies. Neuf sur dix, ce bandeau ne sert à rien.

Le scénario classique : le fondateur installe un plugin de bandeau cookies. Le bandeau s'affiche. Il a deux boutons — "Accepter" et "Refuser". Le fondateur se dit "c'est bon, je suis conforme."

Sauf que le bandeau affiche un message. Il ne bloque pas les scripts. Google Analytics, le Facebook Pixel, Hotjar — tout ça se charge dès l'ouverture de la page, avant que le visiteur ait cliqué quoi que ce soit. Le bandeau est cosmétique.

Un bandeau cookies conforme doit empêcher le chargement des scripts non essentiels tant que l'utilisateur n'a pas donné son consentement. Et le bouton "Refuser" doit être aussi visible que le bouton "Accepter" — pas de dark pattern avec un "Accepter tout" en vert fluo et un lien "Personnaliser" en gris clair planqué en bas.

Des outils comme Complianz ou CookieYes font ça correctement — à condition d'être configurés. J'en vois régulièrement qui sont installés mais qui laissent passer des scripts parce que personne n'a pris le temps de lister tous les cookies du site.

Les formulaires qui stockent tout, indéfiniment

Contact Form 7 est le plugin de formulaire le plus populaire de WordPress. Beaucoup l'utilisent avec Flamingo, un plugin compagnon qui sauvegarde chaque soumission en base de données.

Flamingo ne supprime rien. Jamais. Chaque message de contact, chaque demande de devis, chaque email et numéro de téléphone laissé par un prospect — tout reste en base indéfiniment. J'ai trouvé chez un client des données de formulaire datant de 2019. Cinq ans de données personnelles de prospects, sans aucun mécanisme de purge.

Le RGPD impose une durée de conservation. Si vous collectez des données via un formulaire de contact, vous devez définir combien de temps vous les gardez — et les supprimer ensuite. "Indéfiniment" n'est pas une réponse acceptable.

Soit vous configurez une suppression automatique (certains plugins le permettent), soit vous faites le ménage manuellement à intervalle régulier. Dans tous les cas, la durée de conservation doit figurer dans votre politique de confidentialité.

Les commentaires et les gravatars

Même si personne ne commente sur votre site, si les commentaires sont activés, WordPress stocke l'adresse IP de chaque commentateur. C'est une donnée personnelle au sens du RGPD. Vous la collectez, vous devez la déclarer.

Mais il y a pire. WordPress affiche les avatars des commentateurs via Gravatar. Pour chaque commentaire affiché, WordPress envoie un hash de l'adresse email du commentateur aux serveurs de gravatar.com — propriété d'Automattic, entreprise américaine. Transfert de données personnelles vers les États-Unis, sans consentement, pour afficher une petite image ronde que personne ne regarde.

Si vous n'utilisez pas les commentaires, désactivez-les. Point. Si vous les utilisez, désactivez les gravatars dans Réglages > Discussion et ajoutez un plugin pour anonymiser les IPs stockées.

Votre app a ces failles ?

Registre, politique de confidentialité et rapport de conformité issus de votre code.

Obtenir ma conformité RGPD

La checklist : 8 points RGPD à vérifier sur votre site WordPress

Voici ce que je vérifie systématiquement quand j'audite un site WordPress. Prenez 30 minutes et passez-les en revue.

1. Votre bandeau cookies bloque-t-il réellement les scripts ? Pas juste affiché — il doit empêcher le chargement des trackers avant consentement. Testez vous-même : ouvrez votre site en navigation privée, refusez les cookies, puis vérifiez dans les outils développeur (onglet Réseau) que Google Analytics ne se charge pas.

2. Vos polices sont-elles hébergées en local ? Cherchez dans le code source de votre page des appels vers fonts.googleapis.com ou fonts.gstatic.com. Si vous en trouvez, passez en hébergement local.

3. Votre politique de confidentialité reflète-t-elle la réalité ? Listez tous les plugins actifs sur votre site. Pour chacun : est-ce qu'il collecte ou transmet des données personnelles ? Si oui, c'est mentionné dans votre politique ? Si vous n'êtes pas sûr, c'est que non.

4. Vos formulaires ont-ils une durée de conservation définie ? Si vous stockez les soumissions de formulaires en base de données, combien de temps les gardez-vous ? Avez-vous un processus de suppression — automatique ou manuel ?

5. Les commentaires sont-ils configurés correctement ? Si vous les utilisez : gravatars désactivés, IPs anonymisées, mention dans la politique de confidentialité. Si vous ne les utilisez pas : désactivez-les complètement.

6. Savez-vous combien de sous-traitants reçoivent des données depuis votre site ? Pas ceux que vous connaissez — ceux que vos plugins contactent réellement. Chaque domaine tiers appelé par votre site est potentiellement un sous-traitant à déclarer dans votre registre des traitements.

7. Vos mentions légales sont-elles complètes ? Raison sociale, adresse, hébergeur, directeur de publication. Et surtout : un moyen de contact pour les demandes RGPD (une adresse email dédiée type dpo@votresite.fr).

8. Pouvez-vous répondre à une demande d'exercice des droits ? Si un visiteur vous écrit pour demander la suppression de ses données, savez-vous où elles sont stockées et comment les supprimer ? WordPress a un outil natif (Outils > Exporter/Effacer les données personnelles), mais il ne couvre que les données gérées par WordPress — pas celles de vos plugins tiers.

Si vous découvrez des manques en parcourant cette liste, pas de panique. C'est la situation de la majorité des sites WordPress. L'important, c'est de corriger — et de pouvoir prouver que vous avez fait l'effort. La CNIL sanctionne l'inaction, pas l'imperfection.

Un plugin RGPD suffit-il ?

Non.

Un plugin comme Complianz ou CookieYes gère un aspect du problème : le bandeau cookies et le blocage des scripts avant consentement. C'est nécessaire. Ce n'est pas suffisant.

Le plugin ne vérifie pas que votre thème charge des Google Fonts depuis les serveurs de Google. Il ne sait pas que Contact Form 7 stocke des données indéfiniment. Il ne peut pas détecter que votre plugin de SEO a activé Google Analytics sans vous le dire. Et il ne rédige pas votre politique de confidentialité à votre place — ou s'il le fait, c'est un texte générique qui ne correspond pas à votre situation.

La conformité RGPD d'un site WordPress, c'est un ensemble : la configuration de WordPress, le thème, chaque plugin, la politique de confidentialité, le registre des traitements, et vos processus internes. Un seul plugin ne couvre qu'une fraction de tout ça.

Pour savoir où vous en êtes vraiment, deux options. Soit vous passez la checklist ci-dessus point par point — c'est gratuit, mais il faut savoir où regarder. Soit vous faites auditer votre site par quelqu'un qui va analyser ce que vos plugins font réellement avec les données de vos visiteurs. Dans les deux cas, c'est mieux que de découvrir le problème le jour d'un contrôle CNIL.

MH

Marc Haussaire

Ingénieur INSA · 15+ ans d'expérience

Cofondateur et ex-CTO de Lilo.org (800 000 utilisateurs), j'ai scalé des infrastructures à 100 millions de requêtes par mois. Aujourd'hui, j'audite le code et la conformité RGPD des applications — en particulier celles générées par l'IA.

Obtenir ma conformité RGPD