Considérez une page, http://example.com
qui peut être consultée publiquement et lorsqu'un utilisateur s'authentifie. Supposons maintenant que vous activez HTTPS pour chaque page lorsqu'un utilisateur se connecte à votre site Web, mais uniquement lorsqu'il est connecté. Votre page http://example.com
devient désormais accessible https://example.com
à tous les utilisateurs connectés. Si cet utilisateur connecté aime votre page et décide de s'y connecter via un article de blog ou un site Web de médias sociaux, il y a de fortes chances qu'il utilise la version HTTPS de l'URL.
Du point de vue du référencement, quelle est votre stratégie pour éviter les problèmes de contenu en double entre les deux URL?
Que doit-il se passer si un utilisateur arrive à l'URL HTTPS mais ne s'est pas connecté ou n'a pas de compte? Devrait-il y avoir une redirection vers la version HTTP? Si oui, comment le géreriez-vous?
Mon instinct est que pour toutes les pages qui peuvent être consultées à la fois publiquement et lorsque vous êtes connecté, la page doit d'abord détecter si l'utilisateur est connecté. S'il est connecté, il reste HTTPS ou utilise une redirection 302 de la version HTTP vers HTTPS. Si l'utilisateur n'est pas connecté et arrive à la version HTTPS de l'URL, il utilise une redirection 301 vers la version HTTP. Cependant, je souhaiterais une solution plus élégante ou efficace.
Edit : je supposais que si un utilisateur est connecté, chaque URL devrait être HTTPS (ou au moins, cela devrait être une option), mais comme j'ai fait un peu plus de recherche, cette hypothèse était peut-être erronée. La façon dont je vois les gens l'implémenter, c'est qu'ils n'activent le HTTPS que pour les pages qui envoient et reçoivent des données sensibles: connexion, paiement du panier, gestion du profil utilisateur, etc. J'essaie de déterminer quel modèle est le meilleur.
Apparemment, Google Mail donne aux utilisateurs la possibilité d'utiliser ou non HTTPS sur chaque page via un paramètre dans le profil de l'utilisateur. C'est certainement une option, mais je devrais encore aborder le comportement des pages accessibles au public pour tous les états d'authentification.
Parce que je construis un système de gestion de contenu qui sera utilisé par d'autres personnes, je dois m'assurer de bien faire les choses. Quels paramètres doivent être disponibles pour le propriétaire du site? À ce stade, je pense à un contrôle granulaire sur chaque page (qu'elle soit sécurisée ou non par SSL), puis sur l'ensemble du site. Cependant, donner ce niveau de contrôle peut être une erreur si les gens ne comprennent pas tous les problèmes et peuvent finir par causer des problèmes de sécurité. C'est peut-être là le premier problème. Quels sont les niveaux de contrôle appropriés et quels sont les paramètres par défaut intelligents? La seconde est la façon dont les pages doivent se comporter pour l'utilisateur. Du point de vue du référencement, je pense que le processus que j'ai décrit ci-dessus ou en utilisant lerel="canonical"
(comme jmb l'a suggéré) fonctionnerait, mais il est également essentiel de définir le comportement de la page afin qu'elle soit sécurisée et transparente.
Il n'y a pas de stratégie de référencement pour les pages SSL. Une partie de la définition de la mise en cache est la suivante:
If the request is authenticated or secure (i.e., HTTPS), it won’t be cached.
voir: tutoriel de mise en cache
Donc, afin d'éviter le chevauchement avec des pages non SSL où cela peut nuire au classement, il faut avoir vos pages sensibles à SSL sur des URL complètement différentes.
Ironiquement, j'ai vu des moteurs de recherche stocker et conserver des liens avec l'URL HTTPS qu'ils contiennent. Cela est contraire à ce qui devrait normalement se produire, mais cela se produit dans les cas où la page est une zone de connexion, la page d'accueil ou une réécriture du pragma de cache pour permettre la mise en cache. Je dirais d'éviter cela si possible, car votre page tombera généralement dans le PageRank.
la source
La redirection 302 ne transfère pas le classement de recherche - vous risquez donc de perdre le classement de recherche si vous massifiez votre site.
301 peut changer les définitions de signets, je ne voudrais pas constamment mes utilisateurs.
Assurez-vous également que la version http comprend un formulaire de connexion afin que l'utilisateur puisse rapidement revenir à la version https.
Maintenant, les grandes questions sont - si les données sont visibles sur http, pourquoi avez-vous une version https? Quelles données cachez-vous avec le cryptage https qui n'est pas déjà disponible?
Vous pouvez créer une zone membre https ou publier des formulaires dans l'URL https à partir de la page http ou de nombreuses autres options qui n'incluent pas d'avoir le site entier sur http et https.
En dehors de cela, votre idée semble réalisable - mais je n'ai aucune information privilégiée sur le fonctionnement de Google et des autres sites Web et vous ne pouvez vraiment pas être sûr de la façon dont cela affectera votre classement (et c'est un cas si particulier qu'il peut bien changer radicalement chaque fois que Google met à jour l'algorithme).
la source