Ton site PrestaShop rame ? Tu te fais spammer par des bots ou ton hébergeur te facture une fortune en bande passante ? Tu n’es pas seul. Des milliers d’e-commerçants rencontrent exactement les mêmes galères.
La bonne nouvelle ? Il existe une solution gratuite et diablement efficace : Cloudflare.
En associant PrestaShop et Cloudflare, tu peux diviser ton temps de chargement par deux, protéger ta boutique des attaques DDoS et réduire tes coûts d’hébergement jusqu’à 60%. Le tout sans débourser un centime.
Mais voilà le hic : la configuration n’est pas toujours évidente. Erreurs SSL, déconnexions intempestives du BackOffice, timeout 524… Si tu t’es déjà arraché les cheveux sur ces problèmes, ce guide est fait pour toi.
Dans cet article, je vais te montrer étape par étape comment configurer Cloudflare pour PrestaShop, mais surtout comment éviter tous les pièges que rencontrent 90% des e-commerçants. Même si tu n’es pas développeur.
Pourquoi associer Cloudflare à PrestaShop ?
Avant de plonger dans la technique, laisse-moi t’expliquer pourquoi cette association est un game-changer pour ton e-commerce.
Les 3 avantages majeurs pour ton e-commerce
1. Performance : un site jusqu’à 2x plus rapide
Cloudflare, c’est avant tout un CDN (Content Delivery Network). Concrètement ? Tes images, CSS, JavaScript et autres fichiers statiques sont stockés sur des serveurs répartis dans le monde entier.
Résultat : un client à Paris charge ton site depuis un serveur à Paris, un client à Tokyo depuis Tokyo. Fini les latences interminables. Tes pages s’affichent en moins de 2 secondes, même avec des produits bourrés de photos HD.
Et ce n’est pas tout. Cloudflare compresse automatiquement tes fichiers, optimise tes images et active le cache intelligent. Tu peux gagner 40 à 60% de vitesse sans toucher une ligne de code.
2. Sécurité : ton bouclier contre les attaques
Les boutiques PrestaShop sont des cibles privilégiées pour les hackers. Attaques DDoS, tentatives de brute force sur le BackOffice, injections SQL… La liste est longue.
Avec Cloudflare, tu bénéficies d’une protection DDoS automatique qui filtre le trafic malveillant avant même qu’il n’atteigne ton serveur. Le Bot Fight Mode bloque les robots malveillants, et tu peux activer le WAF (Web Application Firewall) en version Pro pour une protection encore plus poussée.
Cerise sur le gâteau : Cloudflare te fournit un certificat SSL gratuit et gère automatiquement le renouvellement. Fini les alertes “site non sécurisé” qui font fuir tes clients.
3. Économies : divise ta facture d’hébergement
C’est l’avantage dont on parle le moins, mais qui fait mal au portefeuille. Chaque fois qu’un visiteur charge une image ou un fichier sur ton site, ça consomme de la bande passante. Et la bande passante, ça coûte cher en hébergement.
Avec Cloudflare, 60% de tes requêtes sont servies directement depuis leur cache. Ton serveur n’est sollicité que pour les pages dynamiques. Résultat ? Tu peux passer à un hébergement moins cher ou gérer beaucoup plus de trafic sans upgrade.
Des clients à moi ont divisé leur consommation de bande passante par 3. Sur l’année, ça représente plusieurs centaines d’euros d’économies.
Cloudflare gratuit vs payant : lequel choisir ?
Voici un tableau comparatif pour t’aider à choisir :
| Fonctionnalité | Free | Pro (20$/mois) | Business (200$/mois) |
|---|---|---|---|
| CDN Global | ✅ | ✅ | ✅ |
| SSL Gratuit | ✅ | ✅ | ✅ |
| Protection DDoS | ✅ Basique | ✅ Avancée | ✅ Premium |
| WAF (Pare-feu) | ❌ | ✅ | ✅ |
| Optimisation Images | ❌ | ✅ WebP | ✅ WebP + Polish |
| Support | Community | 24/7 Prioritaire | |
| Page Rules | 3 | 20 | 50 |
Mon conseil :
- Version Free : Parfaite si tu débutes ou si tu as moins de 10 000 visiteurs/mois. Tu bénéficies déjà de 80% des avantages.
- Version Pro : Intéressante si tu veux le WAF (protection avancée) et l’optimisation automatique des images en WebP. Recommandé à partir de 50 000 visiteurs/mois.
- Version Business : Réservée aux très grosses boutiques avec des besoins spécifiques (support prioritaire, timeout étendu à 100s pour les opérations lourdes).
Pour 95% des boutiques PrestaShop, la version gratuite suffit largement. Tu pourras toujours upgrader plus tard si besoin.
Configuration de Cloudflare pour PrestaShop (Étape par Étape)
Maintenant qu’on a vu pourquoi cette association est puissante, passons à la pratique. Je vais te guider pas à pas pour configurer Cloudflare avec ton PrestaShop. Même si tu n’as jamais touché à un DNS de ta vie, tu vas y arriver.
Étape 1 – Créer ton compte Cloudflare
Première étape ultra simple : l’inscription.
Rends-toi sur cloudflare.com et clique sur “Sign Up”. Renseigne ton email et choisis un mot de passe solide. Cloudflare te demandera ensuite d’ajouter ton site.
Entre le nom de domaine de ta boutique PrestaShop (par exemple : maboutique.fr) sans le “www” ni le “https://”. Juste le nom de domaine brut.
Cloudflare va scanner automatiquement tes enregistrements DNS actuels. Ça prend généralement 30 secondes à 1 minute. Patience.
Une fois le scan terminé, Cloudflare te propose de choisir un plan. Sélectionne “Free” pour commencer. Tu pourras toujours upgrader plus tard si tu en ressens le besoin.
Étape 2 – Paramètres DNS essentiels
C’est là que ça devient crucial. Cloudflare t’affiche tous les enregistrements DNS qu’il a détectés. Tu devrais voir au minimum :
- Un enregistrement A pointant vers l’IP de ton serveur
- Un enregistrement CNAME pour “www” pointant vers ton domaine principal
Le nuage orange vs le nuage gris : comprendre la différence
À côté de chaque enregistrement DNS, tu vois un petit nuage. C’est LE réglage qui change tout :
- Nuage orange (Proxied) : Le trafic passe par Cloudflare. Tu bénéficies du CDN, du cache et de la protection. C’est ce qu’on veut pour le site.
- Nuage gris (DNS Only) : Cloudflare ne fait que résoudre le DNS, pas de protection ni de cache. Cloudflare est transparent.
Pour ta boutique PrestaShop, active le nuage orange sur :
- L’enregistrement A principal
- L’enregistrement CNAME www
Bonne pratique : créer un sous-domaine pour l’admin
Voici un conseil que peu de gens appliquent mais qui peut te sauver la mise : crée un sous-domaine dédié pour ton BackOffice.
Par exemple : admin.maboutique.fr avec un enregistrement A pointant vers ton IP serveur, mais en nuage gris (DNS Only).
Pourquoi ? Parce que ça évite les problèmes de timeout sur les opérations longues (imports produits, sauvegardes…). La limite de timeout Cloudflare en version Free/Pro est de 100 secondes. Avec un sous-domaine en DNS Only, pas de limite.
Pour PrestaShop, il faudra ensuite configurer ton BackOffice pour qu’il soit accessible via ce sous-domaine. C’est un peu technique mais ça vaut le coup pour les grosses boutiques.
Changer les nameservers chez ton registrar
Cloudflare va maintenant te donner deux nameservers personnalisés, du type :
- alex.ns.cloudflare.com
- kate.ns.cloudflare.com
Tu dois remplacer les nameservers actuels de ton domaine par ces nouveaux. Ça se passe chez ton registrar (OVH, Gandi, Namecheap, etc.).
Connecte-toi à ton espace registrar, cherche la section “DNS” ou “Nameservers”, et remplace les anciens par ceux de Cloudflare.
Attention : La propagation DNS peut prendre de 5 minutes à 48 heures. En général, c’est bouclé en 1 à 2 heures. Cloudflare t’envoie un email de confirmation quand ton site est actif.
Étape 3 – Configuration SSL/TLS
Une fois les DNS propagés, direction la section SSL/TLS dans le menu Cloudflare.
Le mode SSL : l’erreur à ne SURTOUT PAS faire
Par défaut, Cloudflare te met en mode “Flexible”. C’est le piège dans lequel tombent 80% des débutants avec PrestaShop.
Voici ce qui se passe avec chaque mode :
- Off : Pas de SSL. Ton site reste en HTTP. À éviter absolument en 2025.
- Flexible : Cloudflare force le HTTPS entre le visiteur et Cloudflare, mais la connexion entre Cloudflare et ton serveur reste en HTTP. Problème : si tu as déjà activé le HTTPS dans PrestaShop, tu vas créer une boucle de redirection infinie. Ton site sera inaccessible.
- Full : HTTPS de bout en bout, mais Cloudflare ne vérifie pas la validité du certificat sur ton serveur. Ça peut passer si tu as un certificat auto-signé.
- Full (strict) : C’est le mode recommandé. HTTPS partout avec vérification du certificat. C’est le plus sécurisé.
Ma recommandation : toujours utiliser Full (strict)
Si tu as déjà un certificat SSL valide sur ton serveur (Let’s Encrypt, SSL payant…), passe directement en Full (strict).
Le mode Full (strict) est le plus sécurisé car il vérifie la validité du certificat SSL de ton serveur. Si tu n’as pas encore de certificat SSL sur ton serveur, Cloudflare peut te générer un certificat SSL origine gratuit valable 15 ans. Va dans SSL/TLS > Origin Server et clique sur “Create Certificate”. Cloudflare génère une paire clé/certificat valable 15 ans.Tu devras installer ce certificat sur ton serveur (Apache/Nginx). Si tu n’es pas à l’aise avec ça, demande à ton hébergeur de le faire.
Pour comprendre en détail chaque mode SSL, consulte la documentation officielle des modes de chiffrement SSL/TLS de Cloudflare.Activer le HTTPS automatique
Dans SSL/TLS > Edge Certificates, active ces deux options :
- Always Use HTTPS : Redirige automatiquement tout le trafic HTTP vers HTTPS
- Automatic HTTPS Rewrites : Corrige les liens mixtes (HTTP/HTTPS) dans tes pages
Ça évite les alertes “contenu non sécurisé” qui cassent le cadenas vert dans le navigateur.
Étape 4 – Règles de cache (Page Rules)
Les Page Rules, c’est la clé pour optimiser le cache Cloudflare. En version Free, tu as droit à 3 règles. Il faut donc les choisir judicieusement.
Règle 1 : Bypass cache pour le BackOffice
URL : *maboutique.fr/admin* (remplace “admin” par le nom réel de ton dossier admin PrestaShop)
Paramètres :
- Cache Level : Bypass
- Disable Security : On (pour éviter les faux positifs)
- Disable Performance : On
Pourquoi ? Parce que tu ne veux JAMAIS que ton BackOffice soit mis en cache. Sinon, tu vas voir des données obsolètes, des erreurs bizarres, et des déconnexions aléatoires.
Règle 2 : Cache agressif pour les fichiers statiques
URL : *maboutique.fr/*.jpg (tu peux faire pareil pour .png, .css, .js)
Paramètres :
- Cache Level : Cache Everything
- Edge Cache TTL : 1 month
Cloudflare va garder tes images et fichiers statiques en cache pendant un mois complet. Tes visiteurs les chargeront à la vitesse de l’éclair.
Règle 3 : Optimiser les pages produits
URL : *maboutique.fr/*/produit/* (adapte selon ta structure d’URLs)
Paramètres :
- Cache Level : Standard
- Browser Cache TTL : 4 hours
Ça met en cache les pages produits tout en permettant des mises à jour régulières.
Voici un tableau récapitulatif des paramètres recommandés :
| Type de page | URL Pattern | Cache Level | TTL |
|---|---|---|---|
| BackOffice | */admin* |
Bypass | – |
| Images | *.jpg, *.png, *.webp |
Cache Everything | 1 month |
| CSS/JS | *.css, *.js |
Cache Everything | 1 month |
| Panier/Checkout | */panier*, */checkout* |
Bypass | – |
| Pages produits | */produit/* |
Standard | 4 hours |
Important : Si tu utilises les 3 Page Rules gratuites et que tu as besoin de plus, envisage le plan Pro (20 règles).
Étape 5 – Pare-feu et sécurité
Dernière étape côté Cloudflare : sécuriser ta boutique.
Bot Fight Mode (gratuit)
Dans Security > Bots, active le Bot Fight Mode. Ça bloque automatiquement les bots malveillants qui tentent de scraper ton site ou de spammer tes formulaires.
Attention : ça peut bloquer certains bots légitimes (Google, Bing…). Cloudflare les whitelist automatiquement, mais garde un œil sur tes logs les premiers jours.
Rate Limiting pour protéger le login
Si tu es en version Pro ou supérieure, tu peux configurer un Rate Limiting sur ta page de connexion BackOffice.
Va dans Security > WAF > Rate limiting rules et crée une règle :
- URL :
maboutique.fr/admin*/index.php - Limite : 5 requêtes par minute par IP
- Action : Challenge (CAPTCHA)
Ça bloque les tentatives de brute force sur ton admin. En version Free, tu n’as pas accès à cette fonctionnalité, mais le Bot Fight Mode aide déjà pas mal.
Niveau de sécurité
Dans Security > Settings, tu peux ajuster le niveau de sécurité :
- Essentially Off : Pas de challenge
- Low : Challenge uniquement pour les menaces connues
- Medium : Recommandé (par défaut)
- High : Challenge pour les visiteurs suspects (peut bloquer des clients légitimes)
- I’m Under Attack! : Mode d’urgence lors d’une attaque DDoS
Laisse sur Medium en temps normal. Si tu subis une attaque, passe temporairement en “I’m Under Attack!” le temps que ça se calme.
Paramétrer PrestaShop pour Cloudflare
Cloudflare est configuré, ton site passe bien par le proxy orange… mais là, surprise : tu te fais déconnecter du BackOffice toutes les 30 secondes. Ou pire, tes logs Analytics affichent uniquement des IP Cloudflare au lieu des vraies IP de tes visiteurs.
Pas de panique. C’est normal et ça se corrige en quelques minutes. Voici comment paramétrer PrestaShop pour qu’il fonctionne parfaitement avec Cloudflare.
Le problème des déconnexions BackOffice (et sa solution)
C’est LE problème numéro 1 que rencontrent les e-commerçants qui activent Cloudflare. Tu te connectes à ton admin PrestaShop, tu cliques sur “Catalogue” ou “Commandes”, et BAM : tu te retrouves redirigé vers la page de connexion.
Pourquoi ça arrive ?
PrestaShop intègre un mécanisme de sécurité appelé “IP Check Cookie”. À chaque requête, PrestaShop vérifie que l’adresse IP dans ton cookie de session correspond bien à ton IP actuelle.
Le problème ? Avec Cloudflare, toutes les requêtes arrivent depuis les IP de Cloudflare, pas la tienne. Et comme Cloudflare utilise plusieurs serveurs, ton IP “vue” par PrestaShop change constamment. Résultat : PrestaShop pense que quelqu’un a volé ta session et te déconnecte par sécurité.
La solution : désactiver la vérification IP
Connecte-toi à ton BackOffice PrestaShop (profite-en tant que tu es encore connecté !).
Va dans : Paramètres avancés > Administration
Tu vas voir une section “Options de cookies”. Trouve le paramètre :
“Vérifier l’adresse IP des cookies” (ou “Check IP address on cookie” en anglais)
Par défaut, il est sur “Oui”. Passe-le sur “Non”.
Sauvegarde. C’est tout.
Redémarre ton navigateur (ferme complètement Chrome/Firefox et rouvre-le) pour que le nouveau cookie soit pris en compte.
Maintenant, reconnecte-toi à ton admin. Tu ne devrais plus jamais être déconnecté aléatoirement.
Mais c’est sécurisé ?
Oui, même si ça paraît contre-intuitif. Voici pourquoi :
- Cloudflare ajoute un niveau de sécurité en amont (DDoS protection, Bot Fight Mode)
- Le token de session PrestaShop reste valide et sécurisé
- Tu peux compenser en réduisant la durée de vie du cookie de session (dans les mêmes paramètres)
Mon conseil : garde la durée de session à 480 minutes (par défaut) si tu es seul à gérer le BackOffice. Si tu as plusieurs employés, réduis à 120 minutes pour limiter les risques en cas de session non fermée.
Restaurer les vraies IP des visiteurs
Deuxième problème courant : dans tes statistiques PrestaShop, Google Analytics ou tes logs serveur, tu ne vois que des IP Cloudflare (du type 104.xx.xx.xx ou 172.xx.xx.xx).
Normal : techniquement, c’est Cloudflare qui se connecte à ton serveur. Mais Cloudflare transmet l’IP réelle du visiteur dans un header HTTP spécial : CF-Connecting-IP (et aussi dans le header standard X-Forwarded-For).
Il faut juste que ton serveur et PrestaShop sachent lire ces headers.
Cloudflare propose un guide officiel de restauration des IP réelles pour différents serveurs web.Solution 1 : Configuration serveur (la meilleure)
Si tu es sur Apache, installe le module mod_remoteip.
Dans ta configuration Apache (ou .htaccess), ajoute :
<IfModule remoteip_module>
RemoteIPHeader CF-Connecting-IP
RemoteIPTrustedProxy 173.245.48.0/20
RemoteIPTrustedProxy 103.21.244.0/22
RemoteIPTrustedProxy 103.22.200.0/22
RemoteIPTrustedProxy 103.31.4.0/22
RemoteIPTrustedProxy 141.101.64.0/18
RemoteIPTrustedProxy 108.162.192.0/18
RemoteIPTrustedProxy 190.93.240.0/20
RemoteIPTrustedProxy 188.114.96.0/20
RemoteIPTrustedProxy 197.234.240.0/22
RemoteIPTrustedProxy 198.41.128.0/17
RemoteIPTrustedProxy 162.158.0.0/15
RemoteIPTrustedProxy 104.16.0.0/13
RemoteIPTrustedProxy 104.24.0.0/14
RemoteIPTrustedProxy 172.64.0.0/13
RemoteIPTrustedProxy 131.0.72.0/22
</IfModule>
Ces IP sont les plages officielles de Cloudflare. Tu peux trouver la liste officielle des plages IP Cloudflare toujours à jour sur leur site.
Si tu es sur Nginx, ajoute dans ta configuration :
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 131.0.72.0/22;
real_ip_header CF-Connecting-IP;
Redémarre ton serveur web (Apache ou Nginx). Maintenant, PrestaShop et tes logs verront les vraies IP des visiteurs.
Solution 2 : Module PrestaShop (si tu n’as pas accès au serveur)
Si tu es sur un hébergement mutualisé sans accès SSH, tu peux utiliser un module PrestaShop gratuit.
Il existe plusieurs modules sur GitHub, notamment :
- Pixel-Open/prestashop-cloudflare (gratuit, open source)
- SoftSprint Cloudflare CDN Cache (payant, 49€ sur les Addons)
Ces modules forcent PrestaShop à lire le header CF-Connecting-IP pour récupérer la vraie IP du visiteur.
Installation classique :
- Télécharge le .zip du module
- Va dans ton BackOffice > Modules > Envoyer un module
- Upload le fichier zip
- Configure le module avec ton API Key Cloudflare (trouvable dans ton dashboard Cloudflare)
Solution 3 : Modification manuelle (pour les bricoleurs)
Si tu veux faire ça proprement sans module, tu peux modifier le fichier config/defines.inc.php de PrestaShop.
Ajoute ces lignes au début du fichier (après <?php) :
if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
Sauvegarde. PrestaShop utilisera désormais l’IP Cloudflare comme IP source.
Attention : Cette modification sera écrasée lors des mises à jour PrestaShop. Privilégie la solution serveur ou le module.
Optimiser les performances PrestaShop
Maintenant que Cloudflare et PrestaShop s’entendent bien, tu peux pousser l’optimisation encore plus loin côté PrestaShop.
Activer le cache PrestaShop (Smarty)
Va dans Paramètres avancés > Performances.
Active :
- Cache Smarty : Oui (avec recompilation automatique)
- Cache : Oui
Ça met en cache les templates Smarty de PrestaShop. Combiné au cache Cloudflare, tes pages s’affichent instantanément.
Activer la combinaison/compression/cache (CCC)
Dans la même page Performances, active :
- Minifier HTML : Oui (après génération Smarty)
- Minifier CSS : Oui
- Minifier JavaScript : Oui
- Combiner, Compresser et mettre en Cache (CCC) :
- CSS : Oui
- JavaScript : Oui
PrestaShop va fusionner tous tes fichiers CSS et JS en un seul fichier compressé. Ça réduit drastiquement le nombre de requêtes HTTP.
Attention : Teste bien ton site après activation du CCC. Parfois, certains modules PrestaShop ne sont pas compatibles et peuvent casser l’affichage. Si c’est le cas, désactive uniquement le CCC JS et garde le CCC CSS activé.
Pour aller plus loin sur l’optimisation, consulte la documentation officielle PrestaShop sur les performances.Configurer les serveurs média (optionnel)
Si tu veux pousser encore plus loin, tu peux utiliser la fonction Serveurs média de PrestaShop.
Va dans Paramètres avancés > Performances > Serveurs média.
Ajoute un ou plusieurs sous-domaines :
static1.maboutique.frstatic2.maboutique.frstatic3.maboutique.fr
Configure ces sous-domaines dans Cloudflare (enregistrements CNAME pointant vers ton domaine principal, en nuage orange).
PrestaShop va automatiquement répartir le chargement des images/CSS/JS entre ces sous-domaines. Ça permet au navigateur de télécharger plus de fichiers en parallèle (limite de 6 connexions simultanées par domaine).
Mon avis : C’est un gain marginal aujourd’hui avec HTTP/2. Si tu n’as pas de problème de performance, skip cette étape.
Vider le cache après les modifications
Chaque fois que tu changes des paramètres Cloudflare ou PrestaShop, pense à vider les caches :
- Cache PrestaShop : Paramètres avancés > Performances > Vider le cache
- Cache Cloudflare : Dashboard Cloudflare > Caching > Purge Everything
Ça évite les comportements bizarres avec des contenus mixés entre ancien et nouveau cache.
Les 5 Problèmes Courants (et leurs Solutions)
Même en suivant le guide à la lettre, tu peux tomber sur des bugs bizarres. Voici les 5 problèmes que je rencontre le plus souvent avec mes clients PrestaShop + Cloudflare, et surtout comment les résoudre en 5 minutes chrono.
Problème 1 – Erreur SSL “Trop de redirections”
Symptôme : Ton site affiche “ERR_TOO_MANY_REDIRECTS” ou “La page ne fonctionne pas, trop de redirections”. Impossible d’accéder à ta boutique.
Pourquoi ça arrive ?
C’est la boucle de redirection classique. Voici ce qui se passe :
- Cloudflare est configuré en mode SSL Flexible
- PrestaShop a le HTTPS activé dans ses paramètres
- PrestaShop redirige vers HTTPS
- Mais Cloudflare communique avec ton serveur en HTTP
- PrestaShop voit du HTTP et redirige vers HTTPS
- Retour à l’étape 4 → boucle infinie
La solution (simple) :
Va dans ton dashboard Cloudflare > SSL/TLS > Overview.
Change le mode SSL de Flexible vers Full (strict).
Si tu n’as pas encore de certificat SSL valide sur ton serveur, choisis Full temporairement, puis installe un certificat (Let’s Encrypt gratuit ou certificat origine Cloudflare).
Attends 30 secondes, vide le cache de ton navigateur (Ctrl+Shift+Suppr), et reteste. Ça devrait être réglé.
La solution (avancée) si ça persiste :
Parfois, PrestaShop a gardé en cache l’ancienne configuration. Va dans ton BackOffice PrestaShop (si tu y arrives encore) :
Paramètres de la boutique > Trafic et SEO
Vérifie que :
- Activer SSL : Oui
- Activer SSL sur toutes les pages : Oui
Sauvegarde, vide le cache PrestaShop, vide le cache Cloudflare.
Si vraiment rien ne marche, ajoute cette ligne dans ton fichier .htaccess PrestaShop (juste après RewriteEngine On) :
RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Ça force la redirection HTTPS uniquement si la requête arrive vraiment en HTTP depuis Cloudflare.
Problème 2 – Erreur 500 après activation proxy
Symptôme : Dès que tu actives le nuage orange sur Cloudflare, ton site affiche “Erreur 500 – Internal Server Error”.
Pourquoi ça arrive ?
L’erreur 500, c’est le fourre-tout. Ça peut venir de plein de sources :
- Conflit SSL (même cause que le problème 1)
- Fichier .htaccess mal configuré (règles incompatibles avec le proxy Cloudflare)
- Limite PHP dépassée (memory_limit, max_execution_time)
- Module PrestaShop qui panique en voyant les IP Cloudflare
Solution étape par étape :
Étape 1 – Vérifie les logs serveur
Connecte-toi en SSH ou via ton panel d’hébergement (cPanel, Plesk…) et consulte les logs d’erreur Apache/Nginx.
Sur cPanel : Accueil > Mesures > Erreurs.
Tu cherches une ligne d’erreur datée de l’instant où tu as activé le proxy. Souvent, ça pointe vers un fichier PHP spécifique ou une limite dépassée.
Étape 2 – Passe temporairement en nuage gris
Dans Cloudflare, désactive le proxy (nuage gris) le temps de diagnostiquer. Si le site refonctionne en nuage gris, c’est bien lié à Cloudflare.
Étape 3 – Vérifie le mode SSL
Comme pour le problème 1, assure-toi d’être en Full (strict). Un mode SSL inadapté peut générer une erreur 500 au lieu d’une boucle de redirection.
Étape 4 – Teste sans .htaccess
Renomme temporairement ton fichier .htaccess en .htaccess.bak.
Réactive le proxy Cloudflare. Si le site fonctionne, c’est qu’une règle .htaccess pose problème.
Restaure le .htaccess original et commente ligne par ligne les règles personnalisées jusqu’à trouver la coupable.
Étape 5 – Augmente les limites PHP
Si les logs mentionnent “memory exhausted” ou “maximum execution time exceeded”, édite ton fichier php.ini (ou crée-le) et ajoute :
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
Certains hébergeurs limitent ces valeurs. Contacte leur support si tu ne peux pas les modifier.
Étape 6 – Désactive temporairement les modules suspects
Certains modules PrestaShop (anciens ou mal codés) ne gèrent pas bien les IP Cloudflare. Va dans ton BackOffice > Modules > Gestionnaire de modules et désactive les modules récemment installés.
Réactive-les un par un pour identifier le coupable.
Problème 3 – Timeout 524 sur opérations lourdes
Symptôme : Lors d’imports massifs de produits, de sauvegardes ou de génération de factures, tu reçois une “Erreur 524 – A timeout occurred”.
Pourquoi ça arrive ?
Cloudflare a une limite de timeout stricte :
- 100 secondes en version Free et Pro
- 6000 secondes (100 minutes) en version Enterprise
Si ton opération PrestaShop prend plus de 100 secondes, Cloudflare coupe la connexion. Le serveur continue de travailler en arrière-plan, mais tu n’as plus de retour.
Solution 1 : Créer un sous-domaine admin en DNS Only (recommandée)
C’est la solution propre. Crée un sous-domaine dédié pour ton BackOffice qui ne passe pas par le proxy Cloudflare.
Dans Cloudflare > DNS, ajoute un enregistrement :
- Type : A
- Nom : admin
- Cible : [IP de ton serveur]
- Proxy : Désactivé (nuage gris)
Tu accèdes maintenant à ton BackOffice via admin.maboutique.fr au lieu de maboutique.fr/admin.
Configure PrestaShop pour reconnaître ce sous-domaine. Édite le fichier app/config/parameters.php (PrestaShop 1.7+) ou config/settings.inc.php (PrestaShop 1.6) et ajoute le domaine admin dans la whitelist.
Solution 2 : Désactiver temporairement le proxy
Si tu n’as besoin de faire l’opération lourde qu’occasionnellement (une fois par mois pour un gros import), tu peux désactiver temporairement le proxy Cloudflare.
Dans Cloudflare > DNS, passe l’enregistrement principal en nuage gris, fais ton import, puis réactive le nuage orange.
Attention : Ça met 5 à 10 minutes pour que le changement DNS se propage. Et pendant ce temps, tu perds la protection Cloudflare.
Solution 3 : Découper les opérations
Si tu ne peux pas créer de sous-domaine, découpe tes imports. Au lieu d’importer 5000 produits d’un coup, fais-le par lots de 500.
Beaucoup de modules d’import PrestaShop ont une option “Arrêter après X lignes”. Utilise-la.
Problème 4 – Modules externes bloqués
Symptôme : Ton ERP, ton module de transporteur (Colissimo, Chronopost…) ou ton module de paiement ne fonctionne plus après activation Cloudflare. Les synchros échouent, les webhooks ne passent pas.
Pourquoi ça arrive ?
Cloudflare protège ton site contre le trafic suspect. Le problème, c’est qu’un serveur tiers (ton ERP, l’API du transporteur…) peut être vu comme un bot malveillant s’il n’est pas whitelisté.
Résultat : Cloudflare bloque les requêtes, ton ERP ne peut plus se connecter, les stocks ne se synchronisent plus.
Solution : Whitelister les IP des services externes
Dans Cloudflare > Security > WAF > Tools, crée une règle IP Access Rules.
Ajoute les IP de tes services externes avec l’action Allow.
Exemple pour Colissimo :
- IP :
194.250.224.0/24 - Action : Allow
Demande à ton fournisseur ERP / transporteur / passerelle de paiement la liste de leurs IP sortantes. Ajoute-les toutes.
Alternative : Bypass Cloudflare pour les webhooks
Si ton module utilise des webhooks (notifications instantanées), crée une Page Rule qui bypass la sécurité sur l’URL du webhook.
Exemple pour un webhook Stripe :
URL : *maboutique.fr/module/stripe/webhook*
Paramètres :
- Security Level : Essentially Off
- Cache Level : Bypass
Ça permet au webhook de passer sans être challengé par Cloudflare.
Problème 5 – Cache du BackOffice
Symptôme : Tu modifies un produit, tu changes une catégorie, mais les modifications n’apparaissent pas dans le BackOffice. Ou pire, tu vois des données incohérentes (ancien prix + nouvelle description).
Pourquoi ça arrive ?
Si tu n’as pas configuré de Page Rule pour exclure le BackOffice du cache, Cloudflare peut mettre en cache des pages d’administration. Résultat : tu vois une version obsolète.
Solution garantie :
Vérifie que tu as bien une Page Rule qui bypass le cache pour ton admin.
Dans Cloudflare > Rules > Page Rules, crée (ou vérifie) :
URL : *maboutique.fr/admin*
Paramètres :
- Cache Level : Bypass
- Disable Security : On
- Disable Performance : On
- Browser Cache TTL : Respect Existing Headers
Sauvegarde.
Vide ensuite TOUS les caches :
- Cache Cloudflare : Caching > Purge Everything
- Cache PrestaShop : BackOffice > Paramètres avancés > Performances > Vider le cache
- Cache navigateur : Ctrl+Shift+Suppr (tout effacer)
Attends 2 minutes (propagation), reconnecte-toi au BackOffice. Tout devrait être à jour.
Astuce bonus : Si ça arrive souvent, c’est que tu n’as pas assez de Page Rules gratuites (limite de 3). Passe en version Pro (20€/mois) pour avoir 20 Page Rules et affiner ton setup.
Checklist finale : Ton site est-il bien configuré ?
Avant de clore ce guide, voici une checklist complète pour t’assurer que tout est nickel. Imprime-la ou garde-la sous le coude.
✅ Configuration Cloudflare
- ☐ Compte Cloudflare créé et domaine ajouté
- ☐ Nameservers changés chez le registrar (propagation confirmée)
- ☐ Enregistrements DNS principaux en nuage orange (proxy activé)
- ☐ Mode SSL configuré en Full (strict)
- ☐ Options SSL activées : Always Use HTTPS + Automatic HTTPS Rewrites
- ☐ Page Rule #1 : Bypass cache pour
/admin* - ☐ Page Rule #2 : Cache agressif pour fichiers statiques (images, CSS, JS)
- ☐ Page Rule #3 : Cache optimisé pour pages produits (optionnel)
- ☐ Bot Fight Mode activé
- ☐ Niveau de sécurité : Medium (ou High si besoin)
✅ Configuration PrestaShop
- ☐ Vérification IP des cookies désactivée (Paramètres avancés > Administration)
- ☐ Vraies IP restaurées (mod_remoteip/Nginx ou module PrestaShop)
- ☐ Cache Smarty activé (Paramètres avancés > Performances)
- ☐ CCC (Combiner, Compresser, Cache) activé pour CSS et JS
- ☐ HTTPS activé dans Paramètres de la boutique > Trafic et SEO
- ☐ Cache PrestaShop vidé après modifications
✅ Tests de bon fonctionnement
- ☐ Site accessible en HTTPS sans erreur de certificat
- ☐ Aucune boucle de redirection
- ☐ BackOffice accessible sans déconnexions intempestives
- ☐ Pages produits chargent en moins de 2-3 secondes
- ☐ Formulaires de contact / inscription fonctionnent
- ☐ Panier et tunnel de commande OK
- ☐ Modules tiers (ERP, transporteurs) synchronisent correctement
- ☐ Analytics affichent les vraies IP des visiteurs (pas des IP Cloudflare)
✅ Maintenance régulière
- ☐ Vérifier les logs Cloudflare (Security > Analytics) chaque semaine
- ☐ Purger le cache Cloudflare après chaque grosse mise à jour
- ☐ Surveiller les temps de réponse (Cloudflare Analytics > Performance)
- ☐ Mettre à jour la liste des IP Cloudflare (pour mod_remoteip) tous les 6 mois
Conclusion
Et voilà, tu as maintenant un site PrestaShop boosté par Cloudflare qui tourne comme une horloge suisse.
Récapitulons ce que tu as gagné :
En performance : Ton site charge 40 à 60% plus vite grâce au CDN global, au cache intelligent et à la compression automatique. Tes visiteurs ne voient plus de roue qui tourne, ils voient tes produits instantanément.
En sécurité : Tu es protégé contre les attaques DDoS, les bots malveillants et les tentatives de piratage. Cloudflare filtre le trafic pourri avant même qu’il n’atteigne ton serveur. Ton certificat SSL est géré automatiquement, zéro prise de tête.
En économies : Ta facture d’hébergement peut facilement baisser de 30 à 50% grâce à la réduction de bande passante. Et tout ça avec la version gratuite de Cloudflare. Si ce n’est pas un retour sur investissement en or, je ne sais pas ce que c’est.
Le meilleur dans tout ça ? Tu n’as pas besoin d’être développeur pour profiter de ces avantages. Une configuration bien faite une fois, et tu es tranquille pour des années.
Bien sûr, tu peux aller encore plus loin : passer en version Pro pour le WAF et l’optimisation d’images, activer le Rate Limiting, peaufiner tes Page Rules… Mais franchement, pour 95% des boutiques PrestaShop, ce que tu as mis en place aujourd’hui suffit largement.
Alors, c’est gratuit, c’est puissant, et ça marche. Pourquoi s’en priver ?
Si tu as des questions, n’hésite pas à laisser un commentaire ci-dessous. Je réponds à tout le monde, et ça peut aider d’autres e-commerçants dans la même situation que toi.
Bon business avec ton PrestaShop survitaminé ! 🚀
FAQ (Questions fréquentes)
Cloudflare est-il vraiment gratuit pour PrestaShop ?
Oui, complètement. La version gratuite de Cloudflare inclut déjà le CDN global, la protection DDoS basique, le certificat SSL et 3 Page Rules. C’est largement suffisant pour la majorité des boutiques PrestaShop. Tu ne payes rien, pas de carte bancaire demandée, pas de période d’essai. C’est gratuit, point.
Comment éviter les déconnexions du BackOffice PrestaShop ?
C’est LE problème classique avec Cloudflare. La solution est simple : va dans ton BackOffice PrestaShop > Paramètres avancés > Administration, et désactive le paramètre “Vérifier l’adresse IP des cookies”.
PrestaShop arrêtera de vérifier que ton IP reste constante entre chaque requête. Comme Cloudflare utilise plusieurs serveurs avec des IP différentes, cette vérification causait des déconnexions aléatoires. Une fois désactivée, tu ne seras plus jamais éjecté de ton admin.
Pense aussi à créer une Page Rule Cloudflare qui bypass complètement le cache et la sécurité pour ton URL d’admin (*/admin*).
Quel mode SSL choisir avec PrestaShop ?
Le mode recommandé est Full (strict). C’est le plus sécurisé : le HTTPS est activé de bout en bout (visiteur → Cloudflare → ton serveur) et Cloudflare vérifie que ton certificat SSL est valide.
Évite absolument le mode Flexible si tu as déjà activé le HTTPS dans PrestaShop. Ça crée une boucle de redirection infinie qui rend ton site inaccessible.
Si tu n’as pas encore de certificat SSL sur ton serveur, Cloudflare peut t’en générer un gratuitement dans la section SSL/TLS > Origin Server. Installe-le sur ton serveur (ou demande à ton hébergeur), puis passe en Full (strict).
4. Faut-il un module PrestaShop pour Cloudflare ?
Non, ce n’est pas obligatoire. Tu peux configurer Cloudflare manuellement et tout fonctionne très bien.
Un module peut être utile si :
Tu veux gérer les paramètres Cloudflare directement depuis ton BackOffice PrestaShop
Tu veux vider le cache Cloudflare en un clic sans te connecter au dashboard
Tu n’as pas accès SSH au serveur pour restaurer les vraies IP (le module le fait automatiquement)
Il existe des modules gratuits (GitHub Pixel-Open) et payants (SoftSprint sur les Addons PrestaShop à 49€). Mais encore une fois, ce n’est pas indispensable. Le guide que tu viens de suivre fonctionne parfaitement sans module.
Cloudflare ralentit-il mon site PrestaShop ?
Non, c’est l’inverse. Cloudflare accélère ton site PrestaShop en servant le contenu depuis des serveurs plus proches de tes visiteurs. Au lieu de charger une image depuis ton serveur à Paris quand un client est à Tokyo, l’image est servie depuis un serveur Cloudflare à Tokyo.
Le seul cas où Cloudflare peut ralentir légèrement, c’est la toute première visite d’une page (cache vide). Cloudflare doit récupérer le contenu depuis ton serveur, le mettre en cache, puis le servir. Mais toutes les visites suivantes sont ultra rapides.
Sur PrestaShop, tu peux gagner entre 40% et 60% de vitesse une fois le cache bien rempli. Les tests de charge (GTmetrix, PageSpeed Insights) montrent une amélioration nette après activation de Cloudflare.
Comment voir les vraies IP des visiteurs dans PrestaShop ?
Par défaut, avec Cloudflare activé, PrestaShop voit uniquement les IP des serveurs Cloudflare dans les logs et les statistiques. Pour récupérer les vraies IP de tes visiteurs, tu as 3 solutions :
Solution 1 (recommandée) : Configure ton serveur (Apache ou Nginx) avec mod_remoteip ou set_real_ip_from. J’ai donné les configs exactes dans la partie “Paramétrer PrestaShop pour Cloudflare” de ce guide.
Solution 2 : Installe un module PrestaShop qui lit automatiquement le header CF-Connecting-IP (module Pixel-Open gratuit ou SoftSprint payant).
Solution 3 : Modifie manuellement le fichier config/defines.inc.php de PrestaShop pour forcer la lecture du header CF-Connecting-IP.
Quelle que soit la méthode choisie, tu verras ensuite les vraies IP des visiteurs dans ton BackOffice, Google Analytics et tes logs serveur.
