technical
Redirige HTTP a HTTPS
MetricSpot comprueba si las peticiones http:// se redirigen con 301 a https://. Sin esto tu sitio tiene dos copias indexables — y una ventana de downgrade para cada visitante nuevo.
Qué comprueba esta auditoría
Lanza una petición a http://tudominio.com/ y busca una respuesta 301 o 308 con una cabecera Location: apuntando a https://. La comprobación falla si la versión HTTP devuelve 200 (tu sitio se sirve a la vez en texto plano) o no devuelve nada (el puerto 80 no está escuchando).
Por qué importa
Aunque tengas HTTPS disponible, la primera petición que hace un visitante nuevo casi siempre va en texto plano. Teclea tudominio.com y el navegador intenta primero HTTP. Sin redirección, tres cosas se tuercen a la vez.
- Dos copias indexables. Google trata
http://example.com/pageyhttps://example.com/pagecomo URLs distintas. Sin un 301 pueden aparecer ambas en el índice, repartiendo backlinks y señal de posicionamiento. - Ventana de downgrade. Esa primera petición en texto plano es cuando suceden los ataques tipo sslstrip en redes hostiles. El servidor debe negarse a la conversación y forzar la subida.
- Avisos de mixed-content. Si la versión HTTP llega a renderizarse, cada URL de recurso de la página que no sea relativa al protocolo se carga por HTTP, y los navegadores modernos lo bloquean en silencio.
La redirección es el puente hacia HSTS. Una vez fijado HSTS, los navegadores dejan de pegarle a HTTP en visitas siguientes, pero la redirección sigue teniendo que cazar a los visitantes nuevos y a los rastreadores.
Cómo solucionarlo
Escucha en el puerto 80 y devuelve 301 al equivalente HTTPS para cada ruta:
nginx:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://www.example.com$request_uri;
}
Apache (.htaccess):
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Caddy — automático. Caddy redirige HTTP→HTTPS por defecto en cuanto un bloque de sitio tiene un hostname elegible para TLS.
Cloudflare — SSL/TLS → Edge Certificates → “Always Use HTTPS” → On.
Vercel / Netlify / Render / Dokku — la redirección a HTTPS está activada por defecto en cualquier proyecto con dominio personalizado.
Consigue antes el certificado. Si no tienes uno, Let’s Encrypt + Certbot es gratis y se renueva solo:
sudo certbot --nginx -d example.com -d www.example.com
Audítalo tú — curl -sI http://example.com/ debería imprimir HTTP/1.1 301 Moved Permanently y una cabecera Location: https://.... Cualquier otra cosa (200, 404, conexión rechazada) falla la comprobación.
Preguntas frecuentes
¿301 o 308?
301 es el estándar. 308 (RFC 7538) es la misma idea pero garantiza que ni el método ni el cuerpo se reescriban en la redirección, lo que importa para peticiones POST. Para un sitio web típico con tráfico GET, 301 está bien y es lo que usan por defecto todos los CDNs y WAFs.
¿Y el subdominio de la API, misma regla?
Sí. Cualquier subdominio que sirva tráfico real debería redirigir HTTP a HTTPS igual. Si la API es del tipo que solo acepta HTTPS (sin fallback), también puedes configurar el servidor para rechazar el puerto 80 directamente con connection: close.
¿Redirijo a www o sin www a la vez?
Si vas a colapsar ambas decisiones en una sola redirección, sí — combínalas para que el visitante aterrice en la URL canónica tras un solo salto, no dos. Consulta Mantén cortas las cadenas de redirecciones para la trampa de apilar redirecciones.
Fuentes
Última actualización 2026-05-11