2010-01-18

Убийство 5000 спамерских комментариев.

На днях решил реанимировать HTMLayout Lab. Этому сильно мешали ~5 тысяч спамерских комментариев. Wordpress, к сожалению, не предоставляет возможности удалить разом все ожидающие модерации комментарии.

В стандартной поставке (без плагинов) предлагается три режима проверки комментариев: поштучный, Mass Edit Mode (по 20 штук) и просмотр всех комментариев гаком.
Поштучное удаление было забраковано сразу как бесперспективное, все комментарии на одной страничке Wordpress показывать отказался сославшись на ошибку внутри себя.
Пришлось довольствоваться удалением пачками по 20 штук. Ровно через 40 минут пришло понимание, что удалены жалкие проценты от общей массы, а для полной очистки от хлама придется провести за компьютером всю ночь. Тормозной хостинг настроение тоже не поднимал.

Помощь была найдена в лице плагина Akismet. Нюанс заключался в том, что после установки Akismet, потребовалась его активация. Для получения кода активации потребовалась регистрация на wordpress.org. Для получения регистрации пришлось заполнить анкету и провести активацию аккаунта (не путать с активацией самого акисмета). Одним словом, по объему головной боли разные способы борьбы со спамом отличаются несильно :)

После того, как под звон фанфар был установлен плагин, оказалось, что он способен фильтровать только свежеприходящие комментарии, а существующие 5000 это звиняйте, не к нему.

Пришлось вернуться к варианту с удалением по 20 штук за раз. Очень скоро наблюдения показали, что комментарии теперь не удаляются, а перемещаются в раздел Akismet Spam, откуда их надо удалить еще раз. Каждое действие растягивалось медленным хостингом на минуту-две. Очень хотелось нацедить по стакану крови у причастных к сложившемуся безобразию лиц.

Пришлось рыться в настройках Wordpress, чтобы выставить количество комментариев показываемых за раз (20 - очень мало). Поиски показали, что такой настройки нет. Вспомнив, что я таки программист полез ковырять php файлы. Изучение исходников показало, что количество комментариев, действительно жестко задается в коде, причем число не задается константой в одном месте, а разбросано в разных местах.

Как следует проматерившись поправил все значения и почти сразу движок заработал, выдавая по 175 сообщений на страничку (потребовалось еще расширить некий буфер с 25 до 200 сообщений). Еще через полчасика, таки удалось очистить весь спам.

Хеппи энд, блин.

Два дня спустя Akismet гордо заявляет о 200 прибитых спамерских сообщениях. Похоже, работает :)

Комментариев нет: