Las cabeceras de seguridad son instrucciones que tu servidor entrega a cada navegador: «carga esta página solo por HTTPS», «no me incrustes en marcos ajenos», «no ejecutes scripts de dominios desconocidos». No cuestan nada, no necesitan código en la página y cierran clases enteras de ataques. Aun así, la mayoría de las webs solo tienen una o dos.
Comprobar
Escribe la URL en el comprobador de cabeceras HTTP: lista todas las cabeceras de respuesta, explica cada cabecera de seguridad y da una nota de A a F. En el navegador también: herramientas de desarrollo → Red → documento → cabeceras de respuesta.
Las seis que importan
| Cabecera | Protege de | Valor recomendado |
|---|---|---|
| Strict-Transport-Security | Degradación a HTTP, robo de cookies | max-age=31536000; includeSubDomains |
| Content-Security-Policy | XSS, scripts ajenos | Lista blanca de tus fuentes; empezar con -Report-Only |
| X-Frame-Options | Clickjacking | SAMEORIGIN (o CSP frame-ancestors) |
| X-Content-Type-Options | MIME sniffing | nosniff |
| Referrer-Policy | Fuga de URL a terceros | strict-origin-when-cross-origin |
| Permissions-Policy | Accesos no deseados a cámara, micro, ubicación | camera=(), microphone=(), geolocation=() |
Configurar las cabeceras de seguridad
Apache (.htaccess)
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
WordPress sin acceso al servidor
add_action( 'send_headers', function () {
header( 'X-Frame-Options: SAMEORIGIN' );
header( 'X-Content-Type-Options: nosniff' );
header( 'Referrer-Policy: strict-origin-when-cross-origin' );
} );
CSP: la cabecera que rompe webs
Una Content-Security-Policy demasiado estricta bloquea Analytics, fuentes y widgets de pago. Por eso: primero Content-Security-Policy-Report-Only, una semana recogiendo infracciones en la consola del navegador, añadir fuentes y después activarla. Para WordPress con Elementor y GTM es realista una política con dominios explícitos para scripts y estilos; unsafe-inline para estilos suele ser inevitable.
Preguntas frecuentes
¿Las cabeceras de seguridad mejoran el SEO?
No directamente. HSTS y HTTPS sí son requisito para el candado y la confianza.
¿HSTS puede bloquear mi web?
Si HTTPS falla, sí: los navegadores rechazan HTTP. Prueba primero con un max-age corto (300) y luego súbelo.
¿Basta con un plugin?
Sí, si pone las seis. Comprueba el resultado igualmente con el comprobador; los plugins de caché a veces eliminan cabeceras.
Gratis, funciona en tu navegador, no se sube nada, sin registro.
Sigue leyendo
Más de Herramientas para desarrolladores.



Herramientas para esta tarea
Gratis, en tu navegador, sin registro.