Upgrading to WordPress 2.6.2 - missing categories

September 14, 2008 | Leave a Comment

I just upgraded from WP 2.2 to WP 2.6.2 and things went well enough, but my listing of categories disappeared when I went to Manage > Categories in the Dashboard. I looked at some posts to see if they had the appropriate categories in the post metadata, and they did, so I knew that some vestiges of my categorizing were in the database. (WP 2.6.2 installation does an automatic “Upgrade” of the database, by the way, so always backup the database before upgrading.)

After looking at some truly arcane solutions on the Web, I decided I’d try something simpler. I am using the Revolution Theme, and in that theme all categories must be subcategories of a category named “Blog.” So I recreated the Blog category, and everything worked fine. Post metadata is still correct, and under Manage > Categories, the blog category with all of the subcategories I had created before were there. Whew!

And wordpress.org deserves a big smack upside the head. They changed the wp_categories table in the database to wp_taxonomy without giving folks who read the upgrade instructions any info at all. I’m not sure if that is what messed things up, but there is a reported bug about categories disappearing and they know about it. A warning and a workaround would have been nice. Shame on them

As ever, always make a backup of your WP files and folders, as well as your WordPress database before upgrading or making other big changes to your blog.

Can’t edit the timestamp in WordPress 2.6? Here’s the solution.

September 6, 2008 | 2 Comments

Mark Jacquith has provided a simple plugin to make the timestamp editing box appear on the Write/Edit Posts page. Timestamp Tweaker is a single file that you can download and then upload to your WordPress plugins directory.

The disappearance of the Timestamp editing box is one of a few new annoyances in WordPress 2.6 (maybe it started in WP 2.5, but I skipped that release). It looks to me like WordPress is trying to create what they think is an easier and more graphical interface. I don’t care for that trend; it was plenty easy enough to use before. In this case, there is supposed to be an Edit link next to the Published Status, but in my 2.6.1 installation it did not appear. I tried a recommended edit in the admin code, and got the Edit link to show up, but it didn’t work when I clicked on it.   Anyway, if you are looking for how to edit the Post Slug, another item that disappeared from the sidebar, just look under your post’s Title box. There is a grayed out string labelled Permalink. Edit that, save that edit, and don’t forget to save the post itself.

Blog spam prevention

September 27, 2007 | Leave a Comment

I’ve noticed that the minute I write a new post on my artsmontana.com blog, I get a few new spam entries in comments. This is clearly automated by someone scanning blogs for new posts and submitting comments.

Since I am recommending blogs, I’d like to mention a few easy to implement ways to trap or prevent comment spam. First of all, allowing anyone to comment without moderation seems like a nightmare to me. On all of my blogs, comments are placed in a moderation queue awaiting my approval. I can also edit them there before approving them. You won’t miss comments when you have moderation turned on because an email alert lets you know there is something in the moderation queue.

For spam filtering in comments, I use the Akismet plugin for WordPress, and I also set my spam filter to look for any comment that contains more than one link. Spammers like to populate comments with their own links, so that helps. Akismet is free for personal use, and they have a commercial key (at $5 a month) for what they call “mad paper” sites, or sites that are generating more than $500 a month in income. They also have an enterprise-level key (at $50 a month) for large businesses. To get Akismet, you sign up (also free) and they give you an API key that you enter in your WP administration panel. It’s easy, and it’s useful. Spam comments usually reiterate a bit of text from a post and add an irrelevant bit of text. Aksimet grabs those, as well as the stupid comments spammers include in their automated content to make it seem legitimate, like “very interesting” or “nice job”, and puts them in a spam queue. That way you can see at a glance all the garbage that has come in and delete it in bulk. Akismet also provides information for those who want to extend it to work with other applications besides WordPress.

I have already installed Akismet for all of my WordPress blog clients, but here is how to use it if you are new to blogs and plugins. If your WordPress installation does not come with Akismet already listed in the Plugins tab, go to akismet.com, download the plugin, uncompress it with an unzip tool (e.g. WinZip or Stuffit Expander), then upload it to the wp-content/plugins subdirectory in your blog directory. Once that is done (by WordPress or by you), go to Plugins on your WordPress dashboard, activate Akismet, follow the link to the free API key, enter the API key in the configuration screen, and you are done.

Bad Behavior is also a popular choice, and seems especially well-suited to blogs with heavier traffic because it keeps spam from even entering your comment queue, saving time, trouble, and server bandwidth. It achieves that by analyzing the delivery method of the comment. According to the Bad Behvior Web site, “it is designed to work alongside existing spam prevention services to increase their effectiveness and efficiency. Whenever possible, you should run it in combination with a more traditional spam prevention service.” It works with many more PHP-based platforms besides WordPress, including Drupal, ExpressionEngine, and LifeType. If you install and use Bad Behavior, a modest voluntary contribution is suggested. [Note: I just installed Bad Behavior (9/30), keeping the Akismet plugin activated, and will report how it goes. Bad Behavior logs blocked requests, so I'll check that as well as spam levels. ]

WordPress allows you to create a Comment Blacklist, too. Go to Options > Discussion and scroll to the bottom of the page where you can enter keywords that you’d like to block. (You know what they are!) You can also enter offending email addresses, IPs, and URLs.

Some bloggers use a challenge-response system for comments to ensure that all comments come from humans and not spamming software. This can take the form of a simple question (e.g., What is 4 times 5?) that has to be answered before the comment can be submitted. There are also CAPTCHA (”Completely Automated Public Turing test to tell Computers and Humans Apart”) tools, and anyone who has filled out an online form that requires you to read and enter a batch of characters presented graphically before you can submit has seen this model. Once you are a recognized commenter (i.e. trusted) you can sometimes forgo this step. One of my favorite local blogs, Livingston, I Presume, uses a CAPTCHA model and it is not at all inconvenient. It is a better experience for your visitor than requiring them to register and log in before commenting. Some annoying Blogger.com blogs expect you to have a Blogger account to comment. Unless you have a large and very public site with huge amounts of commenting traffic, this is overkill. Nothing chills a comment-prone visitor faster, and since comments are a part of a blog’s lifeblood, you don’t want to stop them that way, especially when there are friendlier gatekeeping methods like moderating everything before publication, using a plugin like Akismet, and/or employing a simple challenge-response algorithm.

For more on personal spam prevention (especially email), see the list of resources at ctrl-zweb.com.

On the topic of blogs, after the Democratic debate last night I visited the Web sites and blogs of Barack Obama, Hillary Clinton, Joe Biden, and John Edwards. I doubt there is a presidential candidate who is not using a blog as an interaction tool. While I am not committed to any candidate, I give John Edwards’ site and blog the highest marks. He has real content instead of single paragraph issues statements that are virtually content free; and not only does he get specific about every issue, he has all of the topics nicely organized so that it is easy to find his position and his plan for the issues that interest you. You are required to register to comment on Edwards’ blog (I’m sure that’s true for all of them), but you’d do that, too, if you were running for Prez and had all that (sometimes wacky) blog traffic.

To blog or not to blog

September 3, 2007 | Leave a Comment

After we finished their site designs, a couple of clients were looking for more interaction with site visitors, so we added a blog. We ruled out traditional guestbooks; even if we spam-proofed them, a one-way form didn’t achieve what the client wanted. The blogs make nice complements to their Web sites, and could be nicely customized to fit the look of the static web pages (See aaronschuerr.com/aaronsblog and gillianswanson.com/resources.) The more my clients adopt blogs, and the more I work with the three that I maintain for business and personal use, the more I think that it is a good choice for new client Web sites.

Some blog themes do a nice job of combining a lot of stable content with dynamic post content (e.g. the Revolution theme that I based this site on), and there are many plugins for the WordPress blog platform that I use. The plugins extend the blog themes to handle things like image galleries, online shopping, spam filtering in blog comments, notifying Google to index your site, et cetera, making it possible to develop a multi-faceted and lively site.

Blog Web pages are assembled dynamically in a browser at viewing time using PHP (server-side scripts) to process and present HTML (for defining page structure), CSS (for styling pages), and your data (posts, page content, and various blog options, that are stored in a MySQL database as you create the content). Traditional Web sites are static; the browser interprets the HTML and CSS and presents the page. Navigation is pretty much handled for you in a blog theme. That is, decisions about presenting blog pages and posts and where are already made in the theme. Unless you want to change that, you won’t have to code navigation and menus the way that you would in a traditional Web site design.

Additional criteria for my clients include whether they want to handle their own updates, how much they update, and whether they are more comfortable with the blog administration interface or HTML editors. There are other factors to compare in a static Web site versus a blog site that I think they should know about. Some of them are listed below. Read more