How to fix missing content security policy on Joomla

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 Joomla

  1. Go to System → Global Configuration → Server tab → Content Security Policy (Joomla 4+ has a built-in CSP field).
  2. Enter your policy string in the Content Security Policy field and set the mode to 'Enforce'.
  3. Alternatively, use the .htaccess file: Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none';"
  4. Install a Joomla security extension such as 'RSFirewall!' or 'Akeeba Admin Tools' for a UI-driven approach.
Official Joomla documentation ↗

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 Joomla 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

Fix missing content security policy on another platform