Cabeceras de seguridad SSL

Descripción
¿Qué son las cabeceras de seguridad? Las cabeceras de seguridad HTTP son una parte fundamental de la seguridad de un sitio web, pero a menudo se pasan por alto. Cuando un visitante accede a su sitio web, el navegador envía una petición a su servidor. Además de los bloques de construcción de su sitio web, el servidor también envía cabeceras de respuesta HTTP, indicando al navegador cómo debe gestionarse la comunicación mientras se navega por su sitio web. Estas respuestas le dirán al navegador que se asegure de que el visitante está a salvo de ataques maliciosos mientras se desplaza por el contenido o realiza un pago en una tienda web. Proteger a los visitantes de su sitio web es fundamental. No omita las cabeceras de seguridad antes de publicar su sitio web. ¿Necesito cabeceras de seguridad? No sólo necesita cabeceras de seguridad, sino que le recomendamos encarecidamente que compruebe todas las cabeceras con regularidad para ver si se ha producido algún cambio en los valores. Es posible que algunas cabeceras de seguridad ya no sean válidas, que estén obsoletas o que se puedan implementar cabeceras de seguridad más nuevas. Mantenga sus cabeceras de seguridad actualizadas para defenderse de las nuevas e ingeniosas formas en que los atacantes hacen mal uso de su sitio web.
Código
<?php
/**
 * Plugin para añadir cabeceras de seguridad esenciales a WordPress. Añadirlo en un archivo.php en la carpeta mu-plugin
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Salir si se accede directamente al archivo
}
add_action( 'send_headers', function() {
    // 1. X-Content-Type-Options: Evita que el navegador intente "adivinar" el tipo de contenido (MIME sniffing).
    header( 'X-Content-Type-Options: nosniff' );
    // 2. X-Frame-Options: Previene que tu sitio sea cargado en un iframe (evita Clickjacking).
    header( 'X-Frame-Options: SAMEORIGIN' );
    // 3. X-XSS-Protection: Desactiva filtros XSS antiguos en navegadores que aún los soportan.
    header( 'X-XSS-Protection: 1; mode=block' );
    // 4. Referrer-Policy: Controla qué información de referencia se envía a otros sitios.
    header( 'Referrer-Policy: strict-origin-when-cross-origin' );
    // 5. Permissions-Policy: Restringe el uso de características del navegador (como la cámara o micrófono).
    header( 'Permissions-Policy: camera=(), microphone=(), geolocation=()', true );
});

/**
 * HSTS (HTTP Strict Transport Security)
 * Nota: Úsalo solo si tienes un certificado SSL válido y activo.
 * Esto obliga al navegador a usar HTTPS siempre.
 */
if ( $_SERVER['HTTPS'] === 'on' ) {
    header( 'Strict-Transport-Security: max-age=31536000; includeSubDomains; preload' );
}