Configurar Content Security Policy (CSP) en WordPress es crucial para proteger tu sitio web de ataques, como el cross-site scripting (XSS). Al establecer una CSP adecuada, puedes mejorar la seguridad y, potencialmente, el rendimiento de tu página.
Introducción
La Content Security Policy (CSP) es una herramienta de seguridad que ayuda a prevenir ataques de inyección de código malicioso en las aplicaciones web. Según W3Schools, la implementación de CSP puede reducir los riesgos de ataques en un 90%. En un mundo digital en constante evolución, la seguridad de tus datos y de tus usuarios es más importante que nunca.
Qué es
La Content Security Policy es un estándar de seguridad web que permite a los administradores de sitios especificar qué recursos pueden ser cargados y ejecutados en sus páginas web. Esto se logra a través de un encabezado HTTP que indica al navegador las fuentes de contenido confiables.
Si te interesa este tema, quizá te ayude: como configurar ithemes security en wordpress
Ventajas y Desventajas
Ventajas
- Previene ataques de XSS y otros tipos de inyecciones de código.
- Mejora la seguridad general del sitio web.
- Permite un mayor control sobre los recursos que se cargan.
Desventajas
- Puede requerir ajustes constantes a medida que cambian los recursos del sitio.
- Un mal manejo de la política puede romper funcionalidades del sitio.
- Requiere conocimientos técnicos para su correcta implementación.
Cómo implementar en WordPress
A continuación se presentan los pasos para implementar una CSP en WordPress:
- Accede a tu panel de administración de WordPress.
- Instala un plugin de seguridad que soporte CSP, como WP Content Security Policy.
- Configura las directivas de CSP en el plugin según las necesidades de tu sitio.
- Si prefieres hacerlo manualmente, agrega el siguiente snippet de código en el archivo
functions.phpde tu tema:
function add_csp_header() {
header("Content-Security-Policy: default-src 'self'; img-src 'self' data:; script-src 'self' https://trusted.cdn.com;");
}
add_action('send_headers', 'add_csp_header');
Comparativa de herramientas/plugins
| Nombre | Ventajas | Ideal para |
|---|---|---|
| WP Content Security Policy | Fácil de usar, interfaz intuitiva | Principiantes |
| Security Headers | Configuración avanzada, múltiples políticas | Usuarios avanzados |
| HTTP Headers | Gestión de múltiples encabezados de seguridad | Desarrolladores |
Ejemplo práctico
Supongamos que tienes un sitio de comercio electrónico en WordPress. Para implementar una CSP, puedes usar el plugin WP Content Security Policy y configurar las siguientes directivas:
- default-src ‘self’;
- img-src ‘self’ https://example.com;
- script-src ‘self’ https://trusted.cdn.com;
Esto permitirá cargar solo recursos de tu dominio y de los dominios específicos que has confiado.
Preguntas frecuentes
- ¿Qué navegadores soportan CSP? La mayoría de los navegadores modernos, incluyendo Chrome, Firefox, Safari y Edge, soportan CSP.
- ¿CSP afectará el rendimiento de mi sitio? En general, CSP no debería afectar negativamente el rendimiento, y en algunos casos, puede mejorarlo al eliminar recursos innecesarios.
- ¿Puedo probar CSP sin implementarla completamente? Sí, puedes usar herramientas como report-uri.com para monitorear tus políticas antes de aplicarlas.
Errores comunes
- No configurar correctamente las directivas, lo que puede llevar a que ciertos recursos no se carguen.
- Permitir demasiadas fuentes, lo que puede reducir la efectividad de la CSP.
- Olvidar incluir nuevas fuentes a medida que se añaden recursos al sitio.
Checklist rápido
- ¿Has instalado un plugin de CSP?
- ¿Has revisado las directivas de seguridad?
- ¿Has probado la CSP en modo informe antes de implementarla?
- ¿Has documentado todas las fuentes utilizadas en tu sitio?
Glosario breve
- CSP: Content Security Policy, una medida de seguridad para prevenir ataques.
- XSS: Cross-Site Scripting, un tipo de ataque informático.
- Directiva: Instrucción específica dentro de una política de seguridad.
Nuestro Experto en Webs WordPress te explica detalladamente que debes saber de la CSP
Configurar una Content Security Policy (CSP) en WordPress es una de las medidas más potentes para reforzar la seguridad del navegador frente a XSS, inyecciones y cargas no autorizadas de scripts, pero también es una de las más delicadas de implantar bien. A nivel técnico, la CSP se envía normalmente por cabecera HTTP Content-Security-Policy y le dice al navegador qué orígenes pueden cargar scripts, estilos, fuentes, imágenes, iframes o conexiones. Una política básica puede empezar por algo como default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' https: data:; pero eso, en WordPress real, casi nunca basta porque themes, plugins, constructores y herramientas externas suelen inyectar scripts inline, estilos inline, iframes, fuentes externas o llamadas a CDNs. Aquí entran los nonces y los hashes, que son el núcleo de una CSP moderna: un nonce es un token único por petición que se añade a cada <script> o <style> inline autorizado y también a la cabecera CSP, por ejemplo script-src 'self' 'nonce-abc123'; un hash, en cambio, permite autorizar un bloque inline concreto por su huella, como sha256-..., siempre que ese contenido no cambie. Chrome recomienda que una CSP eficaz contra XSS use nonces o hashes y, en políticas estrictas, strict-dynamic, precisamente para evitar políticas débiles basadas solo en allowlists de dominios.
Desde un punto de vista avanzado, una CSP estricta intenta eliminar unsafe-inline y unsafe-eval, permitir solo scripts autorizados individualmente y bloquear por defecto casi todo lo demás. Sobre el papel es excelente, pero en WordPress puro no siempre es viable sin trabajo serio, porque muchos plugins meten JS inline, estilos inline, eventos tipo onclick, scripts de terceros, bloques dinámicos y dependencias que cambian constantemente. Por eso, en WordPress una CSP estricta de verdad suele requerir una combinación de ajustes manuales, auditoría de plugins y, a veces, apoyo de algún plugin o capa del servidor que ayude a inyectar cabeceras y reportes, aunque los nonces bien implementados suelen necesitar control de tema, plantilla o servidor más que “un plugin mágico”. Los hashes son útiles cuando el inline es estático, pero en WordPress suelen volverse incómodos si el HTML cambia con frecuencia; los nonces son más flexibles, aunque obligan a generar y propagar ese valor por cada respuesta. Además, si usas cosas modernas como speculation rules, incluso esas etiquetas pueden requerir hash o nonce bajo una CSP estricta. En resumen: sí, una CSP estricta es viable en WordPress, pero no suele ser plug-and-play; en webs muy cargadas de plugins lo habitual es empezar con una CSP progresiva, medir bloqueos, pasar por Report-Only y endurecer poco a poco.
Respecto a PageSpeed, conviene explicarlo bien: Lighthouse/PageSpeed sí tiene en cuenta la existencia y calidad de la CSP dentro de sus buenas prácticas de seguridad, pero no es una señal directa del algoritmo de ranking de Google por sí sola. Dicho de otra forma: te ayuda a mejorar la solidez técnica y puede aparecer como recomendación o auditoría relacionada con seguridad, pero no debes verla como un “factor SEO directo” aislado. Aun así, saber esto tiene muchísimo valor porque una web segura, estable y técnicamente bien gobernada sufre menos incidencias, menos inyecciones y menos sustos que luego sí terminan afectando a indexación, confianza y rendimiento general. Por eso, trabajar bien la CSP forma parte de una estrategia seria de soporte técnico para webs seguras: no solo bloqueas vectores de ataque en el navegador, también elevas el nivel técnico de la web frente a una competencia que suele ignorar por completo este tema. Si necesitas ayuda para diseñar una CSP compatible con WordPress, auditar nonces, hashes y encabezados sin romper plugins ni funcionalidades, puedes contactar con Programador Especialista en Wordpress.
Conclusión
Para pasar de teoría a resultados, necesitas diagnóstico + ejecución con criterio (no “parches”).
Como siguiente paso útil, revisa lo que falla en la mayoría de setups.
Si luego quieres llevarlo a tu web con un plan serio, aquí tienes soporte WordPress con método.
Si necesitas una intervención con criterio (sin parches), empieza por el técnico WordPress especialista.
Configurar Content Security Policy en WordPress es un paso esencial para mejorar la seguridad de tu sitio web. Aunque puede parecer complicado al principio, con las herramientas adecuadas y una comprensión clara de las directivas, puedes proteger tu sitio de amenazas comunes y mantener a tus usuarios seguros.
Si necesitas ayuda profesional, mira esto: soporte wordpress empresas