Solución: Contenido mixto en WordPress - ilustracion
xr:d:DAFl14XwxDw:155,j:6904437209530528743,t:24021715

Solución: Contenido mixto en WordPress

En pocas palabras: El contenido mixto ocurre cuando una página HTTPS carga recursos por HTTP, como imágenes, scripts o CSS. Para solucionarlo en WordPress, actualizá todas las URLs a HTTPS desde Ajustes > Generales y reemplazá los enlaces viejos con el plugin Better Search Replace.

Preguntas frecuentes

¿El contenido mixto afecta el SEO de mi sitio en WordPress?

Sí. Google prioriza los sitios totalmente seguros con HTTPS, por lo que el contenido mixto puede perjudicar tu posicionamiento. Además, la advertencia «no seguro» del navegador aumenta el rebote y reduce la confianza de los visitantes.

¿Qué diferencia hay entre contenido mixto pasivo y activo?

El contenido mixto pasivo son recursos como imágenes o videos cargados por HTTP, que el navegador suele mostrar igual aunque marque la advertencia. El activo son scripts, hojas de estilo o iframes por HTTP, que el navegador bloquea directamente porque pueden comprometer toda la página.

¿Puedo solucionar el contenido mixto sin usar un plugin?

Sí. Podés actualizar las URLs en la base de datos con una consulta SQL de búsqueda y reemplazo, ajustar las direcciones del sitio en Ajustes > Generales, o agregar una regla en el archivo .htaccess para forzar HTTPS. Hacé siempre un backup antes de tocar la base de datos.

¿Por qué sigue apareciendo contenido mixto después de instalar el certificado SSL?

Porque las URLs viejas con HTTP quedaron guardadas dentro del contenido, los temas, los plugins o la base de datos. El certificado cifra la conexión, pero no reescribe automáticamente los enlaces internos que ya estaban escritos con HTTP.

¿Cómo encuentro exactamente qué recurso causa el contenido mixto?

Abrí la consola del navegador con F12 y revisá la pestaña «Consola» o «Seguridad»: ahí figura cada archivo cargado por HTTP con su URL completa. También podés usar herramientas online como Why No Padlock para detectar los recursos inseguros.

Ejemplo práctico

Martina Ferreyra tiene una tienda online de indumentaria, Telar Urbano, montada en WooCommerce. Después de instalar el certificado SSL en su hosting, el candado verde no aparecía: Chrome marcaba el sitio como «No seguro». Abrió la consola del navegador (tecla F12 → pestaña Console) y encontró 23 advertencias de Mixed Content. Al revisarlas, vio que casi todas apuntaban a fotos de productos cargadas con URLs http:// que habían quedado guardadas desde antes de la migración, más dos scripts de un slider viejo. Para corregirlo instaló el plugin Better Search Replace y reemplazó en la base de datos todas las apariciones de http://telarurbano.com por https://telarurbano.com (3.847 coincidencias actualizadas en una sola corrida). Después limpió la caché y forzó HTTPS agregando la regla de redirección 301 en el .htaccess.

Resultado: de 23 advertencias de contenido mixto pasó a 0 en menos de 30 minutos. El candado de seguridad apareció en todas las páginas, incluido el checkout, y en las 2 semanas siguientes la tasa de carritos abandonados bajó del 71% al 64%, porque los compradores dejaron de ver el aviso de «conexión no segura» justo antes de pagar.

Cómo funciona

  1. El navegador solicita la página por HTTPS: al entrar a tu sitio, el navegador establece una conexión cifrada y espera que todos los recursos viajen por ese mismo canal seguro.
  2. WordPress devuelve el HTML con recursos enlazados: dentro de la página hay referencias a imágenes, hojas de estilo, scripts y fuentes que apuntan a una dirección concreta guardada en la base de datos o escrita en el tema.
  3. Algunos recursos todavía apuntan a HTTP: si una imagen o un script conserva una URL que empieza con http://, el navegador la pide por un canal sin cifrar mientras el resto del sitio viaja seguro.
  4. El navegador detecta la mezcla y avisa: al convivir tráfico cifrado y sin cifrar en la misma página, marca la conexión como no del todo segura y, según el recurso, puede bloquearlo automáticamente.
  5. Las URLs inseguras se corrigen a HTTPS: al reemplazar cada referencia http:// por https:// en base de datos, tema y plugins, todos los recursos vuelven al canal cifrado y el aviso desaparece.

En 30 segundos

El contenido mixto aparece cuando un sitio con HTTPS sigue cargando recursos (imágenes, scripts, CSS) por HTTP, y por eso el navegador no lo muestra como totalmente seguro pese a tener certificado SSL. Para solucionarlo tenés que detectar esos recursos inseguros con la consola del navegador y reemplazar las URLs HTTP por HTTPS, ya sea editando los enlaces, ajustando la configuración de WordPress o usando un plugin que fuerce las conexiones seguras.

Si activas un certificado SSL en tu sitio web, esperas que el navegador lo indique como seguro; sin embargo, ¡Qué sorpresa! Se sigue mostrando una advertencia de seguridad que indica que su WordPress contiene contenido mixto.

Sin embargo, ¿qué es lo que se conoce como contenido mixto en WordPress? ¿Por qué se produce este error si mi sitio web ya está habilitado con HTTPS? ¿Es responsabilidad del certificado? Para más detalles, consultá nuestra novedades recientes del ecosistema WordPress.

Si esto te sucede por primera vez, es normal que te surjan muchas preguntas, pero no te preocupes. En esta guía, explicaré detalladamente qué es el contenido mixto, cómo identificarlo y, por supuesto, cómo corregirlo para que tu sitio web de WordPress se muestre como seguro. Para más detalles, consultá nuestra comunidad WordPress y sus últimas tendencias.

¿Qué es el contenido mixto en WordPress?

Cuando una web con HTTPS carga parcialmente contenido con HTTP, se produce contenido mixto. La página no es completamente segura porque sólo está parcialmente encriptada. De hecho, tus clientes recibirán una advertencia que indica que la conexión no está cifrada, dependiendo del navegador que usen.

En otras palabras, es una página web que, aunque tiene un certificado SSL, no cifra todo su contenido con HTTPS. Aunque parece una web segura, no lo es.

Aunque no estoy seguro de si es necesario recordar que todas las conexiones de una página web deben estar cifradas con SSL, lo haré por si acaso.

Cualquier usuario malintencionado puede interceptar la transmisión de datos entre el navegador web y el servidor si todavía funciona con HTTP. Por lo tanto, los datos no se envían cifrados y la información no está protegida.

Por el contrario, toda la transmisión de datos está protegida cuando se activa un SSL y la web funciona con HTTPS. ¿Cuál es el resultado? Más seguridad para tu empresa y tus clientes. Recomendaría que leas esta guía, en donde se explica con mayor detalles su funcionamiento.

Por lo tanto, podríamos decir que una página web con contenido mixto es una página web intermedia. A pesar de que la solicitud inicial se realiza a través de HTTPS, una parte del contenido se carga a través de HTTP.

Eso sí, es crucial diferenciar entre los dos tipos de contenido mixto en WordPress: contenido mixto activo y pasivo. Vamos a ver en qué consiste cada uno.

Contenido mixto activo

El término «contenido mixto activo» se refiere al contenido que interactúa con la página porque tiene acceso al modelo de documentos de la página HTTPS en su totalidad o parte. Esto permite a los atacantes alterar el comportamiento de la web, crear código malicioso, robar información confidencial (como contraseñas, datos de pago, etc.) o tomar el control total del sitio web.

Algunas solicitudes HTTP que se consideran contenido mixto activo son las siguientes:

  • <script> (src attribute)
  • <link> (href attribute) (this includes CSS stylesheets)
  • <iframe> (src attribute)
  • XMLHttpRequest requests
  • etch() requests
  • Todos los casos en CSS cuando una url() utiliza el valor (@font-face, cursor, background-image, etc.).
  • <object> (data attribute)
  • Navigator.sendBeacon (url attribute)

Para proteger a los usuarios de la presencia de contenido mixto activo en una web, todos los navegadores suelen bloquearlo.

Contenido mixto pasivo

El contenido mixto pasivo se refiere al contenido web que se carga en una página web HTTPS mediante HTTP. Este tipo de contenido es mucho menos problemático que el contenido mixto activo porque no interactúa con el resto de la página.

Estos son los tipos de solicitudes HTTP clasificadas como contenido pasivo:

  • <img> (attribute src).
  • <audio> (attribute src).
  • <video> (attribute src).
  • <objeto> subrecursos (cuando un <objeto> realiza solicitudes HTTP).

En este tipo de situaciones, un atacante puede bloquear solicitudes HTTP como un video y reemplazarlas con contenido inapropiado o malintencionado, pero no puede modificar otras partes de la página web.

Ante la presencia de contenido mixto pasivo en una página web, no todos los navegadores actúan de la misma manera. Google Chrome actualiza automáticamente este contenido para el mismo dominio para que cargue bajo HTTPS. Si no puede hacerlo, no muestra el archivo. Firefox, muestra todo el contenido, pero advierte que algunas partes son inseguras. Finalmente, Microsoft Edge carga todo tipo de contenido, la página se muestra como no segura y explica por qué.

Contenido mixto en WordPress

Aunque no es uno de los errores más frecuentes de WordPress, a veces la web muestra un mensaje de advertencia indicando que parte del contenido no es seguro después de activar el SSL.

Sin embargo, ¿cuál es la razón detrás de esto? Hay muchas razones por las que puedes experimentar un problema de contenido mixto en WordPress, pero estas son algunas de las más comunes que encontramos en el soporte:

  • La redirección 301 de HTTP a HTTPS no está establecida correctamente y algunos elementos no cargan bajo el protocolo seguro.
  • Acabas de instalar un plugin en WordPress que utiliza rutas absolutas del tipo http://misitioweb.com/style.css en vez de rutas relativas como /style.css.
  • Estás utilizando un recurso o herramienta externa que carga con una ruta http://, en lugar de https://.
  • Las imágenes que subes a WordPress o las que muestran los widgets cargan a través de una URL del tipo http://misitioweb.com/wp-content/uploads/imagen.jpg, en vez de https://misitioweb.com/wp-content/uploads/imagen.jpg.

Ahora llega el momento de la parte práctica, donde veremos cómo corregir el contenido mixto en WordPress.

Cómo solucionar el problema de contenido mixto en WordPress

Para corregir el contenido mixto en WordPress, puedes usar el plugin Really Simple SSL, que puede obligar a todas las URLs HTTP a cargar con HTTPS en tu sitio web.

¡Muy importante!

Asegúrate de realizar una copia de seguridad completa de tu sitio web siempre que realices cualquier modificación.

Ten en cuenta que desde WordPress 5.7, la transición de HTTP an HTTPS ya se puede realizar con unos pocos clics. Por lo tanto, puedes evitar problemas de contenido mixto en WordPress u otros errores relacionados con la seguridad SSL de tu sitio web.

1. Instala el plugin Really Simple SSL en WordPress.

Primero, debes ingresar a WordPress y buscar la sección «Plugins» en el menú lateral y seleccionar «Añadir nuevo plugin».

En el buscador, escribe «Really Simple SSL» y luego haz clic en «Instalar» y «Activar».

Solución: Contenido mixto en WordPress - 1

2. Configura la seguridad SSL

Pulsa sobre «SSL & Security» en la sección «Ajustes» del backend de tu web. Verás un aviso extenso que te permite activar el SSL y resolver los problemas de contenido mixto en WordPress.

Solución: Contenido mixto en WordPress - 2

3. Utiliza .htaccess para activar la redirección 301.

El plugin Really Simple SSL redirecciona las URL de http:// a https:// a través de PHP, pero tienes la opción de activarlo a través de .htaccess para que sea más rápido y efectivo.

Solución: Contenido mixto en WordPress - 3

¡Está listo! Después de activar Really Simple SSL, ya deberías tener arreglado el contenido mixto en WordPress. Si no es así, o si ya tenías instalado este plugin en WordPress, es posible que el contenido mixto proviene de URLs externas a tu sitio web.

Conclusiones

¿Se muestra un aviso de contenido mixto en WordPress después de activar el SSL en WordPress? No hay razón para preocuparse; la solución es muy simple.

El problema generalmente se resuelve completamente instalando y activando el plugin Really Simple SSL. Si no es así, puedes encontrar el recurso que está cargando con http:// a través del inspector de elementos de tu navegador y reemplazarlo con https://, o puedes cambiar el fichero .htaccess. Puede usar cualquier método, pero siempre debes tener una copia de seguridad de tu sitio.

¡Descubre la velocidad y el rendimiento excepcionales con nuestros planes de WordPress Hosting optimizados con LiteSpeed!

Volver a

Guias

Publicaciones relacionadas