← Πίσω στο Blog
WordPressContact Form 7SpamΠροστασία Bot

Στοχευμένη μείωση του spam στο Contact Form 7

Marc Wagner·5 Οκτωβρίου 2026·6 λεπτά ανάγνωση

Ποιο πρόβλημα έχετε;

Τρεις περιπτώσεις μοιάζουν, αλλά έχουν διαφορετικές αιτίες:

  • Έρχεται spam. Τα εισερχόμενά σας γεμίζουν διαφημίσεις, συνδέσμους ή κείμενο χωρίς νόημα. Η φόρμα αφήνει τα bots να περάσουν.
  • Η φόρμα αναφέρει σφάλμα. Οι επισκέπτες βλέπουν «There was an error trying to send your message. Please try again later.» (μεταφρασμένο σε ιστότοπους άλλων γλωσσών). Μπορεί να φταίει η προστασία από spam ή ένα πρόβλημα στην αποστολή email.
  • Λείπουν γνήσια αιτήματα. Κανείς δεν παραπονιέται, αλλά δεν φτάνει και τίποτα. Τότε ίσως η προστασία απορρίπτει ανθρώπους ή τα email δεν φτάνουν στα εισερχόμενά σας.

Εντοπίστε πρώτα την περίπτωση και μετά προσθέστε προστασία. Πώς γίνεται αυτό περιγράφεται στην ενότητα «Παράδοση email ή προστασία από bots;».

Τι προσφέρει το ίδιο το Contact Form 7

Το Contact Form 7 έχει ενσωματωμένα αρκετά μέτρα κατά του spam (ελεγμένο στην έκδοση 6.1.7):

  • Λίστα αποκλεισμού. Το CF7 ελέγχει κάθε υποβολή με βάση τη λίστα στο «Settings → Discussion» («Disallowed Comment Keys»). Μια αντιστοίχιση μετράει ως spam. Αυτό βοηθά κατά λέξεων και domains που επανέρχονται, όχι κατά νέων κειμένων.
  • Πεδίο ερώτησης. Με την ετικέτα [quiz] η φόρμα θέτει μια ερώτηση που ορίζετε εσείς. Τα bots που συμπληρώνουν οποιαδήποτε φόρμα αποτυγχάνουν· όσα στοχεύουν ειδικά τον ιστότοπό σας την περνούν.
  • Akismet. Με το πρόσθετο Akismet και ένα κλειδί Akismet, το CF7 ελέγχει όνομα, διεύθυνση email και κείμενο μέσω της υπηρεσίας Akismet.
  • reCAPTCHA v3. Το CF7 φορτώνει το script από την Google και απορρίπτει υποβολές κάτω από ένα όριο βαθμολογίας.
  • Cloudflare Turnstile. Το CF7 ενσωματώνει το Turnstile· το script προέρχεται από την Cloudflare.

Η λίστα αποκλεισμού και η ερώτηση λειτουργούν χωρίς εξωτερική υπηρεσία. Τα Akismet, reCAPTCHA και Turnstile στέλνουν τα δεδομένα των επισκεπτών σας στον αντίστοιχο πάροχο, και αυτό πρέπει να αναφέρεται στην πολιτική απορρήτου σας.

Πότε έχει νόημα πρόσθετη προστασία από bots

Μια ειδική προστασία από bots αξίζει αν

  • εξακολουθεί να έρχεται spam παρά τη λίστα αποκλεισμού και την ερώτηση,
  • δεν θέλετε να φορτώνετε scripts από την Google ή την Cloudflare,
  • θέλετε να βλέπετε για κάθε απορριφθείσα υποβολή γιατί απορρίφθηκε.

Αν η ερώτηση αρκεί για τη φόρμα σας, δεν χρειάζεστε τίποτε άλλο. Μια προστασία που δεν χρειάζεται κανείς είναι απλώς μια ακόμη πηγή σφαλμάτων.

Ρύθμιση του SilentShield για το Contact Form 7

Το επίσημο πρόσθετο «SilentShield – Captcha & Anti-Spam» προστατεύει το Contact Form 7 χωρίς δικό σας κώδικα. Το δοκιμάσαμε με Contact Form 7 6.1.7 και WordPress 7.0.

  1. Εγκαταστήστε και ενεργοποιήστε το πρόσθετο από τον κατάλογο του WordPress.
  2. Στο «SilentShield → API / SilentShield» εισαγάγετε το κλειδί σας, κάντε κλικ στο «Validate», ενεργοποιήστε το «Activate API» και αποθηκεύστε.
  3. Στο «SilentShield → Forms» ενεργοποιήστε το Contact Form 7.

Ο ιστότοπος πρέπει να λειτουργεί μέσω https, αλλιώς η φόρμα δεν μπορεί να υποβληθεί. Όλα τα βήματα και τα δοκιμασμένα πρόσθετα φορμών θα τα βρείτε στον οδηγό για το WordPress. Κάθε υποβολή μετράει στο όριο χρήσης, δείτε τιμές και όρια.

Δοκιμή γνήσιων υποβολών και απορριφθεισών προσπαθειών

Μια γνήσια υποβολή: Ανοίξτε τη σελίδα σε ιδιωτικό παράθυρο, συμπληρώστε τη φόρμα με το χέρι και υποβάλετέ την. Θα πρέπει να δείτε την επιβεβαίωση του CF7 με πράσινο περίγραμμα.

Μια απορριφθείσα προσπάθεια: Στείλτε την ίδια φόρμα χωρίς πρόγραμμα περιήγησης στη διεπαφή του CF7. Το ID της φόρμας και την τιμή για το _wpcf7_unit_tag θα τα βρείτε στον πηγαίο κώδικα της σελίδας, στα κρυφά πεδία της φόρμας.

curl -X POST "https://example.com/?rest_route=/contact-form-7/v1/contact-forms/123/feedback" \
  -F "_wpcf7=123" -F "_wpcf7_unit_tag=wpcf7-f123-p45-o1" -F "_wpcf7_container_post=45" \
  -F "your-name=Test" -F "[email protected]" -F "your-message=Test"

Θα πρέπει να λάβετε απάντηση με "status":"spam". Με το SilentShield το μήνυμα γράφει «Behavior check».

Παράδοση email ή προστασία από bots;

Στο Contact Form 7, το «spam» και το «το email δεν μπόρεσε να σταλεί» έχουν το ίδιο προεπιλεγμένο κείμενο. Μπορείτε να τα ξεχωρίσετε σε δύο σημεία:

  • Χρώμα περιγράμματος του μηνύματος: πορτοκαλί σημαίνει spam, κόκκινο σημαίνει ότι απέτυχε η αποστολή του email, εφόσον το θέμα σας δεν αντικαθιστά τα χρώματα του CF7.
  • Απάντηση στο πρόγραμμα περιήγησης: Στα εργαλεία προγραμματιστή (καρτέλα Δίκτυο) η απάντηση στο feedback περιέχει το status, είτε spam είτε mail_failed.

Αν είναι mail_failed, η προστασία από bots άφησε την υποβολή να περάσει· το πρόβλημα βρίσκεται στην αποστολή email από το WordPress. Ελέγξτε τότε τις ρυθμίσεις email, για παράδειγμα με ένα πρόσθετο SMTP. Αν είναι spam, την απέρριψε κάποιο μέτρο προστασίας. Με το SilentShield το μήνυμα αναφέρει τον λόγο, όπως «Behavior check».

Όρια

  • Καμία προστασία δεν σταματά spam που γράφει ένας άνθρωπος με το χέρι.
  • Χωρίς JavaScript στο πρόγραμμα περιήγησης, μια υποβολή σε προστατευμένη φόρμα απορρίπτεται.
  • Το SilentShield προστατεύει φόρμες από bots. Δεν αντικαθιστά ένα τείχος προστασίας εφαρμογών ιστού ούτε μια προστασία από DDoS.

Ρύθμιση προστασίας φορμών

Σχετικές σελίδες

Έτοιμοι να απαλλαγείτε από το CAPTCHA;

Ξεκινήστε να προστατεύετε τις φόρμες σας — αόρατα. Δεν χρειάζεται πιστωτική κάρτα.