Как удалить ненужное поле 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>  

 

 

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