Support » Plugin: Contact Form 7 » reCAPTCHA V3 badge is displayed on all pages not only form-pages

  • Resolved dblue71

    (@dblue71)


    The reCAPTCHA V3 badge is displayed on all pages, not just form pages. Please insert reCAPTCHA only on the form pages. We do not want the badge to overlay all individual pages on our website.

Viewing 15 replies - 1 through 15 (of 15 total)
  • That’s not for cf7 to decide. When registering a key you agreed to show the badge on your site. Read this for more explanation and solutions

    The problem is that Contact 7’s code is embedded on all individual pages and not just on pages with forms.

    <script type='text/javascript'>
    /* <![CDATA[ */
    var wpcf7 = {"apiSettings":{"root":"https:\/\/www.domain.com\/de\/wp-json\/contact-form-7\/v1","namespace":"contact-form-7\/v1"},"cached":"1"};
    /* ]]> */
    </script>
    <script type='text/javascript' src='https://www.domain.com/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=5.1'></script>
    <script type='text/javascript' src='https://www.google.com/recaptcha/api.js?render=xxx;ver=3.0'></script>
    <script type="text/javascript">
    ( function( grecaptcha, sitekey ) {
    
    	var wpcf7recaptcha = {
    		execute: function() {
    			grecaptcha.execute(
    				sitekey,
    				{ action: 'homepage' }
    			).then( function( token ) {
    				var forms = document.getElementsByTagName( 'form' );
    
    				for ( var i = 0; i < forms.length; i++ ) {
    					var fields = forms[ i ].getElementsByTagName( 'input' );
    
    					for ( var j = 0; j < fields.length; j++ ) {
    						var field = fields[ j ];
    
    						if ( 'g-recaptcha-response' === field.getAttribute( 'name' ) ) {
    							field.setAttribute( 'value', token );
    							break;
    						}
    					}
    				}
    			} );
    		}
    	};
    
    	grecaptcha.ready( wpcf7recaptcha.execute );
    
    	document.addEventListener( 'wpcf7submit', wpcf7recaptcha.execute, false );
    
    } )( grecaptcha, 'xxx );
    </script>

    Of course, the badge should be displayed on pages with a form and this also corresponds to the terms and conditions of Google.

    • This reply was modified 11 months, 1 week ago by dblue71.
    • This reply was modified 11 months, 1 week ago by dblue71.
    • This reply was modified 11 months, 1 week ago by dblue71.

    And what is the point to show Google Captcha on pages without use and form?

    • This reply was modified 11 months, 1 week ago by dblue71.

    From Google’s point of view: to secure all your pages and to analyse which pages bots use to attack. Looks like it’s more than secure your forms though…

    Okay, thanks for the hint. Then we will probably have to do it without Recatcha …

    This is terrible. I don’t want this annoying badge on every page of my web site and neither do my visitors. I have no problem with it being on the contact form page but to put it on every page is crazy. Love this plugin but this is incredibly frustrating. 🙁

    you can add to your stylesheet:
    .grecaptcha-badge {opacity:0}

    This visualy hide the badge, although it’s still there. Don’t use ‘display:none’, this will stop protecting SPAM.

    Than add the text:
    ‘This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.’

    to your contact form and your fine for a while. This is a solution provided by Google: https://developers.google.com/recaptcha/docs/faq

    It’s working fine for me.

    That’s an excellent solution! Thank you 🙂

    I will be forced to stop using this plugin because of this.
    It is impractical to receive spam and it is also impractical to have this recaptcha loading on all pages and leaving everything slower.

    Why remove support for recaptcha version 2 silently?

    @studioram I have used display:none and the recaptcha code is still running and visible via the page source code. Did you find that opacity suggestion in a Google forum? Thanks!

    @tim: no, found on stackoverflow

    I’m having the same issue too. reCAPTCHA is prompting to verify on the homepage, or rather, any page. This will turn visitor off if they have to verify themselves before they can view the normal page (other than the contact form).

    This is not the expected normal behaviour. We would not want reCAPTCHA (provided by Contact Form 7 plugin for its own contact form) to affect other pages that we didn’t intend to.

    Same issue here. Recaptcha 2 was doing a great job until I updated this plugin and support was removed completely. As a user, I’ve always hated recaptcha v. 3. It’s ugly and a pain in the neck, while v. 2 is clean and simple. Since Google still supports v. 2 and will continue with updates to it, why can’t CF7 users continue to use it? Not asking for you to write new code…you already supported it….until we updated your plugin and you didn’t.

    hi,
    The badge of Recaptcha, hiding the arrow back at the top of my site.
    This is not practical.
    Thank you

Viewing 15 replies - 1 through 15 (of 15 total)
  • The topic ‘reCAPTCHA V3 badge is displayed on all pages not only form-pages’ is closed to new replies.