Как удалить ненужное поле Website в форме комментирования

Все, кто является собственником блога на движке ВордПресс, знают, что спам в комментариях – это очень большое зло. В основном целью спамеров является добавление в комментарии ссылки на свой спамный сайт (а еще хуже – запакованный вирусами). Т.е., можно сделать вывод, что они преследуют своими комментариями две цели: во-первых, получать переходы по ссылкам на свой сайт, а во-вторых, увеличить цитируемость своего сайта на просторах Интернета, чтобы повысить рейтинг.

Все крупные поисковики уже давно научились не обращать внимания на такие ссылки и рейтинг этим сайтам не повышается. Даже наоборот, такие спамные сайты могут попасть под бан. Хуже дела обстоят с теми сайтами, на которых размещаются ссылки, ведущие на спамные сайты. Даже если к таким ссылкам добавляется атрибут rel="nofollow".

По умолчанию, в блоге на движке ВордПресс в форме комментирования есть такие поля: Имя, E-mail, Сайт (Website), Комментарий. Если у вас на сайте используется дефолтная форма комментариев WordPress, будьте готовы к большому потоку спама (в котором, как мы уже рассмотрели, особое внимание уделяется внешним ссылкам). Да, вы можете включить премодерацию комментариев и потом вручную одобрять «нормальные» комментарии, но это отнимает очень много сил и времени. Да, вы можете поставить отличный плагин по борьбе со спамом Akismet, но вам все равно придется вручную очищать папку со спамом, а то и перепроверять, не попал ли случайно нормальный коммент в спам. А полное отключение комментирования ваших записей в блоге – это вообще не вариант.

В этой статье мы рассмотрим один простой способ усложнения жизни спамерам – удаления поля Сайт (Website) из формы комментирования для сайта на CMS WordPress. Это не гарантирует прекращения потока спама, но позволит значительно его уменьшить.

 

Для удаления из формы комментариев поля для URL сайта комментирующего достаточно будет добавить в файл functions.php активной темы следующий код:

 

add_filter('comment_form_default_fields', 'remove_url_from_comments');
function remove_url_from_comments ( $fields ) {
  if ( isset($fields['url'] ))
  unset ( $fields['url'] );
  return $fields;
}

 

Иногда данного кода будет недостаточно, например, если в вашей теме используется кастомный шаблон комментариев — comments.php. Тогда вам нужно будет еще удалить HTML и PHP строки для вывода отдельного поля под ссылку на внешний сайт. Примерный код, который нужно будет удалить, выглядит так:

 

<p class="comment-form-url">
  <label for="url"><?php __('Website'); ?></label>
  <input id="url" name="url" type="text" value="<?php echo $comment_author_url; ?>" size="30" />
</p>

 

 

После этого у злоумышленников будет меньше шансов добавить спамные ссылки к комментариям на вашем сайте.

 

Recent Posts

Что такое Unix Domain Socket: секретный туннель в Linux

В нашем путешествии по миру сокетов мы начали с "верхнего этажа" — WebSocket в браузере,…

17 часов ago

Сетевые сокеты (Network Sockets): фундамент интернета 🌐 | Глубокое погружение

В предыдущей статье мы говорили о WebSockets — технологии, позволяющей создавать интерактивные чаты в браузере.…

2 дня ago

Как ухаживать за кожей малыша летом и зимой

Кожа младенца – тонкая и нежная. Еще не справляется с защитой организма от внешних факторов.…

3 дня ago

Что такое Сокеты (WebSocket) 🔌 | подробно для начинающих

Представьте себе телефонный разговор. Вы звоните другу, он поднимает трубку, и вы можете говорить одновременно,…

4 дня ago

Мобильный воркстейшн: может ли планшет 📱 заменить ноутбук веб-разработчику?

Долгое время планшеты воспринимались исключительно как устройства для потребления контента: посмотреть YouTube, полистать ленту новостей…

5 дней ago

Как принудительно обновить кэш у пользователей 🧹 | Практические методы

Вы внесли правки в CSS, исправили критический баг в JavaScript, загрузили файлы на сервер и…

6 дней ago