Disable recaptcha v3 for all pages EXCEPT the one with a contact7 form
-
The new plugin update has caused the v3 “invisible” recpatcha to show up on all pages, even one ones without a contact7 form. Is there a setting to disable this? Or can this be fixed?
-
@evit: I’d actually prefer it to be shown on the page with the contact form.
@locascioa: I have read most of the other posts on the forum.
@wackywired135 You are not alone with your request.
I also prefer to have the reCaptcha badge only enabled on the page with the contact7 form.Edit: Well I decided to put back the previous version of contact7 (5.0.5) until the developer provides a solution.
- This reply was modified 5 years, 11 months ago by Tachi.
Hey,
This is the code I use in my child theme’s functions.php file to remove the Google script from loading on unwanted pages:
//Remove Google ReCaptcha code/badge everywhere apart from select pages add_action('wp_print_scripts', function () { //Add pages you want to allow to array if ( !is_page( array( 'contact','some-other-page-with-form' ) ) ){ wp_dequeue_script( 'google-recaptcha' ); //wp_dequeue_script( 'google-invisible-recaptcha' ); } });
Hope this helps. Good luck.
According to this:
https://www.digitaltrends.com/computing/googles-recaptcha-v3-no-longer-requires-humans-to-prove-theyre-not-bots/it analyzes the visitors’ interactions with the website, so if you remove it from other pages, perhaps it will not work. But recaptcha v3 is very heavy and on my site it didn’t work at all. I decided to delete my v3 keys and went back to v2 with another plugin.
If v3 has to track all users across the whole site, add many http requests and lots of kb to each page, then it is some kind of misunderstanding.
@amcz Yes, it does add a load and the badge should be OFF by default. Additionally it doesn’t stop spammers very well because of the lack of a challenge like v3 had. Google itself seems to hint at the fact that V2 and V3 have very different uses. See https://developers.google.com/recaptcha/docs/faq Perhaps v3 isn’t appropriate for contact forms after all.
The cybercriminals that spam us don’t use a single computer but a network of compromised hosts and proxies to hide their activity. I’m sure that Google v3’s recaptcha ‘learning’ is less effective because it must assess vast volumes of data of dynamic data. Most WordPress users think these ‘hackers’ are actually people and don’t understand this is all applications that are running 24/7 hacking WordPress. I’m not saying it will never work but it seems to be letting through some garbage that v2 never did (because of the challenge). I think when Google says ‘frictionless’ they mean more spam. =P
I hope the plugin author will allow users to choose v2.
I used this CSS command below, and them put their notice in the footer. Hopefully we get a recaptcha v3 option to turn it off the banner.
https://www.ads-software.com/support/topic/recaptcha-v3-not-working-2/#post-10992618I use CSS & jquery – makes the badge only visible when a CF7 form is clicked or written into
.grecaptcha-badge {
visibility: hidden;
opacity: 0;
transition: linear opacity 1s;
}.grecaptcha-badge.showgr {
visibility: visible;
opacity: 1;
transition: linear opacity 1s;
}<script>
$(document).ready(function () {
$( “input[type=text],input[type=email], textarea ” ).focus(function() {
$(‘.grecaptcha-badge’).addClass(‘showgr’);
});
});
</script>may first have to call
<script src=”https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js”></script>
Indeed. This does not work.
. It is on all pages
. In a place where footer content is covered by the captscha logo
. Or behind a background color
. Uncontrolable behavior.Complaints from clients made us decide to go back to 5.0.5 with v2 captcha.
We will monitor what Contact Form 7 developers will do about this and prepare to migrate to an alternative fo all sites.
@hendrik57
Fix # 2 here reverts to reCaptcha version 2 and should continue to work (until Google finally abandons version 2 altogether at some time in the future), and it worked for me:
https://www.ads-software.com/support/topic/3-spam-fixes-contact-form-7-v5-1/The plugin referred to (called “Advanced noCaptcha & invisible Captcha”) is here:
https://www.ads-software.com/plugins/advanced-nocaptcha-recaptcha/When I implemented this, I must have missed – couldn’t find – the shortcode instructions in the plugin’s settings page, but the instructions in the above-mentioned thread are correct:
[anr_nocaptcha g-recaptcha-response]
Put that into your CF7 forms where you used to put the CF7 recaptcha element.
I can agree that the banner is extremely intrusive. I like the CSS/JS fix mentioned above but I am contemplating just downgrading back to CF7 5.0.5 and v2 Captcha or using an alternative. I don’t really get the concept of tracking spammers behavior on every page. It almost seems that Google is attempting to collect more analytics data from those who don’t use their analytics services.
Either way this is causing us a ton of extra work for something that worked 100% fine to begin with. Especially those of us with several WP sites and clients.
IF IT AINT BROKE DON’T FIX IT!
I was hoping that this was a substitute for Github’s “Issues”, as a way to get in contact with the plugin developer. Since this seems to only get responses from people offering “Workarounds”, I’m marking this topic as resolved.
Thanks for the answers. I understand the css part and it’s all set. The badge on my site is hidden.
But I’d like the badge to show on the Contact form, (I’m afraid to break stuff) and I’m not sure where to place the code for the script. What file do I add this to and where in the file? Please advise.
<script>
$(document).ready(function () {
$( “input[type=text],input[type=email], textarea ” ).focus(function() {
$(‘.grecaptcha-badge’).addClass(‘showgr’);
});
});
</script>may first have to call
<script src=”https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js”></script>
Bit late to the party here, but the badge that appears on your sites is because the reCAPTCHA script V3 is loaded on every page if you have added the key/secret to CF7 admin (see “wpcf7_recaptcha_enqueue_scripts”).
I think there are two issues here. Firstly, I don’t want to load this script on a page unless I have a contact form. Secondly, as people have noted, the badge is intrusive.
To fix the badge, you need to set the visibility / opacity and NOT just display: none:
.grecaptcha-badge { opacity: 0; visibility: hidden; }
This hides the badge across your whole site. You can of course use CSS to hide it selectively, but I prefer to use the text below.
To hide on all pages apart from your contact page, for example:
body:not(.page-contact) .grecaptcha-badge { opacity: 0; visibility: hidden; }
If you want to hide the badge on all pages, you will need to comply with the terms of use, by including the following text on each of your contact forms (I typically add this just before the submit button)
This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy">Privacy Policy</a> and <a href="https://policies.google.com/terms">Terms of Service</a> apply.
To fix the first issue of having the reCAPTCHA script on every page, you’ll have to use your theme functions.php to de-register / de-queue the “google-recaptcha” script, as added by Contact Form 7 in the “wpcf7_recaptcha_enqueue_scripts” function.
- This reply was modified 5 years, 5 months ago by Alexander Holsgrove.
- The topic ‘Disable recaptcha v3 for all pages EXCEPT the one with a contact7 form’ is closed to new replies.