En algunas ocasiones ocurre que, pese a tener un certificado activo en nuestro sitio, puede que no se muestre con el clásico candado en el navegador que indica que la conexión es 100% segura, en estos casos es muy posible que tengas un problema de contenido mixto.
Esto ocurre cuando tu web se carga a través de una conexión segura (HTTPS) pero hay otros recursos (imágenes, videos, css…) que se están cargando mediante una conexión no segura (HTTP). Esta mezcla de contenido seguro e inseguro hace que nuestra web no sea del todo segura, y en ocasiones, puede comprometer la seguridad y la integridad de la página web.
Existen dos tipos de contenido mixto:
- Pasivo: Se refiere a recursos que no interactúan directamente con el contenido de la página, como imágenes, videos o audio. Suele ser lo más habitual cuando nos encontramos con este problema y es menos peligroso que el contenido mixto activo.
- Activo: En este caso, la carga de contenido no seguro (HTTP) se trata de recursos que pueden interactuar con la página, como scripts, CSS o iframes. Este tipo de contenido mixto suele es más peligroso, ya que un atacante podría ejecutar código malicioso en la página.
¿Qué implica que mi web carga contenido mixto?
Principalmente, nos encontraremos estos tres problemas:
- Riesgos de seguridad: Los recursos cargados a través de HTTP pueden ser modificados por posibles atacantes, comprometiendo la integridad y confidencialidad de la información.
- Problemas de visualización: Algunos navegadores bloquean el contenido mixto, lo que puede resultar que ciertos elementos de tu página no se muestren correctamente o no funcionen correctamente.
- Advertencias al usuario: Los navegadores suelen mostrar advertencias o indicadores de que la página no es completamente segura, lo que genera desconfianza en los usuarios y afectar la reputación tu sitio.
¿Cómo identifico y soluciono el problema de contenido mixto?
Lo primero que debemos hacer al encontrarnos una web que muestra la alerta de contenido mixto, es tratar de identificar los recursos que están cargando por HTTP.
La solución más sencilla es abrir la consola del navegador, tanto en Chrome como Firefox, pulsando con el botón derecho del ratón en la web en la que te encuentras, selecciona la opción “Inspeccionar”.
A continuación dirígete a la pestaña de Red, y al recargar tu web con esta pestaña de la consola abierta podrás ver de forma sencilla que recursos se cargan de forma insegura.
Una vez localizados los recursos que cargan por HTTP, debemos ir al código de nuestra web y asegurarnos que los enlaces que figuran en la web utilizan HTTPS en lugar de HTTP, estas rutas pueden aparecer en el código fuente de la web, archivos de configuración o bases de datos.
Si no localizas todos los elementos que están cargando vía HTTP en tu web, la herramienta del panel para “forzar HTTPS” te puede resultar de gran ayuda, en esta entrada te damos todos los detalles.
Por otra parte, si utilizas WordPress, una manera sencilla de forzar la navegación por HTTPS es mediante el plugin Really Simple SSL. Y en PrestaShop, existe una opción en el apartado de Preferencias > Configuración, donde puedes activar la navegación HTTPS.