Lorsque votre site Web est soudainement marqué par Google comme “Non sécurisé” et que les visiteurs voient une fenêtre de mise en garde lors de la connexion ou du paiement, plus de 63 % des utilisateurs fermeront immédiatement la page – cela signifie une perte de trafic et une chute spectaculaire de la confiance dans votre marque !
Dans cet article, nous proposons des solutions pratiques que vous pouvez mettre en œuvre sans compétences techniques et ramener votre site à un statut “sécurisé” en moins de 2 heures !
Table of Contens
TogglePourquoi votre site Web est-il marqué comme ‘Non sécurisé’ ?
Depuis 2018, Google impose que toutes les pages contenant des saisies utilisateur (comme les connexions, paiements, formulaires) doivent être dotées d’un certificat SSL, sinon elles sont directement marquées comme non sécurisées.
Ce qui est encore plus complexe : même si vous avez déjà installé un certificat SSL, HTTPS peut devenir invalide si le certificat a expiré (par exemple, si un certificat gratuit n’a pas été renouvelé tous les 3 mois), le domaine ne correspond pas (le site principal utilise un domaine avec “www” mais le certificat est lié à la version sans “www”), ou si des liens HTTP sont utilisés dans la page (par exemple, du code publicitaire externe).
Le protocole HTTP est une transmission “non sécurisée”
Un site e-commerce d’une chaîne hors ligne a vu ses informations d’inscription utilisateur interceptées par des hackers parce qu’il n’avait pas activé HTTPS. L’équipe technique a découvert que l’attaquant avait utilisé un simple Wi-Fi public et l’outil Wireshark pour intercepter plus de 200 mots de passe en texte clair en seulement 5 minutes.
Le problème principal :
- Le protocole HTTP transmet toutes les données (mots de passe, informations de paiement) en texte clair.
- Les pages non sécurisées sont 3,6 fois plus susceptibles d’être manipulées que les pages HTTPS (source : Rapport de sécurité Sucuri 2024).
- Google réduit le poids de référencement des pages HTTP de 15%-20% (données d’expérimentation SEMrush).
Les “détails fatals” du certificat SSL
Pendant une grande vente en 2023, un site de mode a vu sa page de paiement bloquée par le navigateur à cause d’un certificat SSL expiré, ce qui a entraîné une perte de 370 000 yuans de commandes.
- Certificat expiré : Les certificats gratuits (comme Let’s Encrypt) doivent être renouvelés tous les 90 jours, sinon ils deviennent invalides.
- Le domaine ne correspond pas : Le certificat est lié à
domain.com
, mais lorsqu’un utilisateur accède àwww.domain.com
, une alerte apparaît. - Certificat intermédiaire manquant : Ce problème affecte particulièrement les appareils Android, ce qui génère une erreur de chaîne de certificats incomplète.
Situation actuelle dans l’industrie : 43 % des sites ayant mis en place HTTPS présentent encore des erreurs de configuration du certificat (source : SSL Labs 2024).
Contenu mixte : “Une mauvaise pomme gâte tout le panier”
Un administrateur de site WordPress a signalé : “J’ai installé un certificat SSL, mais le back-office affiche toujours ‘non sécurisé’ !” Il s’est finalement rendu compte que les images liées en HTTP dans le thème polluaient toute la page.
Scénarios fréquents :
- Images dans d’anciens articles liées via HTTP (par exemple,
http://image.com/1.jpg
). - Plugins externes appelant des API non-HTTPS (par exemple, des fenêtres de chat ou des codes publicitaires).
- Liens HTTP en dur dans la base de données.
Outils d’auto-vérification :
- Appuyez sur F12 dans Chrome → Console pour voir les fichiers d’erreur spécifiques.
- Utilisez SSL Checker pour scanner l’intégrité du certificat.
Pièges cachés : Détournement de réseau régional
Dans certaines régions, les fournisseurs d’accès à Internet détournent le trafic HTTP et insèrent des publicités ou des liens de redirection. Par exemple, une entreprise du Yunnan a rapporté que des publicités de jeux de hasard apparaissaient automatiquement sur leur site – ce qui était en réalité causé par un détournement par l’ISP local.
Ce problème déclenche des mécanismes de sécurité du navigateur et amène les utilisateurs à penser que cela provient du site, ce qui a entraîné une augmentation de 280% des plaintes (source : ZhanZhangZhiJia base de données des études de cas).
Demander rapidement un certificat SSL gratuit (3 méthodes)
“Installer SSL nécessite de manipuler le serveur ? C’est trop cher ?” — C’est un malentendu qui pousse 90 % des petits et moyens propriétaires de sites à ignorer l’alerte “Non sécurisé”.
En réalité, plus de 430 millions de sites dans le monde utilisent des certificats SSL gratuits (source : BuiltWith), y compris de grandes entreprises comme Amazon et WordPress.
La sécurité d’un certificat gratuit est identique à celle des versions payantes. La différence réside uniquement dans la méthode de vérification.
1. Installation en un clic via le panneau de contrôle de l’hébergement (recommandée pour les débutants)
Convient pour : Utilisateurs de serveurs d’hébergement partagé/Cloud (par exemple, Alibaba Cloud, Tencent Cloud, SiteGround)
Étapes d’Opération:
- Connectez-vous à l’interface d’administration de l’hôte et trouvez le module « SSL/TLS » ou « Sécurité »
- Sélectionnez « Certificat gratuit » et cochez les noms de domaine à sécuriser (prend en charge l’opération par lots)
- Cliquez sur « Déployer » et attendez 3-5 minutes pour que l’activation soit automatique
Taux de réussite:98% (Les principaux hôtes chinois ont déjà installé l’environnement compatible)
Avantages:Aucune compétence technique requise, renouvellement automatique, taux d’échec proche de zéro
Points à éviter:
- Certains hôtes limitent le nombre de certificats gratuits (par exemple, West Digital n’offre qu’un seul certificat)
- Assurez-vous que la résolution DNS de votre domaine est liée à l’IP du serveur actuel
2. Let’s Encrypt + Certbot (Recommandé par les développeurs)
Scénarios d’utilisation:Serveur dédié (comme Nginx/Apache), besoin de gérer plusieurs domaines
Exemple testé:Un blog avec plus de 100 000 visites par jour, crypte 100 sous-domaines en 3 minutes en utilisant la ligne de commande
Processus d’opération:
# Installer Certbot (exemple avec Ubuntu + Nginx)
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
# Demander et configurer automatiquement le certificat (remplacez yourdomain.com)
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
# Activer le renouvellement automatique (validité de 90 jours)
sudo certbot renew --dry-run
Taux de réussite:92% (Dépend de la configuration de l’environnement du serveur)
Résolution des erreurs courantes:
Failed to connect to host for DVSNI challenge
→ Vérifiez si les ports 80/443 sont ouverts dans le pare-feuThe server experienced an internal error
→ La résolution DNS n’est pas encore appliquée, attendez la mise à jour du DNS
3. HTTPS fourni par les services CDN (accélération du trafic + cryptage en un)
Plateformes prises en charge:Cloudflare, Baidu Cloud Acceleration, Tencent Cloud CDN
Illustration de l’opération (exemple avec Cloudflare):
- Inscrivez-vous et ajoutez votre domaine de site web
- Dans la section « SSL/TLS », sélectionnez le mode « Flexible » (forcer HTTPS sur l’ensemble du site)
- Activez « Always Use HTTPS » et « Automatic HTTPS Rewrites »
Temps de prise en compte:Immédiat (appliqué instantanément sur tous les nœuds mondiaux)
Avantages principaux:
- Aucun certificat nécessaire sur le serveur d’origine, les nœuds CDN chiffrent automatiquement
- Compatible avec les anciens serveurs HTTP, résout parfaitement le problème du contenu mixte
- Le plan gratuit prend en charge les certificats de domaine générique (*.domain.com)
Solutions aux restrictions
Condition | Impact | Solution |
---|---|---|
Durée de validité courte | Let’s Encrypt n’est valide que 90 jours | Configurez le renouvellement automatique (tâche cron pour un planificateur de tâches) |
Vérification uniquement de la propriété du domaine | Le nom de l’entreprise n’est pas affiché dans la barre d’adresse | Les sites Web d’entreprise peuvent passer à un certificat OV (à partir de 300 ¥/an) |
Limité à un seul domaine | Certains hôtes limitent le nombre de domaines associés | Utilisez un certificat de domaine générique (*.domain.com) |
Problèmes de contenu mixte à vérifier absolument
„Pourquoi mon site est-il toujours marqué comme non sécurisé alors qu’un certificat SSL est installé ?” — C’est la plus grande confusion rencontrée par 78% des webmasters après avoir configuré HTTPS (source : SSL Labs).
La cause principale est le « contenu mixte » (Mixed Content), qui, comme une goutte d’encre dans un verre d’eau claire, perturbe le statut de cryptage de toute la page.
1. L’impact mortel du contenu mixte
- Perte de confiance des utilisateurs : Même si le site est sécurisé, le navigateur affichera toujours un avertissement triangulaire jaune (depuis la version 94 de Chrome, il devient rouge)
- Fonctionnalités cassées : Certains navigateurs vont bloquer les ressources HTTP (comme les images ne se chargent pas, erreurs de script JavaScript)
- Sanction SEO : Google marque les pages avec du contenu mixte comme „partiellement sécurisé” et baisse le classement de recherche d’environ 11%-15% (données expérimentales de Ahrefs)
2. Localiser la cause en 3 minutes
Méthode 1 : Outils de développement Chrome
- Ouvrez le site et appuyez sur F12 pour accéder aux outils de développement
- Passez au panneau Console et vérifiez les erreurs en rouge
- Cliquez sur le lien dans le message d’erreur pour accéder directement au panneau Sources et localiser le code problématique
Méthode 2 : Outils de scan tiers
- Why No Padlock : Entrez l’URL et générez une liste des ressources problématiques en 5 secondes
- Jitbit SSL Check : Scan approfondi des liens intégrés CSS/JS
Méthode 3 : Recherche globale dans la base de données
Pour des systèmes de construction de sites comme WordPress/Shopify, vous devez vérifier le contenu historique dans la base de données :
-- Recherche de liens HTTP (remplacez your_db_prefix par le préfixe réel de la table)
SELECT * FROM your_db_prefix_posts
WHERE post_content LIKE '%http://%' AND post_status='publish';
3. Sources courantes de contenu mixte et solutions
Type de problème | Proportion | Scénarios typiques | Solutions |
---|---|---|---|
Liens d’images externes | 52% | Images téléchargées avant 2018 | Téléchargez l’image → Téléchargez-la sur votre CDN |
Code tiers | 23% | Fenêtres de chat, scripts de réseaux publicitaires | Contactez le fournisseur pour obtenir la version HTTPS du code |
Thèmes/Plugins | 17% | Bibliothèques de polices dans les anciens thèmes, requêtes AJAX | Mettre à jour les plugins ou remplacer manuellement http:// par // |
Codage durci dans la base de données | 8% | Liens vidéo insérés manuellement sur les pages de détails produits | Remplacer en masse les données SQL (plus sûr avec un plugin) |
4. Stratégie de défense permanente contre le contenu mixte
- Liens relatifs au protocole : Changez
http://example.com/image.jpg
en//example.com/image.jpg
- Content Security Policy (CSP) : Ajoutez ceci dans la configuration Nginx/Apache :
add_header Content-Security-Policy "upgrade-insecure-requests";
Forcer la redirection vers HTTPS sur l’ensemble du site (exemple de code)
„Pourquoi les utilisateurs peuvent-ils encore accéder à la version HTTP après l’installation d’un certificat ?“ — C’est la faille la plus critique après avoir résolu les problèmes de contenu mixte.
Un site e-commerce pour bébés a vu 40 % de ses utilisateurs mobiles continuer à accéder aux pages HTTP via de vieux liens, déclenchant une capture répétée par Google, et son classement dans les recherches a chuté de 30 %.
La logique centrale de la redirection forcée est la suivante : intercepter toutes les requêtes HTTP et les rediriger définitivement vers HTTPS avec un code d’état 301.
1. Modèle de code générique (compatible avec Apache/Nginx/IIS)
Serveur Apache (.htaccess)
RewriteEngine On
# Forcer la redirection vers le domaine principal
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Corriger l'utilisation mixte de www et non-www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Cas d’utilisation: Hébergement virtuel, WordPress, Joomla et autres sites PHP
Conseils pour éviter les erreurs:
- Assurez-vous que le module
mod_rewrite
est activé sur le serveur - Le fichier doit être téléchargé dans le répertoire racine du site web
- Si la redirection échoue, vérifiez s’il y a un conflit entre plusieurs fichiers
.htaccess
Serveur Nginx (section de configuration nginx.conf)
server {
listen 80;
server_name example.com www.example.com;
# Redirection 301 pour tout le site
return 301 https://$server_name$request_uri;
# Interdiction des méthodes HTTP non nécessaires
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 444;
}
}
Conseils de débogage:
- Après avoir modifié, exécutez
nginx -t
pour tester la syntaxe de la configuration - Rechargez la configuration :
nginx -s reload
- Interdisez les méthodes HTTP non nécessaires pour éviter les fuites de données
Serveur Windows IIS (règle web.config)
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Force HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Erreurs fréquentes:
- IIS n’a pas installé le module « URL Rewrite » → Téléchargement officiel
- Erreur d’encodage des chemins en chinois → Ajoutez
encode="false"
dans la règle
2. Solution spécifique au CMS
Utilisateurs de WordPress
- Connectez-vous à l’interface d’administration → Paramètres → Général
- Changez l’adresse WordPress et l’adresse du site de
http://
àhttps://
- Installez le plugin Really Simple SSL → Réparez les contenus mixtes dans la base de données en un clic
Shopify/Laravel et autres frameworks
Forcez HTTPS dans le fichier des variables d’environnement (.env
) :
APP_URL=https://www.example.com
FORCE_SSL=true
SESSION_SECURE_COOKIE=true
3. Traitement spécial pour les appareils mobiles (AMP/Navigateur WeChat)
- Redirection AMP : Ajoutez
<meta http-equiv="refresh" content="0; url=https://lien-nouveau">
dans le HTML AMP - Problème de cache WeChat : Ajoutez un paramètre aléatoire à la fin de l’URL, comme
?v=2024
, pour forcer le rafraîchissement de la version HTTPS
4. Tester si la redirection fonctionne
Test dans le navigateur :
- Accédez à
http://example.com
→ La barre d’adresse devrait automatiquement changer enhttps://
- Vérifiez si l’icône du cadenas après la redirection est verte
Vérification via la ligne de commande :
curl -I http://example.com
# La réponse correcte doit inclure :
# HTTP/1.1 301 Moved Permanently
# Location: https://example.com
Outils en ligne :
Alerte d’erreur :
Configuration incorrecte → Boucle de redirection infinie (ERR_TOO_MANY_REDIRECTS)
Causes courantes :
1. Le CDN active la redirection HTTPS en même temps (conflit avec les règles du serveur)
2. L'équilibreur de charge ne transmet pas correctement l'en-tête du protocole
Solution :
Ajoutez dans la configuration Nginx :
proxy_set_header X-Forwarded-Proto $scheme;
Principes de redirection SEO-friendly :
- Utilisez des redirections 301 (redirection permanente) sur l’ensemble du site pour transférer 100% de la valeur des liens
- Évitez les redirections en chaîne (par exemple, http→http://www→https) ; autorisez au maximum 1 redirection
- Soumettez le sitemap HTTPS dans Google Search Console
Google a progressivement ajouté HTTPS en tant que facteur de classement depuis 2018. Les sites non chiffrés perdent en moyenne 12%-15% du trafic chaque année, et cette perte s’aggrave à mesure que la prise de conscience de la sécurité chez les utilisateurs augmente.