E-Mail-Adressen in WordPress verschlüsseln - antispambot()

- Code, Shortcode & Plugin -

In diesem Artikel erfährst Du wie man E-Mail-Adressen in WordPress verschlüsselt und dadurch hoffentlich weniger Spam in Deinem Posteingang landet. Ich stelle dir drei verschiedene Möglichkeiten vor: Verschlüsselung direkt in Deinem Template (z.B. single.php oder page.php), per Shortcode im Editor oder per Plugin.

Jetzt lesen

Bevor wir allerdings anfangen, ein kleiner Hinweis: Es gibt keine ultimative Methode, wie Du eine öffentliche E-Mail-Adresse vor Spam-Missbrauch schützen kannst. Mit der Anleitung in diesem Artikel werden wir es aber den Bots so schwer wie möglich machen, Deine E-Mail-Adresse automatisiert über den Quellcode Deiner Seite auszulesen.

Vorgehen von Bots

Bots schauen sich den Quellcode Deiner Seite an und folgen Links zu anderen Seiten. E-Mail-Adressen sind sehr leicht zu identifizieren, da sie stets gleich aufgebaut sind, ein @ enthalten und meistens ein mailto: am Anfang steht.

Es gibt eine handvoll Möglichkeiten, den Bots das automatisierte Auslesen dieser Mail-Adressen zu erschweren. Wir wollen aber gleichzeitig die Usability aufrecht erhalten, weshalb Spielereien wie deinname ( at ) domain.de oder ein Bild für uns nicht in Frage kommen. Das stört die Usability und der Leser hat mehr Aufwand, Dir eine Mail zu schreiben.

Deshalb werden wir die Mail-Adresse mit Hilfe der WordPress-Funktion antispambot() verschlüsseln.

E-Mail-Verschlüsselung via antispambot() im Template

Die Funktion antispambot() codiert Zeichenketten, sodass die E-Mail-Adresse nicht mehr als solche direkt im Quelltext der Seite steht und die meisten Bots diese nicht mehr automatisiert auslesen können. Betonung auf „die meisten“, denn dadurch dass auf unzähligen Webseiten E-Mails unverschlüsselt im Quellcode stehen, haben die meisten Bots gar nicht den Bedarf sich länger mit verschlüsselten Mails aufzuhalten.

Hier also ein Beispiel, wie antispambot() in Deinem Template eingesetzt werden kann:

Diesen Code fügst du nun an die gewünschte Stelle deines Themes. Möchtest du beispielsweise deine E-Mail-Adresse im Footer ausgeben, fügst du ihn an die entsprechende Position in deiner footer.php.

WordPress erzeugt daraus dann folgenden HTML-Code:

denis@wpcorner.de

Shortcode für den Editor erstellen

Möchtest Du Deine E-Mail im WordPress Editor verschlüsseln, ist ein Shortcode nützlich. Um diesen zu erstellen musst Du folgenden Code in die functions.php Deines (Child-)Themes platzieren:

function wpcorner_hide_email_shortcode( $atts , $content = null ) {
	if ( ! is_email( $content ) ) {
		return;
	}
	return '<a href="mailto:' . antispambot( $content ) . '">' . antispambot( $content ) . '</a>';
}
add_shortcode( 'email', 'wpcorner_hide_email_shortcode' );
Anschließend musst du den neu erstellten Shortcode [email] verwenden, um E-Mail-Adressen die du über den WordPress Editor veröffentlichst, zu kodieren.

Das würde in meinem Fall wie folgt aussehen:

[email]denis@wpcorner.de[/email]
Beachte: Der Code für die functions.php verschlüsselt nicht vollautomatisch alle deine E-Mail-Adressen, sondern erzeugt lediglich einen Shortcode, den du im Editor verwenden kannst. Du musst also unbedingt darauf achten, den obigen Shortcode auch zu verwenden.

Download: Email Address Encoder

Email Address Encoder
Email Address Encoder
Entwickler: Till Krüss
Preis: Kostenlos
  • Email Address Encoder Screenshot
  • Email Address Encoder Screenshot
  • Email Address Encoder Screenshot
  • Email Address Encoder Screenshot

E-Mail verschlüsseln via Email Address Encoder Plugin

Als letzte Empfehlung gibt es hier noch das Plugin Email Address Encoder. Dieses kodiert Deine Mails automatisch über die eae_encode_str()-Funktion. Diese ist schneller als antispambot() und fügt noch weitere hexadezimal-Zeichen hinzu. Der erzeugte HTML-Code sieht dann wie folgt aus:

denis@wpcorner.de

Das Plugin verschlüsselt E-Mail-Adressen automatisch sowohl in Beiträgen, Seiten, Widgets, Kommentaren und selbst in Auszügen.

Fazit: Nur noch verschlüsselte Mail-Adressen ausgeben

Drei Möglichkeiten habe ich Dir gezeigt, mit denen Du alle Mail-Adressen auf Deiner WordPress-Seite verschlüsseln kannst. Setz Dich ran, binde entweder die antispambot()-Funktion ein oder installiere das Email Address Encoder Plugin und erschwere es Bots so Deine E-Mail-Adresse auszulesen.

Autor: Denis Brediceanu
Denis Brediceanu
Digital Brand Strategist und Gründer von WPcorner und Lunatale aus Leidenschaft. Mit WPcorner möchte ich kleinen Unternehmen, Startups und Solopreneuren dabei helfen ihre eigene Website zu erstellen und zu vermarkten.