E-Mails auf der WordPress Website vor Spambots verstecken mit Verschlüsselung

Als Betreiber seiner eigenen Website kennt man das Problem, sobald man seine E-Mail auf der eigenen Website veröffentlicht folgen kurz darauf die ersten Spam-Nachrichten. Diese kommen dabei nicht nur über das Kontaktformular sondern werden auch gerne direkt geschickt. Grund dafür ist, dass Spammer eigene Webcrawler betreiben die auf Websites blind nach E-Mail Adressen suchen um diese mit Nachrichten bombardieren zu können. Nachdem wir uns vor einiger Zeit bereits um das Thema Kontaktformular-Spam gekümmert haben, geht es heute um die automatische Verschlüsselung von E-Mail Adressen auf der eigenen WordPress Website.

Um die E-Mail Adressen vor Spambots zu verstecken bedienen wir uns der antispambot() Funktion von WordPress. Diese Funktion wandelt den jeweils übergebenen String in HTML Entities um. Dies macht aus dem klassischen:

				
					<a href=mailto:deinemail@domain.com>deinemail@domain.com</a>
				
			

folgendes:

Obwohl der Quellcode nur noch HTML Tags ausgibt, merkt man im Frontend selbst nichts von dieser Änderung. Die E-Mail Adressen werden weiterhin richtig angezeigt und mailto-Links sind auch weiterhin ganz normal klickbar. Umgesetzt wird das mit dem folgenden Code den Ihr selbst einbauen könnt, alternativ findet Ihr am Ende der Seite einen Download-Link zu einem Plugin das Ihr euch direkt in WordPress installieren könnt.

				
					function osu_encode_all_emails($content) {
    // Regular expression to find email addresses
    $pattern = '/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/';

    // Callback function to encode email addresses
    $callback = function ($matches) {
        return antispambot($matches[0]);
    };

    // Apply the regular expression and callback to the content
    $content = preg_replace_callback($pattern, $callback, $content);

    return $content;
}

// Hook the function into the_content filter
add_filter('the_content', 'osu_encode_all_emails', 99999);
				
			

Nach dem Einbau sollten Kontaktformulare und die wichtigsten Teile eurer Website getestet werden. Wie bereits beschrieben werden alle E-Mails gefiltert was in Einzelfällen zu unerwarteten Problemen führen kann.

Wie versprochen findet Ihr das komplett eigenständige Plugin nachfolgend. Die zip-Datei könnt Ihr wie gewohnt über das WordPress Backend hochladen und installieren. 

Download OSULZER E-Mail Encryption

Kontakt

Bürozeiten:
Montag – Donnerstag: 9:00 – 17:00 Uhr
Freitag: 9:00 – 14:00 Uhr