webzod
account

Send the Content-Security-Policy as an HTTP header on WordPress

headers.csp.meta_only · effort: about an hour

Why it matters

A policy in a meta tag cannot use frame-ancestors, reporting or sandbox, and it only protects what comes after the tag in the page. The same policy sent as a response header covers the whole document.

Staged change. Do this in stages and check each one before the next, so a mistake does not break your site or your mail.

The fix

  1. Stage 1: set the policy as a report-only header with a security-headers plugin or at the server or CDN (see their tabs).
  2. Stage 2: enforce it, then remove the meta tag from the theme's header.php or from the plugin that prints it.

Read the documentation (opens in a new tab)

Scan your domain to see whether this applies to you.