Google Recaptcha V3 Button / Badge ausblenden

von | Apr 5, 2019 | Allgemein | 8 Kommentare

Schlagwörter: Google+

Ihr seid sicher schon öfteres über Webseiten gestolpert wo ich ein Captcha ausfüllen musstet. Diese Technologie gibt es eigentlich schon seit vielen Jahren, meistens muss man dann ein Feld erkennen das aus Zeichen und Zahlen besteht. Auch Google hat eigene Captcha Dienst gratis den Usern angeboten, und zwar waren dies diese Boxen wo man aus 9 Bilder Dinge erkennen musste „Alle Hydranten erkennen“ oder „Alle Velos anklicken“ usw. Ich habe diese Dinger gehasst, da ich sie mindestens 10x ausfüllen musste, bis alles korrekt war. Je nachdem was für ein Netzwerk man verwendet, gibts nämlich da ziemlichen Ärger.

Aus diesem Grund habe ich mich gefreut, dass Google eine Version 3 herausgebracht hat. Mit dem ReCaptcha V3 sollte diese Prüfung im Hintergrund ablaufen ohne, dass man als User, so komische Boxen ausfüllen oder Bilder anklicken musste. Leider hat sich hier Google entschieden, die Leute zu ärgern. Google hat nämlich so kleine Buttons an der rechten Seite einblenden lassen.

Google Recaptcha V3 Button / Badge im Ruhezustand

Google Recaptcha V3 Button / Badge im Hover Zustand

Wenn eine Webseite das Google Recaptcha V3 dann tauchen diese blöden Badges überall auf – selbst im Mobilen und machen ziemlichen Ärger.

Heute möchte ich euch eine Lösung zeigen, wie man diese blöden Badges ausblenden kann.

Google Recaptcha V3 Button / Badge komplett ausblenden

Vor ein paar Monate hat Google seine Regeln angepasst. Wenn man jetzt auf allen Seiten den Badge ausblenden möchte, dann wird der Schutz nicht mehr gewährleistet. Google sagt, man muss es auf Seiten wo es funktionieren soll, den Badge eingeblendet lassen. Also deaktiviert ihn auf allen Seiten ausser zb wo es ein Kontaktformular hat oder so.

Google Recaptcha V3 Button / Badge auf fast allen Seiten ausblenden

Nun eigentlich ist dieser Button / Badge auch eine gute Sache. Er zeigt nämlich den Usern, dass das Formular gesichert wird und darum kann es Leute geben, die dieser Button / Badge gerne drin haben wollen, aber vielleicht nicht auf allen Seiten. Aus diesem Grund gibts hier einen function.php Code. Diesen Code einfach anpassen und dann in euer functions.php File abspeichern.

1
2
3
4
5
6
7
8
function wp_disable_recaptcha_badge(){
      //Füge den Slug hinzu wo der ReCaptcha V3 Badge doch sichtbar bleiben soll
          wp_dequeue_script('google-recaptcha');
          wp_dequeue_script('wpcf7-recaptcha');
          wp_dequeue_style('wpcf7-recaptcha');
     }
}
add_action( 'wp_enqueue_scripts', 'wp_disable_recaptcha_badge' );

Ihr nehmt diesen Code und passt ihn an einer Stelle an und zwar bei Codeziele 3

Hier definiert ihr den Slug der URL wo ihr ein Kontaktformular angezeigt habt. Ich habe zum Beispiel ein Formular auf der Seite https://www.chefblogger.me/wer-ist-der-chefblogger/ und das lautet der Slug also /wer-ist-der-chefblogger/.

Also meine Zeile 3 lautet jetzt so:

1
if ( !is_page( array( 'wer-ist-der-chefblogger' ) ) ){

Hätte ich aber 2 Kontaktformulare auf verschiedenen Seiten zb unter wer-ist-der-chefblogger und unter /kontakt/ dann muss ich auch die 2 Seite in dieser Zeile 3 anpassen.

1
if ( !is_page( array( 'wer-ist-der-chefblogger', 'kontakt' ) ) ){

Ihr passt also die 3. Zeile des Code entsprechend an und speichert den ganzen Code dann in euer function.php File ab und schon ist der Badge überall ausgeblendet ausser bei den Seiten mit den Kontaktformular(en).

Eigentlich eine geniale Lösung – und ihr könnt es nun anpassen so wie ihr es wollt.

Wer übrigens keine Ahnung hat wie man das Contact Form 7 Plugin von WordPress mit dem ReCaptcha V3 verbindet, ich habe dazu auch ein Youtube Video gemacht – einfach hier draufklicken und anschauen

Hier noch das Video zu diesem Thema

Google Recaptcha V3 Button / Badge ausblenden

8 Kommentare

  1. Jürgen

    Hallo,

    vielen Dank für diesen guten Tipp!!
    Eines ist mir jedoch aufgefallen: Beim Code der oben steht (zum ganz ausblenden)
    hast du ein „g“ vergessen.
    Dort steht:

    „.recaptcha-badge {
    display:none;
    }

    Richtig (wie auch im Video) ist:

    „.grecaptcha-badge {
    display: none;
    }

    Toller Blog – tolle Arbeit – mein Kompliment!!

    Antworten
    • Eric-Oliver Mächler

      Hoi Jürgen, Danke für die netten Worte und dein Input – natürlich hast du recht und ich habs gerade korrigiert 🙂 dankeschön

      Antworten
  2. Mika

    Beachte, dass Du auf keinen Fall display: none; verwendest! Das deaktiviert die Spam-Protection des reCAPTCHA.

    .grecaptcha-badge { visibility: hidden; }

    Antworten
  3. Patrick

    Guten Tag,

    ich habe probiert genau diesen Code in die function.php einzubinden, aber es funktioniert bei mir nicht. .grecaptcha-badge { visibility: hidden; } blendet alles aus, aber eben nicht auf der Kontaktseite ein.

    Was kann ich noch machen damit das klappt? Ich verwende das Ashe Template

    Danke vorab

    Antworten
    • Eric-Oliver Mächler

      hast du die zeile 3 korrekt angepasst?

      if ( !is_page( array( ‚wer-ist-der-chefblogger‘ ) ) ){

      Antworten
  4. Eddy

    Die functions.php Lösung scheint nicht mehr zu funktionieren.
    Ich hatte vorher eine andere php Lösung im Einsatz, die auch ihre Wirkung verloren hat.

    Antworten
  5. Robert

    Ich meine, ja ab und zu echt nervig das Teil.. würde es aber gerne behalten, doch nicht rechts, sondern links unten. Hat mir da jemand ein Snippet, wie ich das verschieben kann?

    Antworten
  6. Heiko Lüdemann

    Hallo du solltest liebe diese Methode wählen von rechts nach links

    Grüsse Heiko

    /* Move reCAPTCHA v3 badge to the left */

    .grecaptcha-badge {
    width: 70px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    left: 4px !important;
    }
    .grecaptcha-badge:hover {
    width: 256px !important;
    }

    Antworten

Einen Kommentar abschicken

Du kannst auf Fediverse-Profile verlinken, indem du fl:@benutzername in deinem Kommentar eingibst.

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert