Akismet - определенно известный мне # 1 метод ограничения количества спам-комментариев. Также приятно передать это третьему лицу (по разумной цене) .. таким образом, если клиент жалуется, просто «перекладывайте вину»
Другой вариант - включить что-то вроде файла сигнатуры спамера в mod_security. У них есть список ключевых слов, по которым вы можете отсканировать комментарий и разместить сообщение для проверки, если вы нашли совпадение. Хотя, если у вас есть доска объявлений, на которой действительно обсуждаются темы, содержащие эти ключевые слова, вам понадобится много модераторов. : -)
Также вы можете рассмотреть возможность сканирования IP-адресов и сопоставления их со списками блокировки SpamHaus или DCShield. Мы недавно начали этот подход, и он сделал чудеса.
Вещи, которые не работают: требуется регистрация, простые капчи, пользовательский агент ... это можно автоматизировать или победить с помощью дешевой рабочей силы.