Activer Cloudflare sur WordPress sans casser l’admin ni les revenus : configuration DNS, SSL/TLS (Full strict), IP réelle côté serveur, règles de cache by-pass, WAF/Firewall, rate limiting et purge. Guide 2025, pas-à-pas.
Cloudflare, c’est quoi ?
Cloudflare est un proxy inversé + CDN + WAF. Il protège et accélère ton site en plaçant son réseau mondial entre les visiteurs et ton serveur. Avantages clés : distribution du contenu statique, protection DDoS, filtrage des bots, TLS moderne, règles de cache et firewall granulaires.
Préparer ton domaine
- Crée un compte Cloudflare et ajoute ton domaine.
- Laisse l’import DNS se faire puis mets à jour les serveurs de noms chez ton registrar (fournis par Cloudflare).
- Attends la propagation (quelques minutes à quelques heures).
DNS & proxy (nuage orange)
Dans l’onglet DNS de Cloudflare, assure-toi que les enregistrements A / AAAA de ton site (ex. @ et www) sont proxifiés (nuage orange). Cela active le CDN, le WAF et les règles Cloudflare.
SSL/TLS : choisir le bon mode
- Mode recommandé : Full (strict) — nécessite un certificat valide ou un Origin Certificate Cloudflare sur ton serveur.
- Always Use HTTPS : active la redirection automatique vers HTTPS.
- HSTS : à activer seulement après avoir validé HTTPS partout.
Installer un Origin Certificate (optionnel, conseillé) : génère un certificat dans l’onglet SSL/TLS → Origin Server, installe-le côté serveur, puis configure Apache.
Récupérer l’IP réelle dans Apache
Par défaut, les logs voient l’IP de Cloudflare. Utilise mod_remoteip et déclare les plages Cloudflare comme trusted proxies.
1) Autoriser Cloudflare dans UFW
for ip in $(curl -s https://www.cloudflare.com/ips-v4); do
sudo ufw allow from $ip to any port 80,443 proto tcp
done
for ip in $(curl -s https://www.cloudflare.com/ips-v6); do
sudo ufw allow from $ip to any port 80,443 proto tcp
done
2) Configurer mod_remoteip
sudo a2enmod remoteip
Crée /etc/apache2/conf-available/remoteip-cloudflare.conf :
RemoteIPHeader CF-Connecting-IP
# Ajoute ici les plages Cloudflare (v4 et v6)
RemoteIPTrustedProxy 173.245.48.0/20
RemoteIPTrustedProxy 103.21.244.0/22
# ... (toutes les plages Cloudflare officielles)
Active la conf et redémarre :
sudo a2enconf remoteip-cloudflare
sudo systemctl restart apache2
Astuce : adapte le LogFormat pour consigner %a (IP client) si besoin.
Cache Rules / Page Rules pour WordPress
Objectif : ne pas mettre en cache l’admin et les sessions, mais accélérer les assets statiques. Utilise de préférence les Cache Rules (nouvelle interface). Si tu as encore les Page Rules, crée des règles équivalentes.
Bypass (admin, login, prévisualisation)
- URI Path
contains/wp-admin/→ Bypass cache - URI Path
is/wp-login.php→ Bypass cache - Query String
containspreview=true→ Bypass cache - (Optionnel) Cookie
containswordpress_logged_in_→ Bypass cache
Accélérer les assets statiques
- URI Path
matches*.css|*.js|*.jpg|*.jpeg|*.png|*.webp|*.svg|*.woff2→ Cache level: Cache Everything, Edge TTL 7–30 jours (selon fréquence de déploiement). - Respecte idéalement les en-têtes origin (
Cache-Control) si déjà en place.
Important : évite de “Cache Everything” sur le HTML des pages loguées. Pour le blog public, tu peux l’activer avec prudence si tu gères bien les cookies et la purge lors des mises à jour.
Performances (Brotli, Early Hints, HTTP/3)
- Brotli : ON
- Early Hints : ON
- HTTP/3 : ON
- Auto Minify (HTML/CSS/JS) : à tester, attention aux conflits.
- Rocket Loader : peut casser des scripts ; tester avant d’activer.
- APO WordPress (optionnel, payant) : cache agressif des pages HTML au bord.
WAF, Firewall & Rate Limiting
Activer les règles gérées
- Managed Rules : ON (inclure les règles spécifiques WordPress si disponibles).
- Bot Fight Mode : à tester (peut générer des faux positifs).
Règles custom utiles
- Challenge/Block si
URI Path = /wp-login.phpET pays ≠ FR (à adapter). - Bloquer
/xmlrpc.phpsi tu n’utilises pas Jetpack. - Rate limiting : ex. 10 requêtes/min/IP sur
/wp-login.php(action : Block 10 min).
Purger le cache proprement
- Cloudflare → Caching → Configuration → Purge Everything.
- Préférer la purge ciblée (URL) après mise à jour d’un article.
- En cas de dév front : active le Development Mode (désactive le cache 3h).
Dépannage courant
- Boucle de redirection : vérifie le mode SSL (Full strict), la redirection HTTPS côté serveur et l’URL WordPress (Réglages → Général).
- Admin lent ou cassé : by-pass le cache pour
/wp-admin/et/wp-login.php, désactive Rocket Loader. - Publicités/Analytics bloqués : ajoute les domaines Google dans ta CSP, désactive l’optimisation qui réécrit les scripts.
- IP client incorrecte : revois la conf
mod_remoteip+ listes d’IP Cloudflare à jour.
Maillage interne
Pour aller plus loin :
FAQ
Quel mode SSL choisir sur Cloudflare pour WordPress ?
Full (strict). Installe un certificat valide côté serveur (Let’s Encrypt ou Origin Certificate) et active “Always Use HTTPS”.
Comment éviter de mettre l’admin en cache ?
Crée des Cache Rules (ou Page Rules) pour by-passer /wp-admin/*, /wp-login.php, les prévisualisations et les sessions (cookie wordpress_logged_in_).
Cloudflare casse mes scripts (theme ou pub), que faire ?
Désactive Rocket Loader, teste la minification. Ajoute les domaines tiers nécessaires (Analytics, AdSense) dans ta CSP si tu en utilises une.
Comment récupérer l’IP réelle du visiteur dans les logs ?
Active mod_remoteip, déclare les plages Cloudflare en “trusted proxy” et logue %a dans Apache.
APO WordPress est-il indispensable ?
Non, mais il peut améliorer la TTFB sur pages HTML via cache edge agressif. Option payante : à évaluer selon ton budget et ton trafic.










