Правовая сторона: почему комментарии — это зона риска по 152-ФЗ
Многие владельцы блогов и сайтов компаний считают, что если они не продают товары онлайн, то Федеральный закон № 152-ФЗ «О персональных данных» их не касается. Это опасное заблуждение.
По умолчанию стандартная форма комментариев WordPress запрашивает:
- Имя пользователя;
- Адрес электронной почты (E-mail);
- IP-адрес и User-Agent браузера (движок тихо записывает их в базу данных при каждой отправке).
Совокупность этих данных по закону РФ квалифицируется как обработка персональных данных. Чтобы собирать комментарии легально, владелец сайта обязан:
- Уведомить Роскомнадзор о начале обработки персональных данных и войти в официальный реестр операторов.
- Разместить под формой комментариев явный чекбокс согласия с прямой ссылкой на Политику конфиденциальности и согласие на обработку ПДн.
- Вести базу логов согласий (фиксировать дату, время, IP и версию политики на момент отправки).
- Обеспечить хранение базы данных строго на серверах внутри территории РФ (требование локализации баз данных).
Штрафы за отсутствие согласия или нарушение правил сбора данных для юридических лиц и ИП достигают сотен тысяч рублей. Если на вашем сайте комментарии не являются ключевым бизнес-инструментом, держать открытую форму ради пары сообщений в месяц — это неоправданный юридический риск.
Техническая сторона: минус лишний JavaScript
Помимо юридических рисков, форма комментариев ухудшает технические метрики Core Web Vitals:
- Лишний скрипт в разметке: движок подключает файл
/wp-includes/js/comment-reply.min.jsна каждой странице статьи для перемещения формы при нажатии кнопки «Ответить». Это дополнительный HTTP-запрос и лишняя работа для браузера. - Блокировка рендеринга и рост DOM-дерева: пустая форма со всеми полями, кнопками и скрытыми инпутами утяжеляет итоговый HTML-код страницы.
- Спам-нагрузка на базу данных: спам-боты постоянно бомбардируют скрипт
wp-comments-post.php, создавая паразитную нагрузку на MySQL и PHP-процессы хостинга.
Задача: скрыть форму, но оставить старые ветки комментариев
Часто на посещаемых статьях уже накоплены ценные экспертные комментарии и отзывы, которые помогают в SEO и дают дополнительные поведенческие факторы. Удалять их нельзя.
Нам нужно идеальное решение:
- Старые комментарии остаются видимыми для читателей и поисковых роботов.
- Форма отправки нового отзыва полностью исчезает со всех страниц сайта.
- Скрипт
comment-reply.min.jsвырезается из очереди загрузки. - Закрывается системный прием спам-запросов на уровне фильтров ядра.
Решение в 10 строк кода (через functions.php)
Не нужно ставить сторонние плагины вроде Disable Comments, которые создают лишние запросы к базе данных. Достаточно добавить компактный сниппет в файл functions.php вашей дочерней темы (например, reboot_child):
/**
* 1. Глобальное закрытие комментирования на сайте.
* Старые ветки комментариев остаются на страницах,
* но сама форма отправки новых отзывов полностью скрывается.
*/
add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);
/**
* 2. Отключение ненужного скрипта comment-reply.min.js
* Освобождает очередь скриптов от лишнего HTTP-запроса.
*/
add_action('wp_enqueue_scripts', function () {
wp_deregister_script('comment-reply');
}, 9999);
Как это работает изнутри:
- Хук
comments_openвозвращаетfalseдля любых типов записей, страниц и медиафайлов. Функция темыcomment_form()видит, что прием закрыт, и физически не выводит HTML-разметку формы. - Хук
pings_openотключает прием уведомлений пингбэков и трэкбэков (еще один источник спам-ссылок). wp_deregister_script('comment-reply')предотвращает регистрацию и загрузку браузерного скрипта ответов.- При этом функция вывода уже существующих записей
wp_list_comments()продолжает штатно рендерить историю обсуждений из базы.
Куда вставить код на хостинге
- Войдите в панель управления хостинга (Beget, cPanel, ISPmanager) и откройте Файловый менеджер (или подключитесь через FileZilla по SFTP).
- Перейдите в папку вашей дочерней темы:
/wp-content/themes/ваша_тема_child/. - Откройте файл
functions.phpдля редактирования. - Вставьте предложенный фрагмент в конец файла и сохраните изменения.
- Очистите кэш сайта (через плагин кэширования или панель хостинга).
Результат оптимизации
После сохранения правок и проверки страницы в режиме инкогнито:
- Чистый код статьи: исчезли громоздкие блоки полей ввода и юридические предупреждения.
- Минус один скрипт: файл
comment-reply.min.jsбольше не запрашивается браузером. - Нулевой риск по 152-ФЗ: сайт больше не собирает имена, почты и IP-адреса случайных посетителей через публичные формы.
- Контент сохранен: все исторические ветки обсуждений остались на своих местах и продолжают работать на SEO.










