Самый действенный способ, это сделать подмену полей (скрытое поле для спамеров, и настоящее но с другим параметром name). На моём блоге весь спам пропал сразу.