bg-tutorials

Comment installer un certificat SSL sur PrestaShop et activer HTTPS

Passer une boutique PrestaShop en HTTPS se fait en trois étapes : installer un certificat SSL sur votre serveur, activer deux paramètres dans Paramètres de la boutique, et rediriger l’ancien trafic HTTP. C’est la deuxième étape qui pose problème à la plupart des gens, car PrestaShop possède deux paramètres SSL au lieu d’un seul, et le second reste verrouillé jusqu’à ce que le premier soit enregistré.

Réponse rapide : une fois un certificat opérationnel installé sur votre serveur, ouvrez Paramètres de la boutique > Général, cliquez sur le lien qui vérifie si votre boutique prend en charge HTTPS, réglez Activer SSL sur Oui, puis réglez Activer SSL sur toutes les pages sur Oui, faites défiler jusqu’en bas de la page et cliquez sur Enregistrer. Si le second interrupteur est grisé, c’est que le premier n’a pas encore été enregistré.

Le SSL (Secure Sockets Layer, bien que les certificats délivrés aujourd’hui utilisent tous TLS) est ce qui active le cadenas dans la barre d’adresse de votre boutique et permet aux passerelles de paiement de fonctionner. Si vous souhaitez d’abord comprendre les bases, lisez qu’est-ce qu’un certificat SSL. Ces étapes couvrent PrestaShop 8 et PrestaShop 9.

Quelle méthode convient à votre configuration PrestaShop

Votre configurationComment obtenir le certificatDurée approximative
Hébergement géré ou cPanel avec AutoSSLDélivrez le certificat gratuit dans le panneau, puis activez SSL dans PrestaShop10 minutes
Votre propre VPS, sans panneau d’hébergementCertbot pour un certificat Let’s Encrypt20 minutes
Certificat payant (OV, EV ou wildcard)Générer une CSR, installer manuellement30 minutes plus la validation
Cloudflare devant la boutiqueCertificat sur l’origine, Cloudflare réglé sur Full (strict)15 minutes

Sauvegardez la boutique et la base de données avant de commencer. Sur une boutique en production, faites cela hors des heures de pointe : chaque minute où le paiement est indisponible représente une commande perdue.

Quel certificat SSL une boutique PrestaShop doit-elle utiliser ?

Un certificat gratuit chiffre le trafic exactement aussi bien qu’un certificat payant, et pour une petite boutique, c’est souvent la bonne réponse. Ce qui diffère entre un certificat SSL PrestaShop et un autre, c’est ce que l’autorité de certification a vérifié avant de le délivrer, et ce qui le garantit en cas de problème.

TypeCe que l’AC vérifieDélai de délivranceConvient à
Validation de domaine (DV)Que vous contrôlez le domaineQuelques minutesPetites boutiques, boutiques utilisant une page de paiement hébergée
Validation d’organisation (OV)Le domaine ainsi que votre société enregistrée1 à 3 jours ouvrésBoutiques établies, B2B, tout contexte où les acheteurs vérifient à qui ils paient
Validation étendue (EV)Une vérification juridique et opérationnelle complète de l’entreprise1 à 3 jours ouvrésValeurs de commande plus élevées, finance, boutiques traitant directement les données de carte

Le e-commerce modifie le calcul entre gratuit et payant d’une manière qui ne s’applique pas à un blog. Les certificats payants incluent une garantie couvrant les pertes en cas de défaillance du certificat lui-même, ainsi qu’un sceau de site que vous pouvez afficher lors du paiement. Les certificats gratuits n’offrent ni l’un ni l’autre, et ils ne sont que de type Validation de domaine, ce qui ne prouve rien quant à l’identité de l’exploitant de la boutique.

Deux points supplémentaires spécifiques à PrestaShop. Si vous utilisez le mode multi-boutique sur plusieurs sous-domaines, un certificat wildcard les couvre tous avec un seul certificat au lieu d’un par boutique. Et quel que soit votre choix, HTTPS n’est pas optionnel ici : les passerelles de paiement ne traiteront pas de transactions réelles en HTTP simple, et la norme PCI DSS exige une cryptographie forte, en pratique TLS 1.2 ou supérieur, sur toute page transmettant des données de carte. Si vous ne savez pas quel type choisir, l’Assistant SSL vous aide à le déterminer.

Installer le certificat sur votre serveur

PrestaShop n’installe pas les certificats. Cela se fait d’abord au niveau du serveur, et PrestaShop ne vous montrera même pas l’interrupteur Activer SSL avant que vous puissiez accéder à votre back-office en HTTPS.

  • Depuis votre panneau d’hébergement. Recherchez SSL/TLS, Let’s Encrypt ou AutoSSL. Sur cPanel, cela se trouve sous Sécurité. Délivrez le certificat à la fois pour le domaine racine et sa version www.
  • Sur un VPS. Utilisez Certbot, qui délivre le certificat depuis la ligne de commande et configure son propre renouvellement automatique.
  • Un certificat payant. Générez une CSR avec notre générateur de CSR ou les guides CSR, complétez la validation, puis installez le certificat, la clé privée et les certificats intermédiaires. Sur cPanel, cela se trouve dans SSL/TLS > Manage SSL sites, expliqué dans le guide d’installation cPanel. Les autres plateformes sont couvertes dans les guides d’installation SSL.

Les certificats Let’s Encrypt durent 90 jours et se renouvellent automatiquement environ 30 jours avant leur expiration. Lorsque cette automatisation échoue, la boutique continue de fonctionner pendant des semaines puis devient soudainement non sécurisée sans avertissement, généralement en plein milieu d’une vente. Vérifiez que le renouvellement automatique est activé, et contrôlez le certificat après la première date de renouvellement prévue avec l’SSL Checker.

Un piège qui compte plus sur une boutique que partout ailleurs : installez le certificat sans ses certificats intermédiaires et votre navigateur affichera quand même un cadenas, car les navigateurs de bureau mettent en cache les certificats intermédiaires déjà rencontrés ailleurs. Votre passerelle de paiement, elle, ne le fera pas. Une boutique qui semble fonctionner mais échoue au moment du retour de paiement est très souvent due à une chaîne de certification incomplète.

Comment activer SSL dans PrestaShop

PrestaShop possède deux paramètres SSL, pas un seul, et l’ordre est important :

  • Activer SSL sécurise uniquement les pages de paiement et de compte. C’est le comportement historique par défaut de PrestaShop, datant de l’époque où les boutiques servaient la plupart des pages en HTTP et ne chiffraient que les pages sensibles.
  • Activer SSL sur toutes les pages sécurise l’ensemble de la boutique. Ce paramètre reste grisé jusqu’à ce que Activer SSL soit activé et enregistré.

Vous voulez les deux. Voici la séquence complète :

  1. Ouvrez Paramètres de la boutique > Général dans le back-office. Les tutoriels rédigés pour PrestaShop 1.6 appellent cela Préférences > Général ; le menu a été renommé en 1.7 mais le paramètre reste identique.
  2. Cliquez sur « Veuillez cliquer ici pour vérifier si votre boutique prend en charge HTTPS ». Ce lien recharge le back-office en HTTPS. PrestaShop ne l’affiche que lorsque vous consultez le back-office en HTTP simple, donc si vous administrez déjà votre boutique en HTTPS, vous ne le verrez pas et pourrez passer directement à l’étape suivante.
  3. Réglez Activer SSL sur Oui.
  4. Réglez Activer SSL sur toutes les pages sur Oui.
  5. Faites défiler jusqu’en bas de la page.
  6. Cliquez sur Enregistrer. Rien ne prend effet avant cela.
Paramètres Activer SSL et Activer SSL sur toutes les pages dans les Paramètres de la boutique PrestaShop

Ces instructions s’appliquent à PrestaShop 8 et PrestaShop 9. Les versions 9.1.4 et 8.2.7 étaient les versions actuelles en juin 2026. PrestaShop 1.7 fonctionne de la même manière, mais sa maintenance a pris fin lorsque PrestaShop 9.0 est sorti en juin 2025 ; il ne reçoit donc plus de correctifs de sécurité, et une mise à niveau devrait figurer sur votre liste de tâches. La version 1.6 utilise les anciens noms de menu.

Pourquoi l’interrupteur Activer SSL est grisé

C’est le problème SSL PrestaShop le plus courant. Avant tout, vérifiez lequel des deux symptômes vous rencontrez réellement.

Si Activer SSL n’apparaît pas du tout sur la page, c’est que vous consultez le back-office en HTTP simple. PrestaShop n’affiche cet interrupteur que sur une connexion sécurisée, donc sur un back-office en http://, vous obtenez à la place le lien de vérification HTTPS, sans interrupteur. Accédez à votre back-office via une adresse en https://, en cliquant sur ce lien ou en saisissant l’adresse, et l’interrupteur apparaîtra.

Si Activer SSL sur toutes les pages est visible mais grisé, examinez ces trois causes dans l’ordre.

1. Vous n’avez pas encore enregistré

De loin la cause la plus fréquente. Vous activez Activer SSL, regardez Activer SSL sur toutes les pages, le voyez toujours grisé, et concluez que quelque chose est cassé. Ce n’est pas le cas : le second paramètre ne se déverrouille qu’une fois le premier enregistré. Faites défiler jusqu’en bas de la page, cliquez sur Enregistrer, et la page se recharge avec le second interrupteur actif. Le suivi de problèmes officiel de PrestaShop mentionne ce cas sous le titre « Enabling Https/ssl is quite confusing », donc si cela vous a piégé, vous n’êtes pas seul.

2. La vérification HTTPS a échoué

Si le back-office ne se charge pas du tout en HTTPS, ou si votre navigateur affiche un avertissement lorsqu’il le fait, le problème vient du certificat et non de PrestaShop. Raisons courantes : le certificat n’est pas encore installé, il couvre www alors que vous naviguez sur le domaine racine (ou l’inverse), ou il est installé sans ses certificats intermédiaires. Exécutez le SSL Checker sur le domaine exact figurant dans l’URL de votre boutique et corrigez ce qui est signalé avant de retourner au back-office.

3. Le définir dans la base de données

Si le certificat est confirmé comme fonctionnel et que l’interrupteur reste bloqué, les deux paramètres sont stockés dans la table ps_configuration et peuvent être définis directement. Dans phpMyAdmin ou tout client SQL :

UPDATE ps_configuration SET value = 1 WHERE name = 'PS_SSL_ENABLED';
UPDATE ps_configuration SET value = 1 WHERE name = 'PS_SSL_ENABLED_EVERYWHERE';

Adaptez le préfixe de table si le vôtre n’est pas le ps_ par défaut, puis videz le cache. Pour l’inverser, par exemple si un certificat défectueux vous a bloqué l’accès à votre propre back-office, exécutez les mêmes deux instructions avec 0 au lieu de 1.

Rediriger HTTP vers HTTPS dans PrestaShop

Une fois les deux paramètres enregistrés, PrestaShop répond déjà aux requêtes HTTP pour les pages de la boutique par une redirection 301 vers leur adresse HTTPS, afin que les anciens liens et les URL indexées ne soient pas laissés en rade. Cela ne couvre cependant que les requêtes qui atteignent réellement PrestaShop. Les fichiers servis directement depuis le disque, comme les images, les PDF et tout ce qui se trouve sous /img/ ou /upload/, ne sont pas redirigés, et les requêtes POST non plus. Une règle au niveau du serveur couvre tout cela, et redirige sans lancer PHP à chaque fois.

Lisez ceci avant de modifier quoi que ce soit. PrestaShop génère son propre fichier .htaccess, et l’enregistrement de Paramètres de la boutique > Trafic et SEO > SEO et URLs le réécrit. Il n’efface pas le fichier entier. PrestaShop remplace uniquement le bloc situé entre ses deux commentaires marqueurs, # ~~start~~ et # ~~end~~, et conserve tout ce qui se trouve au-dessus ou en dessous, ce que la ligne de marqueur indique elle-même. Placez donc vos règles en dehors de ce bloc, et elles survivront à chaque régénération. Tout ce qui est collé à l’intérieur disparaît au prochain enregistrement de cette page.

Sur Apache, ajoutez ceci à .htaccess à la racine de votre boutique, au-dessus de la ligne # ~~start~~ :

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

La condition doit indiquer off, ce qui signifie « rediriger lorsque la requête n’est pas déjà sécurisée ». Le drapeau R=301 est ce qui rend la redirection permanente ; sans lui, vous obtenez une redirection temporaire qui n’indique aux moteurs de recherche que rien n’a bougé.

Sur Nginx, il n’y a pas de .htaccess. Modifiez plutôt le bloc serveur :

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

Testez avec nginx -t, puis rechargez avec systemctl reload nginx.

Corriger ce que le basculement laisse derrière lui

Videz le cache de PrestaShop. Faites-le en premier. Une boutique mise en cache continuera de servir des pages remplies de balisage HTTP, ce qui donnera l’impression qu’un basculement pourtant terminé est cassé. Videz également votre CDN si vous en utilisez un.

Corrigez le contenu mixte. Une page servie en HTTPS qui charge encore une image, un script ou une feuille de style en HTTP constitue du contenu mixte. Les navigateurs mettent silencieusement à niveau certaines ressources, principalement les images et les médias, mais refusent catégoriquement les autres, ce qui explique qu’une page concernée puisse s’afficher sans style. Sur PrestaShop, les sources habituelles sont les URL codées en dur dans les pages CMS, la configuration des modules, et les descriptions de produits copiées depuis ailleurs. La console du navigateur indique le fichier fautif. Notre guide sur comment corriger le contenu mixte détaille le diagnostic.

Régénérez votre sitemap pour qu’il liste des URL en https, et vérifiez qu’aucun module n’écrit encore des liens http dans les e-mails ou les factures.

Résoudre les problèmes SSL de PrestaShop

SymptômeCauseSolution
Boucle de redirection infinie après activation de SSLMode de chiffrement Cloudflare réglé sur Flexible, ce qui envoie du HTTP à votre origine alors que votre origine redirige vers HTTPSRéglez Cloudflare sur Full (strict) et conservez un certificat valide sur l’origine
Accès au back-office bloquéSSL activé alors que le certificat est défectueux ou absentRéglez les deux clés sur 0 dans ps_configuration, corrigez le certificat, réessayez
Cadenas absent uniquement sur les pages produitContenu mixte, généralement une image de produit ou un asset de moduleTrouvez la ressource HTTP dans la console du navigateur
La boutique est devenue non sécurisée des semaines plus tardUn certificat Let’s Encrypt a expiré parce que le renouvellement a échouéRedélivrez, puis confirmez le renouvellement automatique. Voir certificats intermédiaires expirés
Navigateur correct, mais échec du paiement ou du retour de paiementChaîne de certification incomplèteInstallez le pack complet de l’AC, revérifiez avec le SSL Checker
Incohérence de nom sur www ou le domaine racineLe certificat ne couvre que l’un des deux nomsRedélivrez en couvrant les deux. Voir nom commun invalide

Si le certificat est installé et que la boutique est toujours signalée comme non sécurisée, les guides d’erreurs SSL traitent des codes d’erreur spécifiques aux navigateurs.

Après le basculement : liste de vérification SEO

  • Ajoutez la propriété HTTPS dans Google Search Console. Une propriété HTTP ne fournit pas de rapports sur les URL HTTPS. Ajoutez la nouvelle, ou utilisez une propriété de domaine couvrant les deux.
  • Soumettez à nouveau le sitemap avec des URL en https.
  • Vérifiez que les balises canoniques pointent vers https sur les pages produit et catégorie.
  • Mettez à jour les flux Merchant Center, l’analytique et toute intégration de marketplace qui stocke l’URL de votre boutique. Les flux de produits contenant des liens http sont une source fréquente de rupture négligée.

Attendez-vous à un peu de mouvement. Google traite un passage de HTTP à HTTPS comme un déménagement de site avec changement d’URL, donc les impressions se répartissent pendant un moment entre vos deux propriétés Search Console et les classements fluctuent pendant quelques semaines. Tant que chaque URL se résout correctement et que les redirections 301 sont en place, il n’y a rien à corriger.

Une fois HTTPS stable depuis un certain temps, envisagez HSTS, qui indique aux navigateurs de refuser le HTTP simple pour votre domaine. Laissez la directive preload désactivée au départ, car elle est difficile à annuler.

Questions fréquentes

Comment activer SSL dans PrestaShop ?

Installez d’abord un certificat sur votre serveur, puis ouvrez Paramètres de la boutique > Général dans le back-office, cliquez sur le lien qui vérifie si votre boutique prend en charge HTTPS, réglez Activer SSL sur Oui, réglez Activer SSL sur toutes les pages sur Oui, et cliquez sur Enregistrer en bas de la page. PrestaShop ne délivre pas lui-même de certificats.

Pourquoi le bouton Activer SSL est-il grisé dans PrestaShop ?

Vérifiez d’abord si l’interrupteur est grisé ou totalement absent. Si Activer SSL est absent, vous consultez le back-office en HTTP simple et PrestaShop n’affiche cet interrupteur que sur une connexion sécurisée ; rechargez donc le back-office via une adresse https://. Si Activer SSL sur toutes les pages est grisé, il y a trois raisons possibles, par ordre de probabilité. Vous n’avez pas fait défiler et enregistré, donc le second paramètre n’a pas encore été déverrouillé. Ou la vérification HTTPS de PrestaShop a échoué parce que le certificat est absent, ne couvre pas le domaine utilisé, ou est installé sans ses certificats intermédiaires. Ou le paramètre est bloqué, auquel cas vous pouvez définir PS_SSL_ENABLED et PS_SSL_ENABLED_EVERYWHERE sur 1 directement dans la table ps_configuration.

Quelle est la différence entre Activer SSL et Activer SSL sur toutes les pages ?

Activer SSL ne sécurise que les pages de paiement et de compte client, ce qui était l’approche standard lorsque les boutiques servaient tout le reste en HTTP. Activer SSL sur toutes les pages sécurise l’ensemble de la boutique. La seconde option n’est disponible qu’une fois la première activée et enregistrée. Sur une boutique moderne, vous voulez les deux.

Où se trouve le paramètre SSL dans PrestaShop ?

Paramètres de la boutique > Général dans le back-office. Les anciens tutoriels rédigés pour PrestaShop 1.6 appellent le même écran Préférences > Général, le menu ayant été renommé en version 1.7.

Comment désactiver SSL dans PrestaShop ?

Remettez les deux interrupteurs sur Non dans Paramètres de la boutique > Général et enregistrez. Si un certificat défectueux vous a bloqué l’accès au back-office, exécutez les deux mêmes instructions ps_configuration indiquées plus haut avec 0 au lieu de 1, puis videz le cache. Désactiver SSL est une mesure temporaire en attendant de corriger un certificat, pas une solution : les passerelles de paiement ne fonctionneront pas sans HTTPS.

Ai-je besoin d’un certificat SSL payant pour une boutique PrestaShop ?

Pas techniquement. Un certificat gratuit de Validation de domaine chiffre le paiement exactement aussi bien qu’un certificat payant, et satisfait les passerelles de paiement. Un certificat payant ajoute une garantie couvrant les pertes en cas de défaillance du certificat, un sceau de site pour le paiement, des informations d’entreprise vérifiées à l’intérieur du certificat avec OV ou EV, et une couverture wildcard plus simple si vous exploitez plusieurs boutiques sur des sous-domaines.

À quelles versions de PrestaShop ces étapes s’appliquent-elles ?

PrestaShop 8 et PrestaShop 9, avec les versions 9.1.4 et 8.2.7 actuelles en juin 2026. PrestaShop 1.7 utilise les mêmes paramètres au même endroit, mais n’est plus maintenu depuis la sortie de PrestaShop 9.0 en juin 2025. PrestaShop 1.6 appelle l’écran Préférences > Général au lieu de Paramètres de la boutique > Général.

Vous passez une autre plateforme en HTTPS, ou souhaitez connaître la procédure générale ? Consultez notre guide sur comment passer un site de HTTP à HTTPS.

Economisez 10% sur les certificats SSL en commandant aujourd’hui!

Émission rapide, cryptage puissant, confiance de 99,99 % du navigateur, assistance dédiée et garantie de remboursement de 25 jours. Code de coupon: SAVE10

Image détaillée d'un dragon en vol
Rédigé par

Rédacteur de contenu expérimenté spécialisé dans les certificats SSL. Transformer des sujets complexes liés à la cybersécurité en un contenu clair et attrayant. Contribuer à l'amélioration de la sécurité numérique par des récits percutants.