Попробуйте akismet в качестве первой линии обороны. Плохое поведение тоже эффективно, возможно, слишком эффективно, так как у меня были проблемы с ложными срабатываниями. Акисмет, с другой стороны, служит мне хорошо. Затем, если необходимо, добавьте другие слои, не препятствующие работе пользователя (например, используя пустые поля, которые должны оставаться пустыми), а затем, если вам действительно нужно, другие методы, включающие тесты Тьюринга некоторых типов (капча является худшей с точки зрения пользователя дружелюбие: попробуйте простые вопросы вместо). Вот хорошее чтение .