Considere una página, http://example.com
que se puede ver tanto públicamente como cuando un usuario se autentica. Ahora suponga que habilita HTTPS para cada página cuando un usuario inicia sesión en su sitio web, pero solo cuando está conectado. Su página http://example.com
ahora es https://example.com
para todos los usuarios registrados. Si a ese usuario conectado le gusta su página y decide vincularla a través de una publicación de blog o un sitio web de redes sociales, existe una buena posibilidad de que usen la versión HTTPS de la URL.
Desde una perspectiva de SEO, ¿cuál es su estrategia para evitar problemas de contenido duplicado entre las dos URL?
¿Qué debería suceder si un usuario llega a la URL HTTPS pero no ha iniciado sesión o no tiene una cuenta? ¿Debería haber una redirección a la versión HTTP? Si es así, ¿cómo lo manejarías?
Mi instinto es que para todas las páginas que se pueden ver tanto públicamente como mientras están conectadas, la página debe detectar primero si el usuario está conectado. Si está conectado, sigue siendo HTTPS o utiliza una redirección 302 de la versión HTTP a HTTPS. Si el usuario no ha iniciado sesión y llega a la versión HTTPS de la URL, utiliza una redirección 301 a la versión HTTP. Sin embargo, agradecería una solución más elegante o efectiva.
Editar : estaba asumiendo que si un usuario ha iniciado sesión, cada URL debería ser HTTPS (o al menos, debería ser una opción), pero como he investigado un poco más, tal vez esa suposición fue incorrecta. La forma en que veo a las personas que lo implementan es que solo habilitan HTTPS para las páginas que envían y reciben datos confidenciales: inicio de sesión, pago del carrito de compras, administración del perfil de usuario, etc. Estoy tratando de averiguar qué modelo es el mejor.
Aparentemente, Google Mail ofrece a los usuarios la opción de usar HTTPS en cada página a través de una configuración en el perfil del usuario. Esa es ciertamente una opción, pero aún necesitaría abordar el comportamiento de las páginas disponibles públicamente para todos los estados de autenticación.
Debido a que estoy construyendo un sistema de administración de contenido que será utilizado por otras personas, necesito asegurarme de hacerlo bien. ¿Qué configuraciones deberían estar disponibles para el propietario del sitio? En este punto, estoy pensando en un control granular sobre cada página (ya sea que esté segura o no con SSL) y luego para todo el sitio también. Sin embargo, otorgar ese nivel de control puede ser un error si las personas no comprenden todos los problemas y pueden terminar causando problemas de seguridad. Ese, quizás, es el primer problema. ¿Cuáles son los niveles apropiados de control y cuáles son los valores predeterminados inteligentes? El segundo es cómo deben comportarse las páginas para el usuario. Desde una perspectiva de SEO, creo que el proceso que describí anteriormente o el uso delrel="canonical"
(como sugirió jmb) funcionaría, pero también es esencial definir el comportamiento de la página para que sea segura y sin problemas.