Простой способ заблокировать спам в WordPress

С каждым годом спама в интернете появляется все больше и больше, но также и появляются новые методы борьбы с ним. Некоторые из них эффективны, некоторые не очень.

Сегодня мы не будем говорить о альтернативе Akismet, а попробуем использовать более простой способ. Это будет небольшой трюк с использованием файла htaccess.


Для того чтобы вам предотвратить с спам в вашем WordPress блоге, вам нужно найти в корне сайта файл .htaccess и вставить туда следующие четыре строчки кода:

Внимание: Перед любыми действиями всегда делайте резервную копию.

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

Приведенный выше код проверяет реферер (URL источника запроса), когда происходит доступ к файлу wp-comments-post.php. Если реферер существует, и это ваш URL соответсвует вашему блогу, комментарий будет допущен. В противном случае, спам бот будет перенаправлен и комментарии не будут опубликованы. Еще от себя рекомендую скачать удобную программу для работы с ftp с сайта с бесплатными программами.

Как это все будет работать?

Здесь все просто. Когда сайт или робот будет обращаться к файлу wp-comments-post.php, то указанный выше код проверит реферер (URL источника запроса). Если у кого-то или чего-то имеется реферер и он соответствует адресу вашего блога, то комментирование будет разрешено. В противном же случае, система не даст спам боту опубликовать комментарий, т.к они обращаются напрямую к файлу wp-comments-post.php.