Que es el contenido mixto o Mixed Content

El contenido mixto ocurre cuando una pagina web que se sirve a traves de HTTPS incluye recursos (imagenes, scripts, hojas de estilo, iframes o fuentes) que se cargan desde URLs con HTTP no cifrado. Los navegadores modernos bloquean o advierten sobre este tipo de contenido porque carga recursos no seguros en una conexion que se supone segura, comprometiendo la proteccion que ofrece el certificado SSL.

Existen dos tipos de contenido mixto con diferentes niveles de impacto:

TipoRecursos afectadosComportamiento del navegador
Mixed Content ActivoScripts JS, CSS, iframes, XMLHttpRequestBloqueado automaticamente (riesgo alto)
Mixed Content PasivoImagenes, audio, videoCarga pero muestra advertencia (riesgo medio)

Como identificar el contenido mixto

Cuando existe contenido mixto, el icono del candado en la barra del navegador muestra una advertencia. Para identificar exactamente que recursos estan causando el problema:

  • Abrir las Herramientas de Desarrollo del navegador (F12) y revisar la consola. Los errores de contenido mixto se muestran claramente con la URL del recurso problematico.
  • Usar la herramienta Why No Padlock (whynopadlock.com) ingresando la URL del sitio para obtener un reporte completo de todos los recursos HTTP.
  • En WordPress, el plugin SSL Insecure Content Fixer identifica y corrige automaticamente las URLs problematicas.

Como solucionar el contenido mixto en WordPress

Metodo 1: Reemplazar URLs en la base de datos

Instalar el plugin Better Search Replace y realizar un reemplazo de:

  • http://tudominio.com por https://tudominio.com en todas las tablas de la base de datos.
  • Usar la opcion de "Dry Run" primero para ver cuantos registros seran afectados sin realizar cambios.

Metodo 2: Agregar regla en .htaccess para forzar HTTPS en recursos

Esta solucion funciona como medida adicional pero no reemplaza corregir las URLs en la base de datos:

Header always set Content-Security-Policy "upgrade-insecure-requests;"

Metodo 3: Modificar wp-config.php

define('WP_HOME',    'https://tudominio.com');
define('WP_SITEURL', 'https://tudominio.com');

Contenido mixto en sitios sin WordPress

Para sitios HTML o PHP estaticos, buscar en todos los archivos referencias a recursos con http:// y reemplazarlas por https:// o por URLs relativas al protocolo (comenzando con // en lugar de http:// o https://).

  • Usar el Administrador de Archivos de cPanel para buscar en todos los archivos del sitio.
  • En VPS con acceso SSH, el comando grep -r "http://" /ruta/sitio/ lista todas las ocurrencias.
Was this answer helpful? 0 Users Found This Useful (0 Votes)