Für SEOs
Fortsetzung von E-Mail-Spam verhindern

Verschlüsselung der E-Mail-Adresse

Das Verstecken der E-Mail-Adresse vor Spam-Robots ist der wichtigste Punkt bei der Spamabwehr. Zuerst werden die verschiedenen Prinzipien vorgestellt, und im zweiten Schritt werden diese sinnvoll kombiniert.

Dabei werden nur Techniken verwendet, die gültiges (valides) HTML erzeugen.


Verschlüsselungsprinzip Schutzwirkung Zugänglichkeit Benutzbarkeit
Die E-Mail-Adresse wird in Unicode verschlüsselt. Das sieht dann ungefähr so aus: <a href=" &#109;&#097;&#105;&#108;&#116;&#111; Nur teilweise
"Bessere" E-Mail-Robots können auch Unicode lesen.
Sehr gut
Lesbar und anklickbar ohne Einschränkungen (Unicode wird von allen modernen Browsern verstanden)
Die E-Mail wird in reinem Text dargestellt, wobei das "@" ersetzt, umschrieben oder als Grafik eingebunden wird. Z.B. so:
test (a) meinedomain.xy
test [at] meinedomain.xy
test<img src="at.gif">meinedomain.xy
Gut
Allerdings wäre es durchaus möglich, ein entsprechendes Suchmuster zu programmieren.
Akzeptabel
Die Mail-Adresse ist lesbar, und für die meisten User auch verständlich.
Schlecht
Adresse ist nicht anklickbar und muss markiert/kopiert und korrigiert werden. Ggf. ist eine Erklärung erforderlich. Unerfahrene Nutzer könnten daran scheitern, die E-Mail-Adresse richtig zusammenzusetzen.
Die E-Mail-Adresse wird als Grafik hinterlegt:
<img src="adresse.gif" ...>
Sehr sicher
Die Grafik kann von Robots nicht gelesen werden.
Bedingt
Bei abgeschalteten Bildern ist nichts zu sehen.
Schlecht
Die Mail-Adresse ist nicht anklickbar und muss komplett abgetippt werden (kostet Zeit und birgt das Risiko von Schreibfehlern)
Der E-Mail-Link wird mit Javascript auf die Seite geschrieben. In anderen Varianten wird die Anklickfunktion über Javascript programmiert, oder eine verschlüsselte E-Mail-Adresse erst durchs Anklicken funktionsfähig gemacht. Gut
Es ist anzunehmen, dass die meisten Robots und E-Mail-Sammler kein Javascript beherrschen.
Bedingt
Bei deaktiviertem Javascript ist die Mail-Adresse nicht funktionsfähig, evtl. auch gar nicht sichtbar.
Die Mailadresse wird durch HTML-Elemente unterbrochen, welche durch CSS unsichtbar gemacht werden. In Frage kommen z.B. <br>, <hr> oder <img> mit einem Blind-GIF.
(Da der Inhalt des mailto-Attributes auf diese Weise nicht geschützt werden kann, funktioniert diese Methode nur bei nicht-anklickbaren Mailadressen in Textform.)
Gut
Der Parser des Robots sucht immer innerhalb und außerhalb von HTML-Elementen nach Adressen, daher wird diese auf jeden Fall falsch ausgelesen.
Bedingt
Bei abgeschaltetem CSS wird die Mail-Adresse durch- oder umgebrochen.
Schlecht
Die Methode funktioniert nicht bei anklickbaren Mail-Links. Die Adresse wird als reiner Text dargestellt und muss daher manuell ins Mailprogramm kopiert werden.


Guter Spamschutz und gleichzeitig zugänglich & benutzbar?

Durch eine Kombination verschiedener Methoden ist das folgendermaßen möglich:

Variante 1:

Ergebnis: bei aktiviertem Javascript funktioniert die E-Mail-Adresse normal. Bei deaktiviertem Javascript sieht man die E-Mail als Grafik sowie eine kurze Erklärung. Falls die Grafik nicht angezeigt wird, ist die Adresse im Alt-Text der Grafik zu sehen.

HTML-Quelltext:

<script src="write.js" type="text/javascript"></script>

<noscript>
<img src="adresse.gif" width=".." height=".."
alt="test [at] domain.xy">
<br>
<small>(nur mit aktiviertem Javascript anklickbar)</small>
</noscript>

Javascript (write.js):

e1='test';
e2='domain';
e3='xy';
e=e1+'&#64;'+e2+'&#46;'+e3;
a1='<a href="mai' + 'lto:';
a2='">';
a3='</a>';
document.write(a1+e+a2+e+a3);

Variante 2:

Wie Variante 1, mit folgendem Unterschied:

Ergebnis: Bei aktiviertem Javascript wie Variante 1. Bei deaktiviertem JS sieht man die E-Mail als Text und kann diese markieren/kopieren und im Mail-Programm einfügen.

HTML-Quelltext:
wie oben; an Stelle des <img>-Tags ist einzufügen:

test<span>&nbsp;</span>&#64;<span>&nbsp;</span>domain.xy

Zusätzlich ist eine CSS-Angabe notwendig, um die als Abstandhalter dienenden Leerzeichen unsichtbar zu machen. In der externen CSS-Datei ist einzufügen:

noscript span {display:none}


Benutzerfreundlichkeit vs. maximaler Spamschutz – Variante 1 oder 2?

Die Grafik bietet eine etwas höhere Schutzwirkung – auf Kosten der Benutzerfreundlichkeit bei abgeschaltetem Javascript. Dagegen kann die Textvariante leichter im E-Mail-Programm eingefügt werden.

Bei einer E-Mail-Adresse, die nur der Impressumpflicht Genüge leisten muss, erscheint mir Variante 1 vertretbar. Ist die E-Mail-Adresse dagegen die zentrale Möglichkeit zur Kontaktaufnahme (ohne alternative Kontaktformulare), würde ich Variante 2 wählen.



Zurück zu Teil 1: E-Mail-Spam verhindern