» Mixed content ou contenu mixed, savoir quoi faire…

Mixed content ou contenu mixed, savoir quoi faire…

Dans le cadre du passage du site sobreal.fr en https, j'ai eu plusieurs soucis notamment du à la structure même de prestashop. En effet, ce dernier permet de passer le site en https directement via le backoffice. Bien que globalement efficace, il manque dans les scripts quelques vérifications. De plus, certains modules réalisé par d'excellents programmeurs contiennent parfois des erreurs dites bêtes car facilement évitables pour avoir une compatibilité avec https, de plus en plus préconisé voir obligatoire pour être bien vu par notre big brother Google !

Première chose à faire : chercher tous les liens http: de l'ensemble des scripts (php, js) et feuilles de style (css) et évidement style en ligne dans les balises. C'est fastidieux, mais nécessaire.

Parfois vous pouvez rencontrer des liens vers des sites emblématique comme schema.org si vous voulez mettre en place les RICH SNIPPETS qui sont incournable pour les stratégies SEO. Il se peut que le lien soit http://schema.org vous pouvez bien évidemment vérifier si https est supporté en testant dans votre navigateur https://schema.org Bingo, la plupart des sites connus sont déjà en https. Du coup, vous pouvez remplacer le http: par https, et cela continuera à fonctionner.

Une autre technique, consiste à enlever http:, ainsi votre nouveau lien devient //schema.org, le navigateur ira chercher le lien dans le bon format de site, et ne compromet pas votre cadenas de sécurité. Attention, toutefois à vérifier la composition de vos liens lorsque ces derniers sont construits dans vos scripts, on peut parfois avoir des url bizarres.

Normalement, quand tous vos liens sont propres, vous obtenez un beau cadenas vert foncé. Mais parfois vous aurez tout de même le message Mixed content dans la console de débogage. Vous avez beau vérifier dans le contenu DOM de votre navigateur, aucun lien n'est en http:, de quoi perdre ses cheveux !

Il faut savoir que même appelé en https, un fichier de type js ou css vide, ou inexistant provoque ce genre de message. Malheureusement, nos navigateurs ne vous précisent pas lesquels la plupart du temps. Il existe des outils qui crawl vos liens et trouvent ces fichiers, mais ils sont payants et la plupart du temps par abonnement. Or, ce genre d'erreur, une fois corrigée, n'évolue pas, donc c'est bête de s'abonner pour ça !

J'ai trouvé une solution, peut être pas très pratique, le site de test de performance http://www.webpagetest.org que j'utilise pour optimiser les sites au même titre que pagespeed de google. Ce site donne une indication sur le chargement de chaque lien, et les liens qui pointent vers un fichier vide ou inexistant sont en rouge (cliquez sur l'image du waterfall une fois les tests du site effectués).

Une fois les coupables désignés, il suffit soit d'enlever les appels vers les fichiers vides, soit de rajouter le fichier (non vide) au bon endroit pour que l'url pointe correctement vers ce dernier.

 

Les commentaires sont fermés.