Primero, mira qué envía Shopify ya
Antes de dar por bueno un hallazgo, comprueba qué llega de verdad. Shopify sirve la tienda desde su propia infraestructura y ya aporta parte de esto por su cuenta, así que puede que lo que te marcan no sea lo que te imaginas:
curl -sI https://tu-tienda.com | grep -i -E "strict-transport|x-frame|x-content-type|referrer-policy|content-security"Lo que salga ahí es lo que tienes, y no lo decides tú. Lo que no salga, no vas a poder añadirlo desde el panel de Shopify.
La única solución real: un proxy delante
Si pones tu dominio detrás de Cloudflare, las cabeceras se añaden en la capa de distribución, antes de que la respuesta llegue al visitante. Es la vía que de verdad resuelve el problema.
- Añade el dominio a Cloudflare y cambia los nameservers en tu registrador.
- Mantén el registro de la tienda apuntando a Shopify como te indique su documentación, con el proxy activado (la nube naranja).
- Ve a Rules → Transform Rules → Modify Response Header.
- Crea una regla que aplique a todo el tráfico y añade ahí cada cabecera con su valor.
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=()Apps del App Store
Hay apps que prometen cabeceras de seguridad. Dentro de las limitaciones de Shopify no pueden hacer más que inyectar etiquetas meta en el tema, con lo que vuelves al problema de arriba. Antes de pagar una suscripción, pregunta directamente si añade cabeceras de respuesta HTTP reales y pide una tienda de demostración donde puedas lanzar el curl.
Lo que sí controlas en Shopify
Si el proxy no es viable, hay cosas con impacto real que sí están en tu mano y que suelen salir en el mismo informe:
- SPF, DKIM y DMARC del dominio. Son registros DNS, no tienen nada que ver con Shopify y es donde está el riesgo de que suplanten a tu tienda por email. Suele ser el hallazgo más grave y el más fácil de corregir.
- Revisar los scripts de terceros del tema. Cada app instalada añade JavaScript a la tienda; las que ya no uses, desinstálalas en lugar de desactivarlas.
- Cuidar qué se carga en el checkout, donde cualquier script de tercero es más sensible que en el resto de la tienda.
- Tener el certificado y el dominio al día, que Shopify gestiona pero conviene vigilar.
Cómo explicárselo al cliente
Si mantienes una tienda Shopify para un cliente y el informe marca cabeceras ausentes, lo honesto no es prometer que lo arreglas: es decir que en Shopify esas cabeceras no se pueden añadir sin poner un proxy delante, que eso es un cambio de infraestructura con su propio riesgo, y que mientras tanto hay otras cosas del mismo informe con más impacto y menos riesgo. Un hallazgo que se documenta como aceptado a conciencia vale más que uno marcado como resuelto cuando no lo está.