Elliott C. Back: Internet & Technology

Three Akismet Hacks to Improve Perfomance, Reduce Spam

Posted in Plugins, Spam, WP, Wordpress by Elliott Back on September 23rd, 2006.

As you know Akismet is a server-side spam filtering solution for Wordpress (WP) blogs. It works probably by wrapping a REST interface around an open source product like spam-assassin, which does bayesian classification of comments to try and figure out which are spam and which are real. Since it has a wide userbase, the statistical sample size is large enough for it to infer patterns that protect most of its users from most spam.

We can do better.

There are two prime problems with the way Akismet deals with recognized spam. First, it provides a centralized solution. If Akismet goes down, you will get a torrential amount of spam. The solution to partially ameloriate this problem is to add a quick DNS blacklist check on the incoming IP address. Why should you bother hitting the Akismet server without even doing a basic dns check? The second problem is that Akismet lets particular spammers keep on happily spamming your blog. Adding spam comments to the internal blacklist solves that problem.

There’s a also a potential problem with the way Akismet accesses the database. When it deletes all the old comments–which is does constantly–there’s a 20% chance for it to optimize the database. Instead, we want to try to delete all the really old spam, and optimize the table, every few hundred spams we get. In the new version, we delete old spam at a 0.2% rate.

You can download the new version of Akismet here: akismet.zip. Simply unzip and put into your wp-plugins folder as usual.

WP Admin Info

Posted in Blogging, Plugins, Wordpress by Elliott Back on July 13th, 2006.

Perhaps you’ve seen Diagnosis, a new Wordpress plugin for telling people all the different versions of things they have. It’s rather complicated, and basically just a big list of items the author thinks is valuable for configuring a server. Some of them, such as server IP addresses and ports, are completely silly values that you’d have to know to get a functioning Wordpress install to run the plugin on–a definite catch 22. Much of the rest are just a subset of what you’d get from a call to phpinfo().

That makes this plugin, which inserts phpinfo into the Wordpress admin panel’s dashboard, a perfect complement or replacement for Diagnosis:

admininfo.jpg

Feel free to download and extract admininfo.zip to your wp-content/plugins/ directory, activate, and enjoy as a new tab on the dashboard.

By default WP Admin Info displays information like:

  • Server operating system
  • PHP, mySQL, and Apache versions
  • Webserver hostname and port
  • PHP extension information

Well, you could just read the manual about phpinfo. It’s all I’ve ever needed to debug or diagnose an installation of Wordpress.

Plugin Upgrades

Posted in Plugins, Wordpress by Elliott Back on June 27th, 2006.

WP Hashcash has gotten a much needed update, to version 3.2. The new version doesn’t output buffer the whole page and make random replacements to the HTML code. Rather, it navigates to select items in the DOM at load time and replaces them as appropriate. The techniques should work in all browsers, but may not; I have tested in Firefox only. Willing volunteers can leave bug reports on this post! I will also be running the new WP Hashcash on this blog.

WP Autoblog has been upgraded to deal with missing rss author information, and to ping services. If anyone knows how best to attribute syndicated content in RSS, please let me know. The major problem is that most Wordpress themes will link the title to their own blog, leaving the only other option tagging on an “Original post by…” line at the bottom of the article.

« Previous PageNext Page »