Обфускация email-адресов в WordPress
Пусть это и выглядит печально, но порой публиковать свои почтовые адреса является опасным шагом, ибо это уничтожает вашу приватность (и вы в итоге будете получать кучу спама).
Обычный способ обойти это заключается в предложении контактной формы, где почтовый адрес скрыт от конечного пользователя. Однако бывают ситуации, когда имеется польза от вывода почтового адреса, причем без риска его получения различными сборщиками и пауками.
В WordPress имеется встроенная функция antispambot(). Вы можете передать любой почтовый адрес данной функции и получить тот же самый адрес, но закодированный в символьных объектах HTML. Это заметно усложняет его распознавание всяческими сборщиками, однако он по-прежнему нормально выводится конечным пользователям.
Вы можете либо встроить эту функцию в файлы темы, либо создать шорткод для обертки почтовых адресов при использовании в записях, на страницах и в виджетах. Чтобы сделать это, просто разместите следующий фрагмент в своем функциональном плагине:
<?php // HIDE EMAILL ADDRESSES function hide_email_from_scrapers( $atts , $content = null ) { if ( ! is_email( $content ) ) { return; } return '<a href="mailto:' . antispambot( $content, 1 ) . '">' . antispambot( $content, 1 ) . '</a>'; } add_shortcode( 'hide_email', 'hide_email_from_scrapers' );
Использование me@mysite.com внутри шорткода нормально отображается во фронтэнде, однако если вы взглянете в код страницы (который читают поисковые роботы и разные сборщики контента), то вы увидите, что адрес представляет собой последовательность символьных объектов:
<a href="mailto:me@%6d%79%73i%74e.c%6f%6d">%6d%65@mys%69te.%63%6fm</a>
Это прекрасный способ сделать ваш почтовый адрес публичным, не делая его таковым, если вы понимаете, о чем я.
Источник: doitwithwp.com