Last week I was notified my Google Forms plugin had a potential security flaw and would be de-listed from the plugin repository until addressed. I have implemented the fixes recommended by the WordPress Security Team and am in the process of getting the plugin listed again.
I would like to enlist some additional testing besides my small suite of test cases with the updated code.
Google Forms Beta (40528 downloads )Let me know ASAP if you encountered any issues with this beta release of the plugin.
I’m getting this error:
Google Form does not contain expected HTML. Google Forms must be downgraded in order to work with this plugin.
—
How do I downgrade a form?
See this post. Let me know if that doesn’t work for you. Google recently changed where the downgrade option was. If you form has different icons on it, take a look at this post.
I figured it out. But the form is still not showing up correctly. Is there a support email I can send the details to? Thank you!
I’m also getting the error:
A valid URL was not provided.
This is the URL I am providing:
https://docs.google.com/forms/d/e/1FAIpQLSfYOE83Bg5okIxDIivRtZQu1a1WiOLlAgQ5hDU8j43KzEKRAg/viewform?usp=send_form
It was copied and pasted from the send form on the form. I even tried with removing the ?usp=send_form
The form now shows up but the buttons on the grid do not work (can not select anything). Any idea how to fix this?
Hi Mike. I’ve been using your plugin for a few years for a few different Google forms on various pages of my WP site. It’s been working well but now the form pages are showing the following error after I submit the form contents:
cURL error 28: Operation timed out after 1 seconds with 0 bytes received
Unable to retrieve Google Form. Please try reloading this page.
I’ve updated to your latest beta release of the plugin but that hasn’t solved it. My forms are multi-page ones. I can complete all fields in the form normally, it just fails on the final submission and the data doesn’t get recorded in the Google sheet. Can you suggest anything?
I can’t recall which WordPress release it was but there was a change to the behavior of the WordPress core function wp_remote_get() which is what the plugin uses to retrieve the form from Google. The change resulted in cURL being a little more finicky. I would suggest change the timeout setting on the plugin’s advanced settings tab to see if it will resolve your problem (Dashboard > Settings > Google Forms > Advanced Tab).
The error you’re seeing means that the server your WordPress site is running on made a request to Google for the HTML for the form and Google’s server didn’t respond within the acceptable time. By default this is 5 seconds which is a really long time in HTTP request terms. Changing the timeout is where I would start.
If the intermediate pages are working fine but the final submission is not, I would do some testing with a single page form. Make sure your single page form is representative of your real form – have at least one of each type of form field you use (text entry, checkbox, radio button, etc.). The final submission is when Google processes the form data so if your form has many pages and the data entered is sizable, it is possible you are running into a max POST size issue. The way a multi-page form works is the data is stored in hidden form variables between each page, it isn’t actually submitted to Google until the final submit.
You might see the behavior you describe if you had a jQuery issue are your page which prevented the Google Forms jQuery script from running. Did anything else change on your site?
Hey Mike,
I had the same issue beginning around the same time as Richard. I found that increasing the timeout allowed the form to submit, however the submission process is taking about 15 seconds to complete. Some of my users have closed the page during this time Would you have any suggestions on ways to decrease that time? I am using a single page form with 4 or 5 fields. Nothing too crazy.
Appreciate the help by the way! Awesome plugin!
If it was just taking a long time to retrieve the form I would suggest testing the connection between your web server and Google by logging into your web sever with SSH (assuming you have SSH or similar Shell access) and use “wget” to retrieve the form. You could see how long this takes to exectute as the way WordPress gets the HTML for the form from Google is effective the same as what “wget” does.
That said, if you do have Shell access and are comfortable using “curl” and more importantly, have “curl” available, you can test the communication between your server and Google. This isn’t easy as you’d have to figure out the “curl” command that is equivalent to submitting your form to Google. It would probably be easier to do this using the native Google Docs version of the form and a tool like Firebug. Once you figure out the syntax, you can try it from your web server.
If you see dramatically different response times using the command line “curl” than you do with WordPress to submit your form, then there may be something in your WordPress site which is contributing to the long submit. You would then have to analyze what is going on. Now that I think about it, Firebug “Net” tab has some bar graphs which will show you where the delay is so I would probably start there.
The Google Forms plugin is based on the WordPress HTTP API which abstracts the transport mechanism WordPress is using to communicate with remote servers from the plugin. This is a good thing as the plugin doesn’t have to figure out whether to use fsockopen, curl, or one of the other transports – WordPress does that. In my experience, most of the time WordPress ends up using “curl” for the HTTP API implementation.
I am getting the following
“Google Form does not contain expected HTML. Google Forms must be downgraded in order to work with this plugin.
More details can be found here under the Opt out of the new Forms section.”
You will need to downgrade your form for the plugin to work. The message you are seeing indicates the plugin has scanned the HTML for the form URL and determined it is the new style of Google Forms which is not supported by the plugin. Fortunately, forms can be “downgraded” and the plugin will work as expected.
Hey Mike,
I am getting the same issue however I have downgraded my form and still getting the same issue.
Doesn’t seem to be caching related as I can see just raw code when it spits out.
Thanks,
Same Here. It’s not working at all. I’ll be just doing it this way it seems: https://codepen.io/learningcode/post/customize-a-google-form-for-your-website
The article you referenced is essentially what the plugin does automatically.
Hi Mike
Your plugin is goob, but if You find time to correct your plugin to new google forms wil bee nice