Las cabeceras de seguridad (en inglés, security headers) son instrucciones que tu servidor envía al navegador junto con cada página: por ejemplo, entrar siempre por HTTPS o no dejar que otro sitio muestre el tuyo dentro de un marco oculto. Se configuran una sola vez, no cambian cómo se ve tu sitio y protegen a todas tus visitas. Aun así, la mayoría de los sitios chilenos no las usa.
¿Qué son las cabeceras de seguridad?
Cada vez que alguien abre una página, el servidor responde con el contenido y con un conjunto de cabeceras HTTP: datos que el visitante no ve, pero que el navegador lee para saber cómo tratar esa página. Algunas indican el tipo de archivo o cuánto tiempo guardarlo; las de seguridad le dicen al navegador qué debe bloquear.
No reemplazan las actualizaciones, las contraseñas seguras ni los respaldos: son una capa más. Su ventaja es que cuestan poco, porque se agregan en el servidor una vez y no dependen de cada página.
Las 6 cabeceras de seguridad recomendadas
| Cabecera | Para qué sirve | Valor de ejemplo |
|---|---|---|
Strict-Transport-Security (HSTS) | Obliga al navegador a entrar siempre por HTTPS, aunque alguien escriba http:// o intenten desviar la conexión. | max-age=31536000 |
Content-Security-Policy (CSP) | Define desde dónde puede cargar código tu sitio. Frena la inyección de scripts maliciosos (XSS) y el uso de tu sitio dentro de marcos ajenos. | frame-ancestors 'self'; upgrade-insecure-requests |
X-Frame-Options | Impide que otro sitio muestre el tuyo dentro de un marco oculto para engañar los clics (clickjacking). | SAMEORIGIN |
X-Content-Type-Options | Evita que el navegador «adivine» el tipo de un archivo y ejecute como código algo que no lo es. | nosniff |
Referrer-Policy | Controla cuánta información de tu página se envía cuando alguien hace clic en un enlace hacia otro sitio. | strict-origin-when-cross-origin |
Permissions-Policy | Bloquea la cámara, el micrófono, la ubicación y otras funciones que tu sitio no usa. | camera=(), microphone=(), geolocation=() |
Una que ya no conviene agregar es X-XSS-Protection: los navegadores actuales la ignoran y en algunos casos antiguos causaba problemas. Su función la cumple hoy Content-Security-Policy.
¿Cómo están los sitios web chilenos?
En mantencionweb.cl revisamos la portada de 300 sitios web de negocios con dominio .cl el 1 y 2 de octubre de 2026 (contamos solo totales; no nombramos ningún sitio; el método está en el estudio de la Ley 21.719). El 58 % no enviaba ninguna de las 6 cabeceras de seguridad.
| Cabecera (300 sitios, octubre de 2026) | La usa |
|---|---|
| Strict-Transport-Security | 27 % |
| X-Content-Type-Options | 26 % |
| Content-Security-Policy | 20 % |
| X-Frame-Options | 19 % |
| Referrer-Policy | 9 % |
| Permissions-Policy | 5 % |
| Ninguna de las 6 | 58 % |
Cómo revisar las cabeceras de seguridad de tu sitio
1. Con nuestro verificador gratis
Escribe la dirección de tu sitio en el verificador de seguridad web y en segundos te dice cuántas de las 6 cabeceras faltan, junto con el estado del certificado SSL y, si usas WordPress, su versión y los plugins que se ven desde fuera. Es gratis y no necesitas registrarte.
2. Con el navegador
- Abre tu sitio en Chrome, Edge o Firefox y presiona F12 (o clic derecho → «Inspeccionar»).
- Ve a la pestaña Red (Network) y recarga la página.
- Haz clic en la primera fila, que es la página misma.
- En Encabezados de respuesta (Response Headers) busca los 6 nombres de la tabla.
3. Con la terminal
Si usas la terminal de Windows, macOS o Linux, este comando muestra solo las cabeceras de la respuesta:
curl -I https://tusitio.clCómo agregar las cabeceras de seguridad
Antes de cambiar la configuración del servidor, guarda una copia del archivo. Un error en el .htaccess puede dejar el sitio fuera de línea con un error 500.
En Apache o un hosting con cPanel (.htaccess)
Es el caso de la mayoría de los hostings compartidos y de WordPress. Agrega este bloque al comienzo del archivo .htaccess de la carpeta principal del sitio:
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000"
Header always set Content-Security-Policy "frame-ancestors 'self'; upgrade-insecure-requests"
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=()"
</IfModule>En Nginx
Van dentro del bloque server. Ojo: si un bloque location tiene su propio add_header, deja de heredar estos, así que hay que repetirlos ahí.
add_header Strict-Transport-Security "max-age=31536000" always;
add_header Content-Security-Policy "frame-ancestors 'self'; upgrade-insecure-requests" 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;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;Si no tienes acceso al servidor
Algunos plugins de seguridad de WordPress permiten activarlas desde el panel, y si tu sitio pasa por Cloudflare puedes agregarlas con sus reglas de transformación de cabeceras. En ese caso, no las repitas también en el servidor: las cabeceras duplicadas pueden contradecirse.
Errores comunes al configurarlas
- Una Content-Security-Policy demasiado estricta puede bloquear Google Analytics, el chat, los mapas o los pagos. Por eso el ejemplo usa una política mínima, que no bloquea scripts. Si quieres una completa, pruébala primero con
Content-Security-Policy-Report-Only, que avisa sin bloquear. - Activar HSTS antes de que todo el sitio funcione con HTTPS: el navegador recordará la regla durante el tiempo indicado en
max-age. No agreguesincludeSubDomainsnipreloadsi no estás seguro de que todos tus subdominios tienen certificado. - X-Frame-Options en DENY impide también que tú mismo muestres tu sitio en un marco, por ejemplo en una vista previa.
SAMEORIGINsuele ser la opción segura. - Cabeceras repetidas entre el hosting, un plugin y Cloudflare: revisa el resultado final con el verificador o el navegador.
Las cabeceras ayudan, pero la mayoría de los ataques sigue entrando por plugins y temas desactualizados. Te lo explicamos en cómo funcionan los bots que buscan vulnerabilidades.
¿Quieres que lo dejemos configurado? Revisa primero tu sitio con el verificador de seguridad web gratis. Si faltan cabeceras, las agregamos y probamos que nada se rompa con una mantención por evento, desde $39.990 IVA incluido. Ver planes de mantención.

Escrito por Antonio Mondaca Vargas
Fundador de mantencionweb.cl
Más de 20 años en servicios TI, desarrollo web y servidores. Desde 2019 mantiene, aloja y posiciona sitios WordPress y WooCommerce en Chile con mantencionweb.cl.





