Comment résoudre un site web marqué “Non sécurisé” par Google

本文作者:Don jiang

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 !

Comment gérer le statut 'Non sécurisé' de Google

Pourquoi 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.

  1. Certificat expiré : Les certificats gratuits (comme Let’s Encrypt) doivent être renouvelés tous les 90 jours, sinon ils deviennent invalides.
  2. Le domaine ne correspond pas : Le certificat est lié à domain.com, mais lorsqu’un utilisateur accède à www.domain.com, une alerte apparaît.
  3. 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

  1. Connectez-vous à l’interface d’administration de l’hôte et trouvez le module « SSL/TLS » ou « Sécurité »
  2. Sélectionnez « Certificat gratuit » et cochez les noms de domaine à sécuriser (prend en charge l’opération par lots)
  3. 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

bash
# 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-feu
  • The 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)

  1. Inscrivez-vous et ajoutez votre domaine de site web
  2. Dans la section « SSL/TLS », sélectionnez le mode « Flexible » (forcer HTTPS sur l’ensemble du site)
  3. 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

ConditionImpactSolution
Durée de validité courteLet’s Encrypt n’est valide que 90 joursConfigurez le renouvellement automatique (tâche cron pour un planificateur de tâches)
Vérification uniquement de la propriété du domaineLe nom de l’entreprise n’est pas affiché dans la barre d’adresseLes sites Web d’entreprise peuvent passer à un certificat OV (à partir de 300 ¥/an)
Limité à un seul domaineCertains hôtes limitent le nombre de domaines associésUtilisez 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

  1. Ouvrez le site et appuyez sur F12 pour accéder aux outils de développement
  2. Passez au panneau Console et vérifiez les erreurs en rouge
  3. 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 :

sql
-- 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èmeProportionScénarios typiquesSolutions
Liens d’images externes52%Images téléchargées avant 2018Téléchargez l’image → Téléchargez-la sur votre CDN
Code tiers23%Fenêtres de chat, scripts de réseaux publicitairesContactez le fournisseur pour obtenir la version HTTPS du code
Thèmes/Plugins17%Bibliothèques de polices dans les anciens thèmes, requêtes AJAXMettre à jour les plugins ou remplacer manuellement http:// par //
Codage durci dans la base de données8%Liens vidéo insérés manuellement sur les pages de détails produitsRemplacer 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 :
nginx
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)

apache
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)

nginx
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)

xml
<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

  1. Connectez-vous à l’interface d’administration → Paramètres → Général
  2. Changez l’adresse WordPress et l’adresse du site de http:// à https://
  3. 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) :

bash
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 en https://
  • Vérifiez si l’icône du cadenas après la redirection est verte

Vérification via la ligne de commande :

bash
curl -I http://example.com  
# La réponse correcte doit inclure :  
# HTTP/1.1 301 Moved Permanently  
# Location: https://example.com  

Outils en ligne :

  1. Redirect Checker
  2. Varvy SSL Test

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.