Как защитить адрес электронной почты от спам-ботов на WordPress используя шорткод
Базы данных электронных рассылок пополняются в том числе и благодаря работе спам-ботов.
Ранее я уже писал как скрыть email адрес у себя на сайте от спам-ботов — https://moonback.ru/page/css-email-protect. В этой же статье я расскажу как спрятать email от спам-ботов на WordPress и использовать шорткод (shortcode) для вставки в содержимое страниц и постов.
Спам-бот — это специализированное программное обеспечение, которое индексирует сайты с целью поиска адресов электронной почты.
Преобразование email адреса в HTML сущности
Для маскировки адресов электронной почты, чтобы запутать спам-ботов будем менять символы на их коды (HTML сущности).
Для преобразования символов в их коды в WordPress есть функция antispambot(). Чтобы ею можно было пользоваться внутри страниц и записей нужно добавить шорткод и назначим ему специальную функцию.
Нижеследующий фрагмент кода на PHP необходимо добавить в файл function.php:
/** * Hide email from Spam Bots using a shortcode. * * @param array $atts Shortcode attributes. Not used. * @param string $content The shortcode content. Should be an email address. * * @return string The obfuscated email address. */ function wpcodex_hide_email_shortcode( $atts , $content = null ) { if ( ! is_email( $content ) ) { return; } return '<a href="mailto:' . antispambot( $content ) . '">' . antispambot( $content ) . '</a>'; } add_shortcode( 'email', 'wpcodex_hide_email_shortcode' );
Как использовать
Для того, чтобы замаскировать email адрес внутри страницы используйте шорткод [email]
:
[email]mymail@domainname.tld[/email]
Результат
Результатом работы функции будем набор оригинальных символов перемешанных с HTML сущностями. В браузере все будет отображаться корректно, а у спам-бота должны возникнуть большие проблемы с распознованием адреса электронной почты, так как он «увидит» примерно следующее:
<a href="mailto:mail@rassadnikov.ru">mail@rassadnikov.ru</a>
WordPress функция antispambot() при каждом запуске выдает разную последовательность символов и сущностей.
Благодарности
При написании статьи были использованы следующие источники