Security

Your pages cannot be framed by another site

security.missing-frame-options

Why this matters

Without this, someone can load your site inside an invisible frame on their own page and trick visitors into clicking your buttons while thinking they are clicking something else. It is most often used against login and payment forms.

Who fixes it

You can, usually

Roughly how long

Minutes

Care needed

Low risk to change

How to fix it

Send `X-Frame-Options: SAMEORIGIN`, or the modern equivalent `Content-Security-Policy: frame-ancestors 'self'`. Only relax it if you genuinely need a partner site to embed you.

On your platform

WordPress

Set by your host, not by WordPress. Add `X-Frame-Options: SAMEORIGIN` in Cloudflare if you use it, or in `.htaccess` on Apache hosting via a `Header always set` line. On managed WordPress hosting, ask support — most will add it and several set it already. A security plugin will also do it if you have no server access at all.

Shopify

Shopify controls storefront response headers and merchants cannot add them, so this is not something you can change. Shopify applies its own framing protection to checkout, which is where it matters most for a shop.

Drupal

Either in the web server configuration, or with the Security Kit (`seckit`) module, which has a setting for exactly this and needs no server access.

Joomla

Enable the System – HTTP Headers plugin (Joomla 4 and 5) and switch on X-Frame-Options. It defaults to SAMEORIGIN, which is what you want, and it needs no server access.

How we score it

Failing this check takes up to 8 points off your security score. It is a fact about your site rather than a measurement, so it reads the same on every scan until you change something.

Does your site pass this one?

This check runs on every scan, along with the other 106. Free, no account, and you see the evidence for each result.

Check my site

Other security checks

See all 107 checks