It’s best just to use Akismet as the last resort rather than as a matter of routine.

Use the CSS honeypot as detailed above but also add $_SERVER[‘HTTP_USER_AGENT’] to the validation process to weed out genuine users who use a browser and the bots that don’t:

if($_SERVER[‘HTTP_USER_AGENT’] === null) {

$error[] = ‘Your message has been marked as spam and will not be sent. If you have been wrongly accused of being a spammer and feel you are a miscarriage of justice then we apologise profusely. Please contact us at info@example instead’;

}