How to fix missing content security policy on WordPress.org
Add a Content-Security-Policy (CSP) HTTP response header to every page to block unauthorized scripts, styles, and resources from loading in your visitors' browsers.
Steps for WordPress.org
- Install the 'HTTP Headers' plugin or 'Headers Security Advanced & HSTS WP' from the WordPress plugin repository.
- Configure the Content-Security-Policy header value in the plugin's settings page.
- Alternatively, add directly via functions.php: add_action('send_headers', function(){ header("Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self';"); });
- Or set in .htaccess (Apache): Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none';"
- Or in Nginx config: add_header Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none';" always;
What is missing content security policy?
A Content Security Policy (CSP) is an instruction you send to your visitors' web browsers, embedded in a special HTTP header, that tells the browser exactly which sources of scripts, images, styles, fonts, and other content it is allowed to load on your site. Think of it as a strict guest list at a nightclub door: anything not on the list gets turned away. Without a CSP header, the browser will happily load resources from anywhere — including malicious scripts injected by attackers. Your site currently sends no CSP header at all, which means that protection layer is completely absent.
Without a CSP, your store is significantly more vulnerable to Cross-Site Scripting (XSS) attacks — one of the most common ways attackers steal customer data, hijack sessions, or install payment-skimming code (like Magecart) directly in your shoppers' browsers. A successful XSS attack can expose customers' credit card numbers, passwords, and personal information, leading to chargebacks, fines under GDPR/CCPA, PCI-DSS violations, and severe reputational damage. Google also considers site security as a ranking signal, so a visibly compromised site can lose organic search rankings fast. Adding a CSP is recognized by OWASP as a critical defense-in-depth control against injection attacks (A03:2021).
See the complete Missing content security policy guide for every platform and the full background.
Not sure if your WordPress.org store has this?
Run a free SEOLZ scan — we’ll find missing content security policy and every other issue across your whole site.
Scan my site free