Akismet has detected a problem. A server or network problem is preventing Akismet from working correctly.

For the last two weeks I have been tracking down why all of the sudden, with no changes on my part, the Akismet plug-in for one of my clients stopped working. I noticed it right away because without the plug-in working, I was getting inundated with lots of spam comments on the WordPress blog.

I logged into their WordPress blog and noticed a banner at the top of the page that read:

Akismet has detected a problem. A server or network problem is preventing Akismet from working correctly. Click here for more information about how to fix the problem.

So I clicked there and got another page where this was listed.

Unable to reach any Akismet servers. A network problem or firewall is blocking all connections from your web server to Akismet.com. Akismet cannot work correctly until this is fixed. Please contact your web host or firewall administrator and give them this information about Akismet and firewalls.

This particular client is not hosted on one of my servers, but is instead hosted by CBeyond. So I opened up a trouble ticket with CBeyond. I inquired if they were doing any blocking and they said no. They also said there weren’t any changes made to the server recently. But something obviously changed because it had been working and in fact it had to have worked at some point because the API key had been validated.

So off to the internet for the answer and I found lots of people that had experienced this problem, with only a few answers. A big problem was that in one version, the Akismet plug-in had a problem where it would intermittently fail to connect. But since I had the latest version this didn’t apply, and my problem certainly wasn’t intermittent.

Akismet’s FAQ mentions that the connectivity problem could either be system related or firewall related, so I started out checking each item one by one. First there are two PHP functions that need to be enabled. fsockopen and gethostbynamel.

In my case it ended up that the gethostbynamel function wasn’t working although it was enabled. It was returning an IP address of 0.0.0.0 and CBeyond’s tech support couldn’t figure out why this started happening. I’m not very impressed with CBeyond’s tech support as it appears to be out-sourced with the usual language barries and form replies that have nothing to do with the question being asked. Their final advice was to move the account to one of their newer servers which should fix the problem, but it’s going to be a disruption to the client and more work for me.