The preview could not load due to iframe response

Today when trying to edit a page using Pro I am getting the error message “The preview could not load due to iframe response”. This has worked flawlessly for some time. I can’t figure out what is wrong. I have Pro 4.2.3 installed, but no Cornerstone plugin. Is that the issue? If so, what are the steps to getting that plugin again? I really don’t want to lose the customizations I have made to the child theme if at all possible.

I have downgraded the Pro theme from 4.2.3 to 4.1.5 using the manual installation method (uploaded the pro.zip to my virtual server, renamed the pro to pro-4.2.3 and unzipped to pro). Still getting the same error message.

I have tried disabling plugins, that hasn’t changed anything.

Here is some of the pertinent information about the virtual server I am hosted on:

|Apache Version|2.4.46|
|PHP Version|7.4.15|
|MySQL Version|10.3.28-MariaDB|
|Architecture|x86_64|
|Operating System|linux|
|Perl Version|5.16.3|
|Kernel Version|3.10.0-962.3.2.lve1.5.42.el7.x86_64|

asked same question, have the same issue. I have tried everything. Opened the ticket 4 days ago… no solution yet. IT SUCKS

@al2code do you know exactly when it happened for you? I am sure I was able to edit a page using Pro on 3/15/2021, but I don’t think I tried to do that again until today (4/6/2021) and there were quite a few plugin updates that happened since then.

it was working perfectly, out of nowhere stopped working. I had tried to update PHP, Wordpress, Pro Theme, deactivated Plugins, deactivated Cloudflare, cleared caches both server and local… nothing. I EVEN BACKROLLED TO A BACKUP DONE BEFORE ISSUE, STILL NOT WORKING.

@al2code did you try 4.3.0 yet? I just deployed that version to my staging site to see if it helps. I didn’t have the staging site until today, I wanted to troubleshoot this there instead of killing my main website. Now my problem is I get a 404 error trying to access any Pro features (Headers, Content, Footers, or edit a page using Pro). I saw the recommendation to fix that was Settings > Permalinks and hit save to flush the cache. I did that, still can’t get to the Pro features on the staging site. Like I am missing some kind of config that routes /pro in the URL to the Pro editor.

Yes, I run 4.3.0 on the live website that has the issue, but the issue was on previous versions, I updated thinking it will solve the problem, didn’t.
Everything else works ok… oh and I opened the ticket 7 days ago… can’t upload articles…

I want to try and go back to the version prior to 4.1.5 to see what happens.

Hmm, don’t see a way to download prior versions…

Hi @Harmon,

Before jumping into the main issue here, I looked into the 404 issue you had on another thread as well and that seems to be a problem with your web server configuration. Everything but /wp-admin and the home page is showing a 404. This happens when your webserver doesn’t have the right configuration to for send incoming requests to the WordPress index.php file. You will want to check your htaccess rules to make sure they are correct on that server: https://wordpress.org/support/article/htaccess/


Now for the live preview error message. I’ve checked your site and it’s the exact issue I’m seeing on @al2code’s site as well (The preview could not open due to iframe response being incomplete)

Something changed on your server that is causing the HTML to change. On both sites, I’m seeing this output in the iframe response:

CORNERSTONE_FRAME<script type='text/javascript' style='display:none;' async>
</script>

<script type="text/javascript" data-cfasync="false"></script></body></html>

@al2code and @Harmon maybe we can work together to see if there are any similarities.

Are you aware of anything running outside of WordPress that could be rewriting HTML? If I do “view source” on both of your sites I see a similar code that starts like this: <script data-ezscrex='false' I don’t recognize it and I’m not sure where it’s coming from. Do you know what this might be? Let me know, thanks!

Edit: to confirm regarding a question in your first post: Cornerstone is not required if you are using Pro.

I have had my site behind the Ezoic Site Speed accelerator that is part of my ad network (Ezoic) which certainly is capable of altering the HTML, CSS, and JS in order to minify things. I have disabled all of those features as part of testing this.

I edited this page on 3/15/2021 with no issue with that in place, including the minifying of those resources to increase the speed to clients.

Thanks! That helps. It looks like it might not be fully disabled since if you use “view source” it is still there. Or it could be that the ad network itself is breaking things - not even the accelerator. It’s likely that something changed recently in how they process HTML which is adding that extra useless code (and breaking the live preview).

I’ve been looking into it more and we might be able to compensate for this in Pro. I just can’t make any promises since we can’t guarantee compatibility with third party systems like this.

I have opened a ticket with Ezoic asking for help with this. Another bit of information, I fixed my htaccess file for my staging site and everything is working there. My staging site DNS is defined in Ezoic, but it is not behind their Cloudflare CDN nor does it have any possibility of their Site Speed Accelerator being enabled for the site.

I think I agree that there is something that has changed with Ezoic that has introduced this issue. Hopefully the ticket I have opened up there will lead to a solution as I really need both of these things to work together.

Sounds good! Thanks for reaching out to them about it. As I mentioned before that code doesn’t appear to do anything. Perhaps it was introduced mistakenly. Regardless, I’ll keep looking into potential options from our end and advise if anything materializes.

@alexander can you help me with a description of what it is the Pro editor is trying to do in the iframe that isn’t working? Something that the technical folks at Ezoic should be able to make sense of since they aren’t likely to be familiar with the error message I am getting.

Sure! A very direct approach would be asking them if they can stop this code from being added to the end of every single page load. It doesn’t appear to have any purpose. Because it is introduced outside of WordPress, Pro can’t anticipate it and thinks the page didn’t render properly.

<script type='text/javascript' style='display:none;' async>
</script>

<script type="text/javascript" data-cfasync="false"></script></body></html>

I know at this point that at a minimum, I will be able to address this in Pro by adding an option to disable the integrity check. The error you’re seeing is a way for Pro to stop trying to preview when it suspects the output has been altered by a caching system or plugin in ways that would stop Pro from working. Instead of the preview frame being unstable and unpredictable, it just doesn’t output. If we add an option to disable the integrity check I expect the builder would continue working in your case, but in the event that something was actually wrong you might see other issues like not being able to interact with elements.

That being said, sometime over the next few days I think I can have a solution on our end.

Not sure if it is helpful, but I do see this in the debug logs:

[06-Apr-2021 22:40:32 UTC] PHP Notice: Undefined variable: label_prefix in /home/…/wp-content/themes/pro/cornerstone/includes/elements/control-partials/modal.php on line 81
[06-Apr-2021 22:40:32 UTC] PHP Notice: Undefined variable: label_prefix in /home/…/wp-content/themes/pro/cornerstone/includes/elements/control-partials/off-canvas.php on line 86
[06-Apr-2021 22:40:32 UTC] PHP Notice: Undefined variable: control_off_canvas_close_location in /home/…/wp-content/themes/pro/cornerstone/includes/elements/control-partials/off-canvas.php on line 267

Ezoic has raised this concern with the SiteSpeed team for review - they’re going to take a look at the setup and see if we can find a workaround for the time being.

They will reach out with updates as soon as they become available!

I have found a temporary workaround that allowed me to get my page edit done. I added an entry to my local hosts file to override the DNS for the website to be the IP of the virtual server where my content is hosted. This bypasses Ezoic entirely and allowed me to get things to work for now.

This won’t work as a long term solution, but thought I would let you know that it worked so that it could aide in the troubleshooting.

Ezoic is also asking why it is you think the script tags you have identified here are causing the issue. They would like to understand a little more what the integrity check is doing.