Website iframe not loading (x-frame-options)

Problem:

triangle-exclamation

Cause:

The problem is the x-frame-options setting on the tracked site. That setting specifically disallows your website to be displayed inside an iframe on external domains.

The error message often is "site could not be displayed in a frame because it set 'X-Frame-Options' to 'sameorigin'. " or "Refused to display 'https://xxx.com' in a frame because it set 'X-Frame-Options' to 'sameorigin".

Solutions:

circle-check

Solution A: Set the correct HTTP headers

Best way is to add the correct headers to the tracked site. Those headers will allow only the UXWizz dashboard domain to load your website in an iframe.

Apache:

If you are using Apache, add this to .htaccess:

<IfModule mod_headers.c>
  Header always set X-Frame-Options "SAMEORIGIN"
  Header set Content-Security-Policy "frame-ancestors 'self' your-uxwizz.com;"
</IfModule>
circle-info

If the headers are not being set make sure AllowOverride is set to All in httpd.conf

circle-exclamation

Nginx:

If you are using Nginx, add this line to your site's configuration:

circle-exclamation

IIS (.NET):

If you are using IIS, add this in web.config or in IIS:

circle-exclamation

Still not working?

If the iframe still can't be loaded, try adding this CORP headerarrow-up-right too:

Solution B: Disable the browser security policy (Not recommended)

Another, easier solution is to use a browser extension to disable this security policy:

Useful resources:

You can learn more about X-Frame-Options and Content-Security-Policy here:

Last updated