Cuando tu sitio web es marcado como “no seguro” por Google de repente, y los visitantes ven una ventana emergente de advertencia al intentar iniciar sesión o pagar, más del 63% de los usuarios cerrarán la página de inmediato, ¡lo que significa pérdida de tráfico y una caída drástica en la confianza de la marca!
En este artículo proporcionamos soluciones prácticas que se pueden implementar sin necesidad de conocimientos técnicos, ¡y restaurarán tu sitio a un estado “seguro” en solo 2 horas!
Table of Contens
Toggle¿Por qué tu sitio web es marcado como “no seguro”?
Desde 2018, Google ha impuesto la obligación de que todas las páginas que contengan entradas de usuario (como inicio de sesión, pagos, formularios) deben tener un certificado SSL, de lo contrario, serán etiquetadas como no seguras.
El problema más complejo es que, incluso si ya has instalado un certificado SSL, se puede invalidar HTTPS si el certificado ha caducado (por ejemplo, si no se renueva un certificado gratuito después de 3 meses), o si el dominio no coincide (si el sitio principal usa el dominio “www” pero el certificado está vinculado a la versión sin “www”), o si se usan enlaces HTTP en la página (por ejemplo, al llamar a códigos de anuncios externos).
El protocolo HTTP es “transporte desnudo”
Una tienda en línea de una cadena de tiendas físicas sufrió un ataque cuando no activaron HTTPS y los datos de registro de los usuarios fueron interceptados por un hacker. El equipo técnico descubrió que el atacante usó una red Wi-Fi pública y la herramienta Wireshark para capturar más de 200 contraseñas en texto claro en solo 5 minutos.
Problema principal:
- En el protocolo HTTP, todos los datos (contraseñas, información de pago) se transmiten en texto claro.
- Las páginas no cifradas tienen 3.6 veces más probabilidades de ser manipuladas que las páginas HTTPS (fuente: informe de seguridad de Sucuri 2024).
- Google reduce el peso de las páginas HTTP en el ranking de búsqueda en un 15%-20% (datos de experimentos de SEMrush).
Detalles “mortales” del certificado SSL
Durante un evento de ventas en 2023, un sitio de comercio electrónico sufrió la interrupción de su página de pagos debido a que su certificado SSL había caducado, lo que provocó una pérdida de 370,000 yuanes en pedidos.
- Certificado caducado: los certificados gratuitos (como Let’s Encrypt) deben renovarse cada 90 días, si no se renuevan, se invalidan.
- Dominio no coincidente: el certificado está vinculado a
domain.com
, pero si el usuario accede awww.domain.com
, se activa la advertencia. - Falta de certificados intermedios: esto afecta especialmente a dispositivos Android, lo que genera el error de “cadena de certificados incompleta”.
Situación actual en la industria: El 43% de los sitios web que tienen HTTPS todavía presentan errores en la configuración del certificado (fuente: SSL Labs 2024).
Contenido mixto: “Una manzana podrida echa a perder toda la cacerola”
Un administrador de un sitio de WordPress informó: “¡Instalé el certificado SSL, pero aún aparece como no seguro!” Finalmente, descubrió que las imágenes con enlaces HTTP en el tema estaban contaminando toda la página.
Escenarios comunes:
- Imágenes en artículos antiguos con enlaces HTTP (como
http://image.com/1.jpg
). - Complementos de terceros que llaman a interfaces no HTTPS (como ventanas de chat o códigos de anuncios).
- Enlaces HTTP codificados de forma fija en la base de datos.
Herramientas de autoinspección:
- Pulsa F12 en Chrome → Consola (Console) para ver los errores específicos.
- Usa SSL Checker para verificar la integridad del certificado.
Minas ocultas: Secuestro de red regional
En algunas regiones, los proveedores de Internet secuestran el tráfico HTTP e insertan anuncios o enlaces de redirección. Por ejemplo, una empresa en la provincia de Yunnan reportó que su página mostraba anuncios de apuestas automáticamente, lo que en realidad era causado por el secuestro de la red por parte del ISP local.
Este problema activa el mecanismo de seguridad del navegador, lo que hace que los usuarios crean que es una acción del sitio, lo que resulta en un aumento del 280% en las quejas (fuente: base de datos de casos de ZhanZhangZhiJia).
Cómo solicitar rápidamente un certificado SSL gratuito (3 métodos)
“¿Instalar SSL requiere modificar el servidor? ¿El costo es muy alto?” – Este es el malentendido que lleva al 90% de los administradores de sitios pequeños y medianos a ignorar las advertencias de “no seguro”.
De hecho, más de 430 millones de sitios web en todo el mundo ya usan certificados SSL gratuitos (fuente: BuiltWith), incluidos grandes como Amazon y WordPress.
La seguridad de los certificados gratuitos es completamente igual a la de los certificados de pago, solo difiere el método de validación.
1. Instalación con un solo clic desde el panel de control de hosting (ideal para principiantes)
Escenario adecuado: Usuarios de hosting compartido / servidores en la nube (como Alibaba Cloud, Tencent Cloud, SiteGround)
Pasos de operación:
- Inicie sesión en el panel de administración del host y busque el módulo “SSL/TLS” o “Seguridad”
- Seleccione “Certificado gratuito”, marque los dominios que desea cifrar (soporta operaciones en lote)
- Haga clic en “Desplegar”, espere de 3 a 5 minutos para que se active automáticamente
Tasa de éxito:98% (los principales proveedores de hosting en China ya han instalado un entorno compatible)
Ventajas:Sin barreras técnicas, renovación automática, tasa de fallos cercana a cero
Puntos a evitar:
- Algunos proveedores de hosting limitan la cantidad de certificados gratuitos (por ejemplo, West Digital solo ofrece uno)
- Asegúrese de que el análisis DNS esté vinculado a la dirección IP del host actual
2. Let’s Encrypt + Certbot (Recomendado por desarrolladores)
Escenarios aplicables:Servidores propios (como Nginx/Apache), gestión de múltiples dominios
Ejemplo probado:Un blog con más de 100,000 visitas diarias, cifró 100 subdominios en 3 minutos usando la línea de comandos
Proceso de operación:
# Instalar Certbot (Ejemplo con Ubuntu + Nginx)
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
# Solicitar y configurar el certificado automáticamente (reemplazar yourdomain.com)
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
# Activar renovación automática (certificado válido por 90 días)
sudo certbot renew --dry-run
Tasa de éxito:92% (depende de la configuración del entorno del servidor)
Solución de errores comunes:
Failed to connect to host for DVSNI challenge
→ Verifique si los puertos 80/443 están abiertos en el firewallThe server experienced an internal error
→ La resolución del dominio aún no ha tenido efecto, espere la actualización de DNS
3. Servicio CDN con HTTPS (aceleración de tráfico + cifrado combinado)
Plataformas compatibles:Cloudflare, Baidu Cloud Accelerator, Tencent Cloud CDN
Explicación del proceso (Ejemplo con Cloudflare):
- Regístrese y agregue el dominio del sitio web
- En la página de configuración “SSL/TLS”, seleccione el modo “Flexible” (Forzar HTTPS en todo el sitio)
- Habilite “Always Use HTTPS” y “Automatic HTTPS Rewrites”
Tiempo de activación:Inmediato (ya se ha activado en los nodos globales)
Ventajas principales:
- No es necesario instalar certificados en el servidor de origen, los nodos de borde de la CDN cifran automáticamente
- Compatible con servidores HTTP antiguos, resuelve perfectamente el problema de contenido mixto
- La versión gratuita admite certificados de dominio comodín (*.domain.com)
Soluciones para problemas
Condiciones | Ámbito afectado | Solución |
---|---|---|
Plazo corto | Let’s Encrypt solo tiene una validez de 90 días | Configurar renovación automática (tarea programada cron) |
Solo verifica la propiedad del dominio | El nombre de la empresa no aparece en la barra de direcciones | El sitio web de la empresa puede actualizar a un certificado OV (desde ¥300/año) |
Restricción de un solo dominio | Algunos proveedores de hosting limitan la cantidad de dominios vinculados | Use un certificado de dominio comodín (*.domain.com) |
Problemas con el “contenido mixto” que debe verificar
“¿Por qué sigue mostrando no seguro si ya instalé el certificado SSL?” — Este es el mayor problema para el 78% de los webmasters después de configurar HTTPS (Fuente: SSL Labs).
La causa principal es el “contenido mixto” (Mixed Content), es como si una gota de tinta se mezcla con un vaso de agua limpia, y todo el estado de cifrado de la página se ve afectado.
1. Impacto fatal del contenido mixto
- Pérdida de confianza de los usuarios : Incluso si el sitio es seguro, el navegador aún mostrará una advertencia de triángulo amarillo (después de Chrome 94, se actualizó a rojo)
- Fallo de algunas funciones : Algunos navegadores bloquean recursos HTTP (por ejemplo, no se cargan imágenes o hay errores en los scripts JavaScript)
- Penalización SEO : Google clasifica las páginas con contenido mixto como “parcialmente seguras”, lo que reduce el ranking de búsqueda en aproximadamente un 11%-15% (datos experimentales de Ahrefs)
2. Localización del problema en 3 minutos
Método 1: Herramientas para desarrolladores de Chrome
- Abre el sitio web y presiona F12 para acceder a las herramientas de desarrollo
- Cambia a la pestaña de Consola para ver los errores en rojo
- Haz clic en el enlace dentro del mensaje de error para ir directamente a la pestaña de Fuentes y ubicar el código problemático
Método 2: Herramientas de escaneo de terceros
- Why No Padlock: Introduce la URL y en 5 segundos genera una lista de recursos contaminados
- Jitbit SSL Check: Escaneo profundo de enlaces incrustados en CSS/JS
Método 3: Búsqueda global en la base de datos
Para sistemas de construcción de sitios como WordPress/Shopify, es necesario revisar el contenido histórico en la base de datos:
-- Buscar enlaces HTTP (reemplazar your_db_prefix con el prefijo real de la tabla)
SELECT * FROM your_db_prefix_posts
WHERE post_content LIKE '%http://%' AND post_status='publish';
3. Fuentes comunes de contaminación y soluciones
Tipo de problema | Proporción | Escenarios típicos | Solución definitiva |
---|---|---|---|
Enlaces externos de imágenes | 52% | Imágenes subidas antes de 2018 | Descargar imágenes → Subir a CDN del sitio |
Código de terceros | 23% | Ventanas emergentes de soporte, scripts de redes de publicidad | Contactar al proveedor para obtener la versión HTTPS del código |
Temas/Complementos | 17% | Bibliotecas de fuentes de temas antiguos, solicitudes AJAX | Actualizar complementos o reemplazar manualmente http:// por // |
Código duro en la base de datos | 8% | Enlaces de video insertados manualmente en las páginas de detalles del producto | Reemplazar datos SQL por lotes (usar complementos para mayor seguridad) |
4. Estrategia de defensa permanente contra el contenido mixto
- Enlaces relativos de protocolo: Cambiar
http://example.com/image.jpg
a//example.com/image.jpg
- Política de seguridad de contenido (CSP): Agregar esto a la configuración de Nginx/Apache:
add_header Content-Security-Policy "upgrade-insecure-requests";
Redirección forzada de todo el sitio a HTTPS (ejemplo de código)
“¿Por qué después de instalar el certificado, los usuarios aún pueden acceder a la versión HTTP?” — Esta es la vulnerabilidad más fatal después de corregir el contenido mixto.
Un sitio de comercio electrónico para madres y niños sufrió una caída del 30% en el ranking de búsqueda porque no configuró redirección forzada, lo que causó que el 40% de los usuarios móviles siguieran accediendo a las páginas a través de enlaces HTTP antiguos, lo que provocó una nueva captura por parte de Google.
La lógica central de la redirección forzada es: interceptar todas las solicitudes HTTP y redirigirlas permanentemente a HTTPS con un estado 301.
1. Plantilla de código genérica (compatible con Apache/Nginx/IIS)
Servidor Apache (.htaccess)
RewriteEngine On
# Forzar la redirección al sitio principal
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Corregir el uso mixto de www y no-www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Casos de uso: Alojamiento virtual, WordPress, Joomla y otros sitios PHP
Guía para evitar errores:
- Asegúrate de que el módulo
mod_rewrite
esté habilitado en el servidor - El archivo debe cargarse en el directorio raíz del sitio
- Si la redirección falla, verifica si hay conflictos entre varios archivos
.htaccess
Servidor Nginx (sección de configuración nginx.conf)
server {
listen 80;
server_name example.com www.example.com;
# Redirección 301 para todo el sitio
return 301 https://$server_name$request_uri;
# Bloquear métodos HTTP innecesarios
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 444;
}
}
Consejos para depuración:
- Después de modificar, ejecuta
nginx -t
para probar la sintaxis de la configuración - Recarga la configuración:
nginx -s reload
- Bloquea los métodos HTTP innecesarios para evitar fugas de datos
Servidor Windows IIS (regla web.config)
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Forzar HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Errores comunes:
- No se ha instalado el módulo “URL Rewrite” en IIS → Enlace de descarga oficial
- Error de codificación de rutas en chino → Añadir
encode="false"
en la regla
2. Solución específica para CMS
Usuarios de WordPress
- Inicie sesión en el panel de administración → Ajustes → General
- Cambie la dirección de WordPress y la dirección del sitio de
http://
ahttps://
- Instale el complemento Really Simple SSL → Arregle el contenido mixto de la base de datos con un solo clic
Shopify/Laravel y otros frameworks
Forzar HTTPS en el archivo de variables de entorno (.env
) :
APP_URL=https://www.example.com
FORCE_SSL=true
SESSION_SECURE_COOKIE=true
3. Tratamiento especial para dispositivos móviles (AMP/Navegador WeChat)
- Redirección AMP: Agregue
<meta http-equiv="refresh" content="0; url=https://nuevo-enlace">
en el HTML de AMP - Problema de caché de WeChat: Agregue un parámetro aleatorio al final de la URL, como
?v=2024
, para forzar la actualización de la versión HTTPS
4. Pruebe si la redirección funciona
Prueba en el navegador:
- Acceda a
http://example.com
→ La barra de direcciones debe cambiar automáticamente ahttps://
- Verifique si el icono del candado después de la redirección es verde
Verificación desde la línea de comandos:
curl -I http://example.com
# La respuesta correcta debe incluir:
# HTTP/1.1 301 Moved Permanently
# Location: https://example.com
Herramientas en línea:
Advertencia de error:
Configuración incorrecta → Bucle de redirección infinita (ERR_TOO_MANY_REDIRECTS)
Causas comunes:
1. El CDN habilita la redirección HTTPS al mismo tiempo (conflicto con las reglas del servidor)
2. El balanceador de carga no pasa correctamente el encabezado del protocolo
Solución:
Agregue en la configuración de Nginx:
proxy_set_header X-Forwarded-Proto $scheme;
Principios de redirección amigables con SEO:
- Utilice redirecciones 301 en todo el sitio (redirección permanente) para transferir el 100% del valor del enlace
- Evite redirecciones en cadena (por ejemplo, http→http://www→https); permita un máximo de 1 redirección
- Envíe un sitemap HTTPS en Google Search Console
Desde 2018, Google ha comenzado a incluir gradualmente HTTPS como un factor de clasificación. Los sitios no cifrados pierden, en promedio, un 12%-15% del tráfico cada año, y esta pérdida aumenta a medida que crece la conciencia sobre la seguridad entre los usuarios.