Prueba de HTTPS y cabeceras de seguridad
Respuesta breve
Comprueba el HTTPS, la redirección de HTTP a HTTPS, el contenido mixto, HSTS y las cabeceras de seguridad e indexación que envía tu página.
Lo que no hace: No examina el certificado TLS ni su fecha de caducidad (eso lo hace la comprobación de disponibilidad) y revisa las cabeceras de la única URL que introduces.
Qué hace
Prueba la configuración HTTPS de un sitio y las cabeceras de respuesta que la protegen. La parte de HTTPS comprueba que la página carga por HTTPS, que HTTP normal redirige a ella de forma permanente, que la página segura no carga nada por HTTP normal y que HSTS está configurado con un max-age suficientemente largo. La parte de cabeceras comprueba X-Content-Type-Options, Content-Security-Policy, la protección contra clickjacking, si el servidor revela su tecnología y si una cabecera X-Robots-Tag mantiene la página fuera de los resultados de búsqueda.
Por qué importa
HTTPS es una señal de posicionamiento ligera de Google desde 2014, y los navegadores marcan las páginas HTTP normales como no seguras. Una redirección temporal, una cabecera HSTS ausente o una cabecera `noindex` perdida son fáciles de pasar por alto, porque la página sigue viéndose bien en el navegador.
Cómo funciona
-
Introduce la URL de una página
-
Solicitamos la página HTTPS y la versión HTTP normal de la misma dirección
-
Comprobamos la redirección, HSTS y el contenido mixto, y luego leemos las cabeceras de respuesta
-
Devolvemos un resultado por cada parte, con lo que hay que corregir
Ejemplo de entrada y salida
url: https://rankproof.eu
HTTPS y redirecciones el sitio carga por HTTPS OK redirección HTTP → HTTPS: 301 OK contenido mixto en la página segura: 0 OK HSTS max-age: 365 días OK Cabeceras de seguridad e indexación X-Content-Type-Options configurada OK Content-Security-Policy configurada OK protección contra clickjacking OK tecnología del servidor oculta OK la página es indexable OK 2 de 2 áreas están bien
Cómo leer el resultado
- Dos partes
- El informe tiene una parte de HTTPS y redirecciones y otra de cabeceras de seguridad e indexación. Cada una tiene su propia puntuación, y el resumen solo se pone en verde cuando ambas lo están, así que unas cabeceras perfectas no pueden ocultar una redirección que falta.
- El sitio carga por HTTPS
- La dirección que introdujiste respondió por HTTPS. Si introduces una dirección http://, esta comprobación falla, así que introduce la dirección https:// que quieres que usen los visitantes.
- Redirección HTTP → HTTPS (301 en el ejemplo)
- Pedimos la versión http:// simple de la misma dirección sin seguir redirecciones. Un 301 o 308 a una dirección https:// pasa; un 302 o 307 temporal resta puntos, porque los buscadores pueden seguir mostrando la dirección http://. Si el HTTP simple no responde en absoluto, no cuenta en tu contra.
- Contenido mixto (0)
- Imágenes, scripts, hojas de estilo, frames y otros recursos que la página segura carga por http:// simple. Los navegadores bloquean los scripts y frames inseguros y bloquean o actualizan los medios inseguros, así que cada uno está roto o es un aviso en la barra de direcciones.
- HSTS max-age (365 días)
- Durante cuánto tiempo se indica a los navegadores que usen solo HTTPS para el sitio. Un año o más pasa; un valor menor o la falta de cabecera recibe una advertencia. includeSubDomains y preload no puntúan.
- Cabeceras de seguridad
- X-Content-Type-Options evita que los navegadores adivinen tipos de archivo; Content-Security-Policy limita desde dónde pueden cargarse scripts; X-Frame-Options o la directiva frame-ancestors impide que otros sitios enmarquen tu página (clickjacking). «Tecnología del servidor oculta» significa que ninguna cabecera X-Powered-By nombra tu software.
- La página es indexable
- Una cabecera X-Robots-Tag con noindex deja la página fuera de los resultados de búsqueda sin aparecer en ningún lugar del HTML. Es el único problema de cabeceras que pone esta parte en rojo por sí solo.
Quién lo usa
-
Ingeniero/a de DevOps
Ejecútala tras un cambio de servidor o CDN para confirmar que la redirección, HSTS y las cabeceras de seguridad se mantienen.
-
Auditor/a de seguridad
Revisa cada dominio de producción en busca de contenido mixto, HSTS débil y cabeceras de seguridad ausentes.
-
Especialista en SEO
Antes de que una migración se publique, confirma que HTTP redirige de forma permanente y que ninguna cabecera bloquea la indexación.
Problemas frecuentes y cómo solucionarlos
-
El HTTP no redirige, o redirige con 302
Redirige cada petición HTTP simple a la misma ruta en HTTPS con un 301, en el servidor web o la CDN y no en el código de la página, para cubrir también imágenes y archivos.
# nginx server { listen 80; server_name example.com www.example.com; return 301 https://example.com$request_uri; } -
Contenido mixto en la página segura
Cambia las direcciones de recursos de http:// a https:// o, para tus propios archivos, a rutas relativas. Si un tercero no tiene versión HTTPS, aloja el archivo tú mismo o elimínalo. La directiva upgrade-insecure-requests puede actualizar el resto mientras los corriges.
Content-Security-Policy: upgrade-insecure-requests -
Sin HSTS, o con un max-age corto
Añade Strict-Transport-Security cuando todas las páginas funcionen por HTTPS y sube max-age a un año como mínimo (31536000 segundos). Añade includeSubDomains solo cuando todos los subdominios tengan HTTPS, y preload al final: salir de las listas de precarga es lento.
Strict-Transport-Security: max-age=31536000; includeSubDomains -
Faltan cabeceras de seguridad
Envía X-Content-Type-Options: nosniff en cada respuesta. Contra el clickjacking, frame-ancestors en Content-Security-Policy es el estándar actual y X-Frame-Options cubre navegadores antiguos. Una política completa para scripts requiere pruebas, así que empieza por estas dos y amplíala poco a poco.
X-Content-Type-Options: nosniff Content-Security-Policy: frame-ancestors 'self' X-Frame-Options: SAMEORIGIN -
Una cabecera noindex que no pusiste
Busca X-Robots-Tag en la configuración del servidor, la CDN o el framework; una configuración copiada de un sitio de pruebas es una de las formas en que ocurre. Quítala de las páginas que deben encontrarse y solicita la indexación de la página en Search Console.
-
Las cabeceras nombran el software del servidor
Desactiva X-Powered-By (y los números de versión de la cabecera Server) en la configuración del framework o del servidor. No detiene ataques, pero deja de anunciar qué versión atacar.
# php.ini expose_php = Off // Express (Node.js) app.disable('x-powered-by');
Preguntas frecuentes
- ¿Comprueba el certificado SSL/TLS?
- No. Comprueba si la página carga por HTTPS, cómo redirige HTTP hacia ella, HSTS, el contenido mixto y las cabeceras de respuesta. No inspecciona el certificado ni su fecha de caducidad.
- ¿Qué es HSTS?
- HTTP Strict Transport Security: una cabecera que indica a los navegadores que usen HTTPS para tu dominio incluso cuando alguien escribe `http://`. Apunta a un max-age de al menos un año.
- ¿Qué es el contenido mixto?
- Una página HTTPS que carga recursos (imágenes, scripts, CSS) por HTTP normal. Los navegadores bloquean los scripts inseguros y actualizan o advierten sobre las imágenes inseguras.
- ¿Qué cabeceras se comprueban?
- X-Content-Type-Options, Content-Security-Policy, X-Frame-Options o la directiva frame-ancestors de la CSP, X-Powered-By y X-Robots-Tag. El informe también enumera las cabeceras de respuesta que devolvió la página.
- ¿Cómo puede una cabecera bloquear la indexación?
- Una cabecera `X-Robots-Tag: noindex` mantiene una página fuera de los resultados de búsqueda igual que una etiqueta meta robots, pero no aparece en el código fuente de la página, así que a menudo pasa desapercibida.
- ¿Cuándo debería ejecutarla?
- Después de una migración, y después de cualquier cambio de servidor o CDN.
Fuentes
La documentación en la que se basan esta herramienta y las explicaciones de esta página.
- HTTPS as a ranking signal — Google Search Central Blog
- Strict-Transport-Security — MDN Web Docs
- Mixed content — MDN Web Docs
- X-Content-Type-Options header — MDN Web Docs
- Content Security Policy (CSP) — MDN Web Docs
- Content-Security-Policy: frame-ancestors directive — MDN Web Docs
- Robots Meta Tags Specifications — Google Search Central