Spamsichere E-Mail-Links in WordPress

Vielen Leuten ist es nicht geheuer, die eigene E-Mail-Adresse auf Webseiten zu publizieren, weil zu Recht befürchtet wird, dass die E-Mail-Adresse früher oder später automatisch gefunden und in eine Spam-Verteilerliste eingetragen wird.

Da man aber dem aufrichtigen Besucher durchaus eine Kontaktmöglichkeit anbieten sollte, steht man vor dem Dilemma, dem üblicherweise mit einer der folgenden Strategien begegnet wird.

1. Kontaktformular bereitstellen
Nachteil: Besucher weiss nicht, ob die Nachricht korrekt verschickt worden ist und hat keine Kopie davon im Gesendet-Ordner

2. E-Mail-Adresse als Bild speichern
Nachteil: Besucher muss die Adresse abtippen.

3. Leicht verschlüsselt hinschreiben, z.B. info ÄT company PUNKT com
Nachteil: Sieht merkwürdig aus.

4. Nichts unternehmen und dem Spam-Filter des E-Mail-Programms vertrauen
Nachteil: Es werden immer wieder Tricks gefunden, um die gängigen Spam-Filter zu umgehen. Zu ambitioniert arbeitende Spam-Filter klassieren richtige E-Mails fälschlicherweise als Spam.

5. Die E-Mail-Adresse mit Javascript setzen
Nachteil: Diese Strategie geht davon aus, dass die bösartigen E-Mail-Sammler-Skripte kein Javascript können.

Ich verwende gerne diese letztgenannte Javascript-Lösung, da sie bislang recht gute Resultate geliefert hat. Wenn eine Website mit WordPress umgesetzt wird, verwende ich einen Shortcode, so dass der Autor relativ einfach eine E-Mail-Adresse erfassen kann.

Schreiben Sie uns: [email address="info@company.com"]

Im Theme (Datei functions.php) muss der folgende Code eingefügt werden, um den obigen Shortcode in die Java­script-Lösung umzuwandeln.

<?php

add_shortcode('email', 'scf_email');

function scf_email($atts) {
  extract(shortcode_atts(array(
    'address' => 'info@company.com'
  ), $atts));

  $parts = explode('@', $address);

  return '<script>
    var a = "' . $parts[1] . '",
      s = "&#64;",
      b = "' . $parts[0] . '";
    var m = b + s + a;
    var n = "&#109;&#97;i&#108;&#116;&#111;&#58;";
    document.write("<a href=\"" + n + m + "\">" + m + "</a>");
  </script>
  <noscript>' . $parts[0] . ' ät ' . $parts[1] . '</noscript>';
}

Und so sieht es dann im Endprodukt aus:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *