Añadir el certificado (SSL) a tu sitio web es crucial para proteger los datos privados de los usuarios. Sin embargo, al integrar los certificados SSL, no es raro encontrarse con problemas como las advertencias de contenido mixto de WordPress. ¿Te ha pasado que de repente el SSL da error?¿Tienes instalado un certificado ssl y aún así falla?
Recientemente me pasó y no se me ocurría que podía ser tras varias comprobaciones previas como si estaba caducado el certificado o cualquier otro problema.
Contenido mixto http o iframes
— jorge (@seker11235) September 2, 2020
Al final gracias a varios usuarios y sobre todo a Jorge @seker11235 (seguidlo que es un crack!) resultó ser algo fácil de solucionar pero que quiero dejar constancia en este post por si te ocurre saber que tienes que hacer.
Para evitar que Google marque sus páginas web como “no seguras”, es importante tomar medidas cuidadosas para garantizar la correcta implementación de los certificados SSL. Esto incluye asegurarse de que todas las URLs, scripts y contenidos se carguen a través de HTTPS en lugar de HTTP. En este post, empezaré explicando qué son los certificados SSL y por qué son importantes. Luego discutiremos las advertencias de contenido mixto HTTPS, qué las causa, y las instrucciones paso a paso para encontrarlas y arreglarlas en WordPress. G0g0!
Indice de contenidos
¿Qué es un certificado SSL?
Cuando navegamos por Internet, a menudo compartimos información personal como los datos de la tarjeta de crédito y datos personales. SSL ayuda a proteger tu privacidad y a aumentar la seguridad actuando como intermediario entre su navegador y el servidor donde está alojado el sitio.
Los sitios protegidos por SSL se cargan a través del Protocolo de Transferencia de Hipertexto Seguro (HTTPS). También están marcados con un icono de un candado en la barra de direcciones. Esto indica que la transmisión de datos entre el visitante y el servidor está encriptada.
Hay tres tipos principales de certificados SSL:
- Validación de la organización (OV): Un certificado de OV no sólo verifica su dominio, sino que también prueba que su organización es legítima.
- Validación de Dominio (DV): Un certificado DV simplemente verifica que usted es el propietario del dominio antes de añadirle la protección SSL.
- Validación extendida (EV): Un certificado EV ofrece el más alto nivel de garantía de seguridad a sus clientes, ya que todos los solicitantes deben pasar un estricto proceso de investigación.
El uso de certificados SSL está creciendo rápidamente y casi todo el mundo está cambiando a HTTPS. Por qué los certificados SSL son importantes para los sitios de WordPress. Hay varias razones por las que los certificados SSL son tan importantes.
Para empezar, Google añadió el uso de HTTPS como factor de ranking en Google, junto con la velocidad del sitio. Esto no quiere decir que un sitio no http no vaya a rankear. Es mentira.
Pero los certificados SSL también pueden ayudar a disminuir las tasas de abandono en ecommerce o sitios web donde tengas que pagar con tarjeta y no sea seguro. Para eso si es importante e indirectamente puede tener incidencia en el SEO de la web.
Tener un icono de un candado verde en la barra de direcciones con un mensaje de “Conexión segura” ayuda a ganar la confianza de los visitantes. Los clientes se sentirán más seguros al comprar sus productos, ya que hay menos preocupación por el robo de datos.
Lo más importante es que HTTPS evita que los navegadores muestren advertencias de seguridad en tu sitio WordPress, lo que puede disuadir a los visitantes por completo.
En 2018, Google Chrome anunció que empezaría a mostrar una advertencia de “no seguridad” en los sitios que utilizan HTTP. Al tener un certificado SSL, sus visitantes no verán esta advertencia y es más probable que confíen en su sitio.
Cómo obtener un certificado SSL para tu sitio de WordPress
Hay un puñado de métodos que puedes usar para instalar un certificado SSL en tu sitio de WordPress. Uno de los más populares es el Let’s Encrypt. No me voy a centrar en eso ahora puedes ver Cómo instalar un Certificado SSL gratis en tu web con HTTPS.
En algunos casos en los que puede seguir viendo un mensaje de “no seguro” incluso después de instalar su certificado SSL. Si la configuración está mal hecha, puede causar varios problemas, incluyendo advertencias de contenido mixto de WordPress.
¿Qué son las advertencias de contenido mixto de WordPress?
Si has instalado correctamente un certificado SSL en tu sitio de WordPress y lo has configurado correctamente, debería ver el icono del candado en la barra de direcciones del navegador cuando visites tu sitio. Sin embargo, en algunas páginas, puede notar un icono de información en su lugar:
Esto indica una advertencia de contenido mixto. Éstas aparecen en los navegadores de los visitantes si tu sitio de WordPress carga ambos scripts HTTPS y HTTP.
Algunos ejemplos comunes de advertencias de contenido mixto HTTPS incluyen: “Su conexión a este sitio no es completamente segura””La conexión no es segura””Tenga cuidado aquí”. Algunos contenidos de esta página no están encriptados. “Sólo se muestra contenido seguro”.
Aunque tu sitio puede estar usando una URL segura y es accesible y funcional, una advertencia de contenido mixto de WordPress significa que hay algunos elementos o activos en la página que no están protegidos. Más específicamente, significa que una o más URLs están sirviendo contenido a través de HTTP en lugar de HTTPS.
Causas comunes de las advertencias de contenido mixto de HTTPS
Las advertencias de contenido mixto es más probable que ocurran justo después de migrar de HTTP a HTTPS. Hay múltiples razones por las que podrías ver una advertencia de contenido mixto en tu sitio de WordPress:
- Hay enlaces HTTP en tus archivos CSS y JS.
- Código de los temas y los plugins con enlaces HTTP en lugar de HTTPS.
- Las imágenes de la página están enlazadas con http.
- Los enlaces a los scripts externos están incluidos en sus archivos CSS y JS. Si llamas a archivos de recursos externos que no tienen HTTPS habilitado, puede causar una advertencia de contenido mixto en WordPress.
Hay dos tipos principales de contenido mixto: activo y pasivo. El contenido mixto activo se refiere a las páginas web cargadas a través de una conexión HTTPS segura que también contienen scripts que se cargan a través de HTTP.
El contenido mixto pasivo se refiere a archivos de imagen, video o audio cargados a través de HTTP.
Cómo encontrar e identificar errores de contenido mixto en WordPress
Hay múltiples maneras de identificar errores de contenido mixto en su sitio de WordPress y, más específicamente, qué activos se están cargando a través de HTTP. La primera es comprobarlos manualmente usando el inspeccionador de elementos de Chrome.
Haz clic con el botón derecho del ratón en la página donde aparece la advertencia y selecciona Inspeccionar. En la pestaña de la consola, todo lo que su navegador haya identificado y marcado como no seguro será listado con advertencias de contenido mixto resaltadas en amarillo.
Aquí detectarás rápidamente en qué página o post se encuentra el problema para arreglarlo. Sin embargo, si hay muchos problemas de contenido mixto en su sitio de WordPress, resolverlos manualmente no es lo más fácil. Por lo tanto, una buena forma de detectarlos todos es usando https://www.whynopadlock.com/. Esta herramienta escanea todo su sitio y proporciona una lista de URLs no HTTPS. Simplemente introduce tu dominio y haz clic en comprobar si hay errores de SSL.
Cómo solucionar las advertencias de contenido mixto en WordPress
Veamos cómo corregir las advertencias de contenido mixto de WordPress.
Paso 1: Confirmar que está utilizando un certificado SSL válido
Como hemos comentado, la instalación de un certificado SSL es una parte fundamental para la seguridad de tu sitio. Sin embargo, también es importante asegurarse de que es válido y se mantiene actualizado. Los certificados de Let’s Encrypt tienen un vencimiento por defecto de noventa días. Tienes que renovar el tuyo regularmente para que siga funcionando correctamente. Hay algunos proveedores de alojamiento que tienen una función incorporada para renovar los certificados SSL automáticamente. Por ejemplo mi WHM Cpanel lo hace.
Sin embargo, no siempre es así.. Por lo tanto, a menos que hayas implementado recientemente un certificado SSL en su sitio web, existe la posibilidad de que pueda expirar. Aunque probablemente no sea la causa de las advertencias de contenido mixto de WordPress hay que revisarlo.
Para determinar el estado de su certificado SSL, haz clic en el icono de información que aparece donde debería estar el candado en la barra de direcciones de su navegador. A continuación, selecciona Certificado (Válido).
En el Visor de certificados que se abre, puede revisar los detalles e información sobre su certificado SSL. Esto incluye las fechas de emisión y de caducidad. Verifique que tu certificado no haya caducado.
Paso 2: Cambiar las URLs internas de WordPress de HTTP a HTTPS
Si todavía estás tratando con advertencias de contenido mixto de WordPress incluso después de instalar un certificado SSL válido, es posible que la integración no haya sido configurada correctamente para el cifrado HTTPS.
Por lo tanto, el siguiente paso es cambiar sus URLs internas de HTTP a HTTPS en WordPress. Para ello debes ir a Ajustes > Generales.
En los campos de texto junto a Dirección de WordPress y Dirección del Sitio, reemplaza HTTP con HTTPS. Cuando termines, haz clic en el botón Guardar Cambios en la parte inferior de la pantalla.
Ahora, cada URL de su sitio de WordPress debe ser servida con HTTPS.
Sin embargo, los usuarios que acceden a tu sitio a través de un enlace usando ‘http://’ o que escriben “http” en sus navegadores cuando navegan a su sitio no se servirán las páginas HTTPS.
Por lo tanto, es necesario establecer una regla para redirigir HTTP a HTTPS.
Paso 3: Agregar una regla para redirigir HTTP a HTTPS
Otro problema que puede estar causando advertencias de contenido mixto de WordPress en su sitio es si nunca implementaste Redirects 301 para enviar automáticamente a los visitantes a la versión segura de sus páginas.
Para eso, necesitas añadir una regla en tu sitio web en el fichero .htaccess que obligará a WordPress a usar HTTPS. Puedes hacer esto manualmente o con un plugin. Yo en mi caso uso Really Simple SSL.
Si aún así prefieres hacerlo desde el .htacess, tendrías que ponerlo así:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.tupaginaweb.com/$1 [R,L] </IfModule>
Y esto haría una redirección general para todas las urls del dominio.
Paso 4: Realizar una Búsqueda y Reemplazar todos los enlaces dentro del contenido
El siguiente paso es actualizar los enlaces en su base de datos y contenido de WordPress para reemplazar cualquier instancia de HTTP con HTTPS. La forma más eficiente de hacerlo es usar un plugin como Better Search Replace . Después de instalarlo y activarlo en tu sitio de WordPress, navega a Herramientas > Better Search Replace.
Añade la versión HTTP de su sitio (http://yourdomain. com) en el campo Search for y y la versión HTTPS (https://yourdomain. com) en el campo Replace with.
Selecciona todas las tablas de tu base de datos de WordPress y quita la opción Run as dry run(es para que no se hagan cambios reales en base de datos, es una simulación si está marcado).
Cuando termine, haga clic en el botón Ejecutar Buscar/Reemplazar en la parte inferior de la pantalla.
Una vez que vacíes la caché de tu navegador y vuelvas a visitar su sitio web, no debería haber más advertencias de contenido mixto de WordPress.
Cómo cambiar las URLs de imágenes de HTTP a HTTPS en WordPress desde la base de datos
Si no queremos usar un plugin para esta tarea y controlamos de base de datos, simplemente podemos entrar en nuestro phpmyadmin y ejecutar una consulta que haga todo esto de golpe para todas las entradas del sitio web y más rápido. Esto se haría haciendo un UPDATE así:
UPDATE wp_posts SET post_content=(REPLACE (post_content, ‘http://pagina.web’,’https://pagina.web’));
Espero que todo esto te sea de ayuda para resolver tu problema. Si te ha gustado no olvides seguirme en Twitter y en mi canal de SEO en Youtube para estar al tanto de más contenidos como este.
¿Y tú que soluciones usas para resolver este problema?¿Te ha pasado alguna vez?