Як видалити непотрібне поле 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

WordPress як Headless CMS 🧠 | практично з REST API

WordPress роками був неперевершеним "монолітом": він відповідав і за зручну адмін-панель, і за збереження даних,…

2 тижні ago

Тандем Nginx + Apache 🤝 Як поєднати швидкість та гнучкість

У світі веб-серверів часто говорять про протистояння Nginx vs Apache. Але що, якби я сказав…

2 тижні ago

Що таке Apache HTTP Server: 📜 Надійний ветеран веб-серверів

Коли я починав свій шлях у веб-розробці, питання "який веб-сервер використовувати?" практично не стояло. Відповідь…

2 тижні ago

Що таке Nginx: чому він швидший за Apache? 🚀 | Інструкція + Конфіги

Коли мова заходить про веб-сервери, два імені завжди на слуху: Apache та Nginx. Apache —…

2 тижні ago

Знайомство з Docker для веб-розробника 🐳 | Встановлення та основи

У світі веб-розробки ми постійно стикаємося з проблемою: "А в мене на комп'ютері все працює!".…

2 тижні ago

Навіщо веб-розробнику віртуальна машина (VM) 🖥️

На зорі моєї кар'єри веб-розробника все було відносно просто: встановив локальний сервер (пам'ятаєте Denwer?), поклав…

2 тижні ago