Skip to content

Todo para WordPress, el desarrollo web — y mucho más

🔒 Cómo arreglar el contenido mixto en WordPress: 2 pasos

🔒 Cómo arreglar el contenido mixto en WordPress: 2 pasos

Instaló un certificado SSL y configuró HTTPS, pero el navegador sigue mostrando el aviso de «conexión no segura». ¿Le suena familiar?

Así es como se ve un error de contenido mixto. El sitio parece funcionar bien, los visitantes no se quejan, pero Google detecta el problema y reduce su posicionamiento en buscadores. Desde 2018, Chrome marca como inseguras las páginas con contenido mixto, y la política se vuelve más estricta con cada actualización.

Solucionarlo requiere dos pasos. Sin necesidad de desarrollador, sin editar cada enlace manualmente y sin riesgo de romper el diseño.

💡 Resumen rápido:

  • encuentre el origen del contenido mixto usando Chrome DevTools o herramientas en línea
  • instale un plugin (método automático) o edite el .htaccess y la base de datos (método manual)
  • verifique el resultado y configure la redirección HTTPS para el futuro

Qué es el contenido mixto y por qué es peligroso

El contenido mixto es una situación en la que una página se carga mediante HTTPS, pero algunos elementos individuales en ella (imágenes, scripts, estilos, fuentes) se obtienen a través del protocolo inseguro HTTP.

El navegador interpreta esto como un agujero de seguridad. Un atacante puede interceptar la solicitud HTTP, sustituir un script o una imagen y obtener acceso a los datos del usuario. Por eso Chrome, Firefox y Safari bloquean por completo el contenido mixto «activo» (scripts, iframes), mientras que el contenido «pasivo» (imágenes, medios) genera una advertencia en la barra de direcciones.

La causa típica es la migración de HTTP a HTTPS. Los enlaces antiguos en el contenido, los ajustes del tema, los archivos CSS y los widgets permanecen con el prefijo http://. WordPress no los modifica automáticamente, de ahí el conflicto.

Desde 2020, Google lo ha declarado explícitamente: HTTPS es una señal de posicionamiento. Una página con contenido mixto pierde el «candado verde» y, con él, la confianza del visitante y las posiciones en las SERP. Debe solucionarlo inmediatamente después de instalar el SSL, sin demora.

Paso 1: Diagnóstico, encontrar el origen del problema

Antes de arreglar nada, necesita entender qué recursos se están cargando mediante HTTP. El método universal es Chrome DevTools.

Abra su sitio en Chrome, pulse F12 (o Ctrl+Shift+I), vaya a la pestaña Consola y actualice la página. Cada línea con una advertencia de «Mixed Content» muestra la URL exacta del archivo problemático.

Consola de Chrome DevTools mostrando errores de contenido mixto

Cerca, en la pestaña Seguridad, encontrará un resumen: estado del certificado, lista de solicitudes inseguras y recomendaciones para solucionarlas. Esto basta para una evaluación rápida de la situación.

Pestaña de seguridad con lista de solicitudes inseguras

Si hay muchos errores y necesita obtener una lista completa en un solo informe, las herramientas en línea vienen al rescate.

Panel de herramientas para desarrolladores con filtro de errores de seguridad

Jitbit SSL Checker es un escáner gratuito en línea. Introduzca la URL y obtenga una lista de todos los recursos HTTP en la página: imágenes, scripts, CSS, llamadas externas. La versión gratuita verifica hasta 200 páginas.

Resultados de verificación SSL en el servicio Jitbit

Why No Padlock es otro servicio gratuito con análisis detallado: qué elementos no son seguros, desde dónde se cargan y a qué tipo de contenido pertenecen. Admite la verificación de páginas que requieren autenticación.

Informe detallado de Why No Padlock sobre contenido mixto en una página

HTTPS Checker es una utilidad de escritorio para macOS que analiza su sitio localmente y muestra los errores después de cada cambio. Funciona con un límite de 100 páginas y resulta práctica para la depuración paso a paso.

Una vez que tenga la lista de URLs problemáticas frente a usted, proceda a solucionarlas.

Paso 2: Solución, tres métodos que funcionan

La elección del método depende de la cantidad de errores y de su disposición a trabajar con código. Los plugins resuelven la tarea en un par de clics, mientras que el método manual le da control total.

Método 1: Really Simple Security, solución automatizada

Really Simple Security (anteriormente Really Simple SSL) es el plugin SSL para WordPress más popular, con 3 millones de instalaciones activas y una valoración de 4,9/5 en WordPress.org.

Página del plugin Really Simple Security en el administrador de WordPress

Instale el plugin desde «Plugins → Añadir nuevo», actívelo y ejecute el asistente de configuración. El plugin automáticamente:

  • establece HTTPS en los ajustes de WordPress (dirección del sitio y URL de inicio),
  • configura la redirección 301 de HTTP a HTTPS,
  • reemplaza los enlaces HTTP en el contenido «sobre la marcha» mediante el búfer de salida,
  • verifica el certificado y avisa sobre su caducidad.

Tras la instalación, abra su sitio en modo incógnito y asegúrese de que el candado en la barra de direcciones está verde y no hay avisos de contenido mixto en DevTools → Consola. Para la gran mayoría de los sitios, esto es suficiente.

Método 2: SSL Insecure Content Fixer, ajustes de nivel flexibles

Si Really Simple Security no funcionó (por ejemplo, parte del contenido se carga mediante APIs de terceros), instale SSL Insecure Content Fixer. El plugin tiene 100.000 instalaciones activas, una valoración de 4,8/5 y ofrece cinco niveles de filtrado:

Ajustes de nivel de filtrado del plugin SSL Insecure Content Fixer
  • Simple es el nivel básico para principiantes, corrige enlaces en el contenido y los ajustes;
  • Content comprueba adicionalmente los widgets de texto y los shortcodes;
  • Widgets se centra en el contenido de los widgets, incluyendo HTML personalizado;
  • Capture intercepta toda la página antes del renderizado y reemplaza cada http:// por https://. Más lento pero más eficaz;
  • Capture All proporciona la máxima cobertura: scripts, estilos en línea, llamadas externas. El modo que más recursos consume.

Comience con Simple. Si persisten los errores, cambie a un nivel superior y vuelva a revisar su sitio. No pase directamente a Capture All sin necesidad: carga el servidor y puede entrar en conflicto con plugins de caché.

Método 3: Corrección manual,.htaccess y base de datos

Si se opone por principio a los plugins adicionales o el error es puntual, esta es la vía directa.

Paso A. Forzar la redirección HTTPS en.htaccess. Añada lo siguiente al principio del archivo (antes de # BEGIN WordPress):

1RewriteEngine On
2RewriteCond %{HTTPS} off
3RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Guarde y verifique que la página de inicio y todas las URL internas redirigen a HTTPS. Antes de editar, descargue una copia de seguridad del.htaccess: un error tipográfico puede romper su sitio.

Paso B. Reemplazar los enlaces HTTP en la base de datos. Las URL antiguas dentro de las entradas, los metacampos y los ajustes aún contienen http://. Modificarlas con una consulta SQL directa es arriesgado porque los datos PHP serializados se rompen. Utilice:

  • WP-CLI: wp search-replace 'http://example.com' 'https://example.com' --dry-run (primero sin --dry-run para ver el número de reemplazos);
  • el plugin Better Search Replace, que hace lo mismo desde el panel de administración con vista previa.

Tras el reemplazo, borre la caché de su navegador (Ctrl+Shift+Del), la caché del plugin (WP Rocket, LiteSpeed) y compruebe su sitio en modo incógnito.

Vídeo útil sobre el tema

El autor del canal GoTechWizard muestra el proceso de corrección del contenido mixto, desde el diagnóstico hasta un HTTPS limpio sin una sola línea de código:

⁉️🤔 Preguntas frecuentes

¿Por qué el sitio sigue mostrando «no seguro» después de instalar el SSL?

El certificado SSL está activo en el servidor, pero parte del contenido carga por HTTP. El certificado cubre la conexión entre el navegador y el servidor, mientras que los enlaces HTTP dentro de la página la eluden. El navegador detecta la mezcla de protocolos y advierte al usuario. Hay tres causas principales: enlaces antiguos a imágenes en las entradas (insertados antes de la instalación del SSL), URL HTTP escritas directamente en el tema o los plugins, y recursos externos (fuentes de Google, scripts de CDN) que cargan mediante http:// en lugar de https://. Diagnostique a través de DevTools → Consola y siga los pasos de este artículo.

¿Necesito comprar un certificado SSL o basta con uno gratuito?

Para la gran mayoría de los sitios, un SSL gratuito de Let's Encrypt es suficiente. Lo reconocen todos los navegadores y buscadores. Los certificados de pago (OV, EV) tienen sentido para tiendas en línea, bancos y sitios con formularios de pago: requieren verificación de la empresa y muestran el nombre de la organización en la barra de direcciones. Para un blog, portafolio o sitio corporativo, Let's Encrypt es el estándar. La mayoría de los proveedores de hosting (Timeweb, Beget, Hostinger) lo emiten automáticamente al crear un sitio.

¿Se puede corregir el contenido mixto sin plugins ni cambios de código?

En algunos proveedores de hosting, sí. Cloudflare incluye la opción Automatic HTTPS Rewrites en su plan gratuito: corrige los enlaces HTTP a HTTPS sobre la marcha para todo el tráfico que pasa por el CDN. Sin embargo, esto es una solución a medias: el problema persiste a nivel de servidor y, al desactivar Cloudflare, los errores regresan. Es mejor eliminar la causa reemplazando los enlaces HTTP en la base de datos y configurando una redirección en el.htaccess. Así su sitio quedará limpio independientemente del método de entrega del tráfico.

¿SSL Insecure Content Fixer o Really Simple Security: cuál elegir?

Depende de la tarea. Really Simple Security es una solución de «configurar y olvidarse»: adecuada para un sitio WordPress típico sin integraciones complejas. SSL Insecure Content Fixer es una herramienta con niveles graduales para un ajuste fino. Si persisten errores tras activar Really Simple Security (ocurre con estructuras de tema no estándar, endpoints personalizados o plugins con llamadas HTTP directas), cambie a SSL Insecure Content Fixer y aumente el nivel de filtrado. La práctica muestra que el primer plugin cubre la mayoría de los casos y el segundo resuelve el resto.

¿Es seguro usar el modo Capture All en SSL Insecure Content Fixer?

Capture All intercepta y reescribe cada byte de la página antes de enviarla al navegador. Es fiable, pero aumenta la carga de la CPU. En hostings débiles o sitios con mucho tráfico puede haber un retraso en la respuesta de 100 a 300 ms. Los plugins de caché (WP Rocket) mitigan este efecto: la página se genera una vez y se sirve desde la caché. Antes de activar Capture All, asegúrese de que los niveles más suaves no han resuelto el problema y haga una copia de seguridad.

Contenido mixto corregido, ¿y ahora qué?

Un error de contenido mixto no es una sentencia de muerte. Tras los dos pasos de este artículo, queda completamente resuelto y, por regla general, no regresa. La clave no es silenciar las advertencias del navegador, sino eliminar la causa: migrar todos los recursos a HTTPS.

Consolide el resultado: configure una verificación automática del SSL (UptimeRobot o la monitorización del hosting envían una notificación 30 días antes del vencimiento del certificado) y adopte la norma de insertar los enlaces nuevos con https:// desde el principio. Unos minutos de prevención ahora ahorran horas de depuración después.