One of the first plugins I wanted to write for WordPress was a decent spam filter. At the time (late 2004) there were several plugins already out there, but they were all rules-based and I wanted something more adaptive. So I wrote a few simpler plugins for practice and soon abandoned the idea, since I really didn’t get much spam — or even many comments for that matter.
After a seven month absence, I came back here to find over 4000 comments in moderation, most of it spam. It took a week to sort through and clean that mess up, all to preserve the 5% of legitimate comments buried in there. Then after a 2 week vacation, I was stunned to see my empty moderation queue back up to 2700 comments. No rest for the wicked, I guess.
(more...)
UPDATE 27-Aug-2006: The table creation bug in the first beta has been fixed, thanks to the keen eye of Francesco Ferrucci. My apologies for including such an obvious bug, and for my 2 week absence (I’ve been on vacation).
UPDATE 4-Sep-2006: Some minor changes (now at beta3) for compatibility with MySQL 3.23, Semiologic and Chip’s tag cloud widget.
So over the past week, I’ve been working towards my promise (made only a scant 7+ months ago) of delivering a 2.0 version of “Jerome’s Keywords”. I’m glad to announce that most of the rewriting and debugging are done so there’s a beta of the 2.0 version for you to try out.
Before you do, a few caveats:
- It’s strictly WordPress 2.0+, older versions of WP aren’t supported.
- Tags are now stored in a dedicated table for performance reasons, so you need “create table” access on your database.
What’s new:
- Fixes a whole bunch of minor bugs introduced by WP2.0 (suggested keywords, including categories, etc.).
- Adds tag management features from LightPress.
- Adds an option page to make tag display setup easier.
- Including meta keywords in your header is now a one-click option; no template code required.
- Nicer template tag functions for posts and tag clouds (and no parameters required if you use the option page).
- Random tag cloud sort feature.
(more...)