Spamschutz in WordPress ganz einfach

Das Thema Spam in WordPress und das Erkennen mittels Honeypot ist hier nicht neu. Das hatte ich zusammen mit einem Codeschnipsel von Torsten Landsiedel schon mal hier beschrieben. Heute kommt eine ich gebe es zu etwas schräge, aber auch wirksame Methode von mir.

Das oben erwähnte Codeschnipsel von Torsten habe ich etwas abgeändert, sodass es nicht nur Kommentare, die in den „Papierkorb“ gehören, sondern auch „Ausstehende“ Kommentare nach „Spam“ verschiebt. Das ist zwar eine extreme Methode, da auch alle Mails von Lesern, die das erste Mal kommentieren als Spam (fische ich natürlich zeitnah aus den Spam raus) markiert werden, klappt aber bestens.

/**
 * Kommentare 'Papierkorb' und 'Ausstehend' nach 'Spam' verschieben
 */
 
add_filter('pre_comment_approved', function( $approved ) { 
  if ( 'trash' === $approved || 'moderated' === $approved ) { $approved = 'spam'; } return $approved; 
}, 10, 2);

Dazu gehörten noch Änderungen unter WordPress in Einstellungen => Diskussion. Dort erlaube ich 0 Links in den Kommentaren und habe in die Kommentar-Sperrliste „http“ eingetragen. Damit würden alle Kommentare, die in das Formularfeld „Website“ einen Link eintragen als Spam gewertet. Damit das nicht passiert habe ich das Feld mit nachfolgendem CSS-Schnipsel ausgeblendet.

.comment-form-url,
.comment-form-url label,
.comment-form-url input {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  z-index: -1;
}