wpinc.ru wordpress WP Inc

Как защитить email на WordPress от спама с помощью обфускации

Электронные адреса, размещённые на сайте, часто становятся мишенью для спам-ботов, которые собирают их для рассылки нежелательных писем. Если вы хотите сохранить контакт с посетителями, но при этом защитить email от автоматического сбора, обфускация email — отличный способ решения этой задачи.

Что такое обфускация email и зачем она нужна

Обфускация (от англ. obfuscation — затемнение, запутывание) — это метод преобразования email-адреса таким образом, чтобы он оставался читаемым для посетителей сайта, но стал сложнее для автоматических парсеров и ботов.

Простое размещение email в виде example@domain.com — прямой путь к спам-ботам. Они сканируют страницы и собирают такие адреса. Обфускация помогает снизить количество спама, не ухудшая пользовательский опыт.

Существуют разные способы обфускации, от простых замен символов до динамического вывода через JavaScript или использование специальных плагинов.

Популярные плагины для обфускации email в WordPress

WPINC Email Encoder — простой и эффективный плагин

Плагин автоматически заменяет все email-адреса на сайте на HTML-сущности, что усложняет их парсинг ботами. Он лёгкий и не требует настройки.

Установка: в админке WordPress перейдите в Плагины > Добавить новый, найдите WPINC Email Encoder и установите его.

Email Address Encoder от WPINC

Ещё один полезный плагин, который позволяет выбирать метод кодировки — через HTML-сущности, JavaScript или даже шорткод для конкретных email. Полезно, если нужно точечно скрывать адреса.

Как своими силами реализовать обфускацию email на WordPress

Обфускация через HTML-сущности

Самый простой метод — заменить каждый символ email на соответствующую HTML-сущность. Например, символ @ заменяется на @.

function wpinc_obfuscate_email_html_entities($email) {
    $email = str_split($email);
    $encoded = '';
    foreach ($email as $char) {
        $encoded .= '&#' . ord($char) . ';';
    }
    return $encoded;
}

// Использование:
$email = 'contact@wpinc.ru';
echo wpinc_obfuscate_email_html_entities($email);

Этот код можно использовать в шаблонах темы, чтобы выводить email безопасно.

Обфускация с помощью JavaScript

Ещё более надёжный вариант — формировать email динамически через JS, чтобы парсеры, не исполняющие скрипты, не видели адрес.

function wpinc_obfuscate_email_js($email) {
    $parts = explode('@', $email);
    if (count($parts) !== 2) return $email;
    $user = $parts[0];
    $domain = $parts[1];
    $js = "<script type=\"text/javascript\">
        //<![CDATA[
        var u='" . $user . "';
        var d='" . $domain . "';
        document.write('<a href=\'mailto:' + u + '@' + d + '\'>');
        document.write(u + '@' + d);
        document.write('</a>');
        //]]>
        </script>";
    return $js;
}

// Использование:
$email = 'contact@wpinc.ru';
echo wpinc_obfuscate_email_js($email);

Этот способ лучше защищает email, но если у пользователя отключён JS, адрес не отобразится.

Обфускация email с помощью шорткода

Чтобы удобно вставлять зашифрованные email в контент WordPress, можно зарегистрировать шорткод.

function wpinc_shortcode_obfuscate_email($atts) {
    if (empty($atts['email'])) return '';
    return wpinc_obfuscate_email_html_entities($atts['email']);
}
add_shortcode('wpinc_email', 'wpinc_shortcode_obfuscate_email');

// Использование в тексте:
// [wpinc_email email="contact@wpinc.ru"]

Так вы сможете быстро вставлять адреса, не боясь спама.

Дополнительные советы по защите email на WordPress

  • Не публикуйте email в открытом виде. Лучше используйте формы обратной связи.
  • Используйте плагины капчи для защиты форм.
  • Регулярно обновляйте WordPress и плагины для безопасности.
  • Проверяйте сайт на наличие вредоносных скриптов, которые могут раскрывать контактные данные.

Обфускация — важный элемент комплексной защиты email, особенно если вы активно размещаете контактные данные на сайте.

×
Оптимизируй свой сайт!

Скидка -15% на премиум плагин Clearfy Pro

Купить плагин сейчас ⋙