SilentShield

WordPress-Formulare mit SilentShield schützen

Das offizielle Plugin „SilentShield – Captcha & Anti-Spam“ bindet das Skript ein und prüft jede Absendung auf Ihrem Server — ohne eigenen Code. Diese Anleitung nennt nur, was wir mit dem Plugin selbst geprüft haben.

Plugin im WordPress-Verzeichnis ansehen

Voraussetzungen

  • WordPress ab 5.2 und PHP ab 7.4 (Angabe des Plugins im WordPress-Verzeichnis).
  • Ihre Website läuft über https. Ohne sicheren Kontext stellt der Browser keine Web-Crypto-Funktionen bereit, es entsteht kein Nonce, und geschützte Formulare lassen sich nicht absenden.
  • Ein SilentShield-Konto mit einem Schlüssel für Ihre Domain. Subdomains wie www. oder staging. gehören dazu.

Welche Formulare geschützt werden können

Geprüft am 7.10.2026 mit Plugin 2.15.14 und WordPress 7.1.2: Ein Mensch kommt durch und wird auf dem Server bestätigt, eine Absendung ohne Browser wird abgewiesen.

FormularGeprüfte VersionStand
Contact Form 76.2Funktioniert
Fluent Forms6.2.15Funktioniert
WordPress-Kommentare7.1.2Funktioniert
WordPress-Anmeldung7.1.2Funktioniert
WordPress-Registrierung7.1.2Funktioniert
WooCommerce-Kasse (klassisch)11.1.2Funktioniert
WPForms2.0.2.2Funktioniert
WooCommerce-Kasse (Block-Checkout)11.1.2Funktioniert
Elementor Forms4.3.4 (Pro 4.2.1)Funktioniert
Avada Forms7.11.7Funktioniert

Installation

  1. Öffnen Sie in WordPress „Plugins → Installieren“ und suchen Sie nach „SilentShield“.
  2. Installieren und aktivieren Sie „SilentShield – Captcha & Anti-Spam for WordPress“.
  3. Im Menü erscheint der Eintrag „SilentShield“.

Schlüssel eintragen und Formulare einschalten

  1. Legen Sie im SilentShield-Dashboard einen Schlüssel für Ihre Domain an und kopieren Sie ihn.
  2. Öffnen Sie in WordPress „SilentShield → API / SilentShield“, fügen Sie den Schlüssel unter „API Key“ ein und klicken Sie auf „Validate“.
  3. Schalten Sie „Activate API“ ein und speichern Sie mit „Save“.
  4. Öffnen Sie „SilentShield → Forms“ und schalten Sie den Schutz für jedes Formular-Plugin ein, das in der Tabelle oben als „Funktioniert“ steht.

Das Plugin verwendet den Website-Schlüssel sowohl im Browser als auch für die Prüfung auf Ihrem Server. Einen Serverschlüssel braucht es dafür nicht.

Serverschlüssel für das Plugin f12-security

Das Plugin f12-security kann optional Hinweise auf Bots mit SilentShield austauschen: Es meldet Fingerabdrücke bekannter Bots und holt eine signierte Liste für Ihr Konto. Diese Aufrufe macht Ihr Server, nicht der Browser Ihrer Besucher. Dafür braucht das Plugin den Serverschlüssel Ihrer Domain — nicht den normalen Website-Schlüssel, der im Quelltext Ihrer Seiten steht.

  1. Öffnen Sie im SilentShield-Dashboard „API-Schlüssel“ und den Schlüssel Ihrer Domain.
  2. Wechseln Sie zur Seite „Sicherheit“ und klicken Sie im Abschnitt „Serverschlüssel“ auf „Serverschlüssel erzeugen“.
  3. Kopieren Sie den Wert sofort. Er wird nur dieses eine Mal angezeigt, wir bewahren keine Kopie auf.
  4. Tragen Sie ihn in f12-security an der Stelle ein, die als Serverschlüssel beschriftet ist, und speichern Sie.

Der Serverschlüssel gehört nur in die Einstellungen Ihres Servers, nie in eine Seite oder ein Skript für Besucher. Haben Sie ihn verloren, erzeugen Sie im Dashboard einen neuen; der alte wird dadurch ungültig.

Funktion prüfen

Eine echte Absendung

Öffnen Sie die Seite mit dem Formular in einem privaten Fenster, füllen Sie es von Hand aus und senden Sie es ab. Sie sehen die normale Bestätigung Ihres Formulars, und im SilentShield-Dashboard erscheint die Absendung mit ihrem Urteil.

Eine abgewiesene Absendung

Senden Sie dasselbe ohne Browser, etwa einen Kommentar per curl an einen Beitrag mit offenen Kommentaren. Ersetzen Sie die Adresse und die Beitrags-ID:

Terminalbash
curl -i -X POST https://example.com/wp-comments-post.php \
  -d "comment_post_ID=1&author=Test&[email protected]&comment=Test"

Erwartet ist eine Ablehnung mit der Meldung des Plugins, auf einer englischsprachigen Seite „Captcha not correct: Behavior check“. Bei Contact Form 7 steht im Formular „Behavior check“.

Fehlerdiagnose

Beim Klick auf „Senden“ passiert nichts.
Läuft die Seite über http statt https? Die Browser-Konsole zeigt dann die Warnung „[SilentShield] Web Crypto fehlt im Worker …“. Liefern Sie die Seite über https aus.
Contact Form 7 meldet „There was an error trying to send your message“.
Die Prüfung ist bestanden, gescheitert ist der Mailversand von WordPress. Prüfen Sie die Mail-Einstellungen (etwa SMTP), nicht den Botschutz.
Echte Besucher bekommen „Behavior check“.
Häufigste Ursache ist ein Optimierungs-Plugin, das JavaScript verzögert oder zusammenfasst — siehe den Hinweis unten. Prüfen Sie außerdem, ob der Schlüssel zur Domain der Seite gehört.
Ein WPForms-Formular schickt nicht ab, oder der Block-Checkout lehnt jede Bestellung ab.
Aktualisieren Sie das SilentShield-Plugin auf Version 2.15.14 oder neuer. Wir haben beide Probleme mit Version 2.15.12 gemessen; mit 2.15.14 treten sie nicht mehr auf.
Sie möchten sehen, was das Skript tut.
Hängen Sie ?silentshield-debug an die Adresse der Seite. Die Browser-Konsole zeigt dann jeden Schritt der Prüfung.

SilentShield von JavaScript-Optimierern ausnehmen

Caching- und Performance-Plugins (WP Rocket, Perfmatters, LiteSpeed, Autoptimize und andere) können JavaScript bis zur ersten Interaktion des Besuchers verzögern und Dateien zu einem Bündel zusammenfassen. Beides bricht SilentShield: Das Widget startet dann erst, wenn jemand klickt — die Verhaltenssignale ab dem Seitenaufruf (Mausbewegung, Tipprhythmus, Zeitverläufe) fehlen, und der Schutz arbeitet mit einem Bruchteil dessen, was er braucht. Formular-Scans laufen gar nicht. Tragen Sie diese Muster in die Ausschlusslisten Ihres Optimierers ein — für „JavaScript verzögern" UND „JavaScript zusammenfassen":

Ausschluss-Mustertext
client.js
behavior-captcha
silentshield

Zum Prüfen: Öffnen Sie eine Seite mit Formular und führen Sie performance.getEntriesByType("resource").map(r=>r.name).filter(n=>n.includes("client.js")).join() in der Browser-Konsole aus, OHNE vorher zu klicken. Ein leeres Ergebnis heißt, SilentShield ist noch nicht geladen — dann fehlt ein Ausschluss.

Grenzen

  • Geschützt sind nur die Formular-Plugins, die Sie unter „SilentShield → Forms“ einschalten.
  • Wir nennen nur geprüfte Versionen. Das Plugin erkennt weitere Formular-Plugins; ob sie mit SilentShield funktionieren, haben wir nicht geprüft.
  • Das Plugin bringt eigene Prüfungen mit (etwa Honeypot und Zeitmessung) und zeigt dafür eigene Meldungen wie „JavaScript check“.
  • SilentShield schützt Formulare vor Bots. Es ersetzt keine Web Application Firewall und keinen DDoS-Schutz.

Betrieb

  • Das Plugin aktualisieren Sie wie jedes andere über WordPress. Das Skript im Browser kommt immer in der aktuellen Fassung von uns.
  • Jede Absendung zählt doppelt zum Kontingent: einmal die Meldung aus dem Browser, einmal die Prüfung auf Ihrem Server.
  • Urteile und abgewiesene Absendungen sehen Sie im SilentShield-Dashboard.

Preise und Kontingente ansehen

Ohne Plugin: eigener Einbau

Für eigene Formulare oder ohne das Plugin binden Sie das Skript selbst ein und prüfen jede Absendung auf Ihrem Server. Ohne diese Prüfung schützt das Skript nicht: Eine direkt gesendete Anfrage hält es nicht auf.

1. Script hinzufügen

Fügen Sie diesen Code in die functions.php Ihres Themes ein oder verwenden Sie ein Plugin wie 'Insert Headers and Footers':

functions.phpphp
// functions.php
function silentshield_enqueue() {
    wp_enqueue_script(
        'silentshield',
        'https://api.silentshield.io/client.js?k=YOUR_API_KEY',
        array(),
        null,
        true
    );
}
add_action('wp_enqueue_scripts', 'silentshield_enqueue');

2. Server-seitige Verifizierung

Fügen Sie die Nonce-Verifizierung zu Ihrem Formular-Handler hinzu. Für benutzerdefinierte Formulare fügen Sie dies in Ihre Verarbeitungsfunktion ein:

PHPphp
function verify_silentshield_nonce() {
    $nonce = sanitize_text_field($_POST['behavior_nonce'] ?? '');
    if (empty($nonce)) {
        wp_die('Missing verification', 'Error', array('response' => 422));
    }

    $response = wp_remote_post('https://api.silentshield.io/api/v1/captcha/verify-nonce', array(
        'headers' => array(
            'Content-Type' => 'application/json',
            'X-Api-Key' => SILENTSHIELD_API_KEY,
        ),
        'body' => wp_json_encode(array('nonce' => $nonce)),
        'timeout' => 5,
    ));

    if (is_wp_error($response)) {
        return; // fail open
    }

    $body = json_decode(wp_remote_retrieve_body($response), true);
    if (($body['ok'] ?? false) !== true || ($body['verdict'] ?? '') !== 'human') {
        wp_die('Bot detected', 'Forbidden', array('response' => 403));
    }
}

API-Key speichern

Fügen Sie Ihren API-Key zur wp-config.php hinzu für mehr Sicherheit:

wp-config.phpphp
// wp-config.php
define('SILENTSHIELD_API_KEY', 'your-api-key-here');

KI-Agenten beobachten

Über den Formularschutz hinaus kann WordPress auch erfassen, welche KI-Crawler (GPTBot, ClaudeBot, PerplexityBot, …) Ihre Website lesen — heute über eine kleine Must-Use-Plugin-Datei; ein kommendes Plugin-Update bringt das eingebaut mit.

Mehr dazu: KI-Agenten beobachten →