Странность: комментарий WordPress был опубликован при использовании WP Discourse

Сегодня утром я столкнулся с необычной ситуацией.

Я использую WordPress и плагин WP Discourse для комментариев. Несмотря на то, что эта настройка включена,

в панели управления WordPress появились три спам-комментария.

Как спам-бот или кто-либо ещё может оставить комментарий на WordPress, если комментарии обрабатываются через WP Discourse? Где вообще можно ввести данные, чтобы они были приняты как комментарий? Тем более как они попадают в мою панель управления?

Я в недоумении.

P.S. В WordPress я только что установил:

Screen Shot 2023-02-04 at 6.03.27 AM

Так что, надеюсь, это не вступит в конфликт с WP-Discourse.

Я действительно не знаю, и меня это вполне устраивает, если меня поправят… но WP Discourse не заменяет систему комментариев, он просто отображает темы Discourse в виде комментариев.

Исходная система комментариев остаётся на месте, и если вы разрешите ботам использовать её через SSH, прямые ссылки или любым другим путём, это произойдёт. Похожая ситуация, когда мы что-то скрываем с помощью CSS: ничего не удаляется, просто скрывается с экрана. Конечно, WP Discourse не так прост, но принцип примерно тот же.

Или я совершенно запутался, и очень скоро мы узнаем, как всё обстоит на самом деле :rofl:

Привет, Brandon007!

Джейк прав.

Чтобы запретить пользователям оставлять комментарии к вашим постам, нужно изменить настройки в админ-панели WordPress.
Настройки → Комментарии → Снимите галочку с пункта «Разрешить комментарии к новым записям».

Однако эта настройка не применится к уже существующим записям — их нужно отредактировать вручную в разделе «Записи» админ-панели WordPress (это можно сделать массово).

Это никак не связано с WP-Discourse. :slight_smile:

Забавный факт: если бедный админ использует WP-CLI, это закроет комментарии под каждым постом (и займёт очень-очень много времени):

wp post list --format=ids | xargs wp post update --comment_status=closed

И довольно скоро придёт много писем с сообщением вроде «Reason for failure: A 429 response code was returned from Discourse». Слишком быстро, слишком рано — пришлось подождать несколько секунд. Похоже, API был не в духе.

Но, как говорят на телемагазинах, это ещё не всё. Каждый пост WordPress, где можно было закрыть комментарии и который был связан с Discourse, получил всплеск активности и завалил ленту /latest.

Так что — WP-CLI замечательный инструмент, но в этой ситуации… не очень :wink:

Спасибо, что откликнулись, ребята!

У меня эта опция уже снята.

Насколько я понимаю, всё равно нужно включить комментарии для конкретного поста, к которому вы хотите их разрешить. Вот так…

Если я сниму эту галочку и сохраню пост в WP, то метаданные «Комментарии» в WordPress исчезнут. Имеется в виду счётчик комментариев, который одновременно служит ссылкой, ведущей вниз по странице к ссылке на форум Discourse. Большинство людей полагаются на эту ссылку «Комментарии» в верхней части страницы, чтобы понять, что можно комментировать, не прокручивая страницу до самого низа.

:light_bulb: Понял, внимательно перечитав: первый скриншот, который я поделил, по сути говорит, что посты, использующие WP-Discourse, всё ещё имеют шаблон комментариев WordPress. Я думал, что он был заменён. Тогда я протестирую включение этого второго параметра. Это предотвратит спам и использование скрытого шаблона комментариев WP теми, кто не авторизован, но при этом позволит сохранить всё остальное, что нам нужно.