Most Valuable Plugins

Find and Replace

I don’t know why this feature isn’t built into WordPress. It’s one we’ve desperately needed since the beginning, so when I first discovered the Find and Replace plugin, I just about threw a party. (And when I installed it I noticed that one of the developers is someone I know from the WordPress LinkedIn group.)

The plugin lets you search through posts, pages, and trash, and replace one string with another. It’s very handy for those occasions when you’ve relocated a blog and need to change a URL everywhere it appears, or your database import has left you with gibberish for all your curly quotes. Yes, you can go in and fix these things with phpMyAdmin, if you know something about database management—ugh. Or you can go in and make the fixes manually. Double ugh. I’ve done it. This is much, much easier.

For instance, I just noticed that I had a wildly outdated wp-config.php file for the Reports from the Asylum blog/podcast. When I switched over to the latest version of that file, my special characters all went to hell. I installed this plugin and fixed them.

Step 1: Copy gibberish code and paste into the “search string” box.

Step 2: Put appropriate HTML code for the special character (e.g. “ for “ or — for —) into the “replace string” box

Step 3: Select the appropriate choice (post, page, trash, post page and trash) from the drop-down menu

Step 4: Click the “search and replace” button.

You’ll get a message saying that the replacements will be made when resources are available, but in my experience, it was immediate.

Because there’s no option to confirm each replacement (the way there is in, say, Microsoft Word), you want to be very sure that the string you’re replacing is unique. URLs and gibberish code are good candidates. So is HTML, if, for instance, you wanted to switch all your <i> to <em>.

Not everyone will need this, but if you do need it, it will save you hours.

It’s WordPress Plugin Developer Donation Day!

Scott Ellis designated March 1st WordPress Developer Donation Day and has urged us all to donate $5 to the developer(s) of our favorite plugin(s) and then blog or tweet about it with the hashtag #wppdd.

There are a lot of plugins I rely on and use in almost every installation. I’m working on getting descriptions of them all posted here, but it’s been slow going. Many of my sites have more than a dozen active plugins. If I donated $5 to a different plugin developer on the first of every month, it would take years to get through them all.

I chose the WordPress Database Backup plugin to donate to. It’s the plugin I’ve used most and could least do without. I’m experimenting with other backup plugins for WordPress, but this is the one I’ve successfully restored data from. It’s been around forever. I can’t remember when I first started using it, but it might have been as long ago as 2005, in my earliest WordPress days. Even if I ultimately replace WP-DB-Backup with a different plugin, Il Filosofo deserves the donation for all the years of service.

WPtouch, WordPress MobilePack, and WordPress Mobile Edition

Whether or not you’re a smartphone user (and I still have a “dumbphone,” myself), there’s no denying that the Internet is going mobile. One of the great things about WordPress is the fact that you can create a mobile-friendly version of your site instantly by installing one of these plugins. (These are three that I’ve used, based on recommendations from colleagues; if you search the WordPress plugin repository for “mobile,” you’ll find several others.)

The darling of the moment is the WPtouch plugin for touch-screen devices like the iPhone. The developers describe it this way:

WPtouch automatically transforms your WordPress blog into a web-application experience when viewed from an iPhone, iPod touch or Android touch mobile device. It comes complete with all the standard WordPress blog features: search, login, categories, tags, archives, photos & more. WPtouch also offers many customization features through a beautifully designed WordPress admin panel.

I might say “overwhelming WordPress admin panel,” myself. Still, the list of known page and plugin support and conflicts is handy, and it’s probably worth taking the time to create custom iPhone icons for your pages. (There’s a tool you could really waste some time with.)

Not everyone has a touch-screen phone, however—much less an iPhone. But not to worry, there are plugins that cater to the needs of other kinds of mobile users.

When WordPress Mobile Edition and its Carrington Mobile theme came out, there was much rejoicing. The only difficulty with it was that because you had to put the mobile theme into the themes directory, you couldn’t use the automatic upgrade feature. (Well, you could, but then you had to go in with your FTP client and move the theme, so you might as well upgrade by FTP in the first place.) Given that the last upgrade was June 2009, it hasn’t been an issue recently. The plugin continues to work with WordPress 2.9, however.

As you can see from the two screenshots, Carrington Mobile provides a pretty bare-bones interface, even on the iPhone—but it’s conveniently uncluttered, and many phones don’t really support “sexy.”

On most of my own sites, I’ve replaced WordPress Mobile Edition with WordPress MobilePack. MobilePack is a dotMobi project that offers multiple mobile widget options and several mobile themes, automatic browser detection and a manual mobile switcher so you can see what your site looks like in those themes (or smartphone users can view the desktop version of your site if they prefer) and a mobile admin interface.

One additional advantage is that MobilePack works just fine with the automatic upgrade process. When you upgrade the plugin, it prompts you to upgrade the themes as well, which you can do with the click of a button. (To give Crowd Favorite credit, that might not have been possible before WordPress 2.8.) And MobilePack is still being actively updated.

Whichever plugin you choose, don’t ignore your mobile visitors. There are going to be more and more of them in the next few years.

Automatic WordPress Backup

If you search the WordPress plugin repository for “backup”, you’ll get—as of today—195 results. I wrote about two of those plugins, WordPress Database Backup and WordPress Backup by BTE, just about a year ago, and installed them on all 8 of my own WP sites, as well as insisting that my clients use WP-DB-Backup at minimum.

Both of those plugins back up different parts of a WordPress installation and then either save it there on the server or e-mail it to the admin. I get a lot of e-mails with database backups, as you can imagine. These aren’t large files, and it’s not too time-consuming to save them with other client files and let them get backed up as part of my regular backup routine.

But the BTE plugin backs up your uploads, plugins, and themes directories. And those can start to get pretty large after a while. Not large in absolute terms of how much room I have on my hard drive or backup drives, but large in terms of what it’s convenient to receive by e-mail, especially multiplied by eight or more. And then there’s the fact that the mail server for, my primary business website, absolutely WILL NOT accept the plugins backup file, even though it’s a ZIP. It believes that file is full of malicious code out to attack me, and refuses it. (Ta ever so, mailer-daemon.) And then there’s the lack of versioning, because each week’s backups of those directories has the same name. These are minor annoyances, but real.

Now there’s a new plugin that combines the functions of these two stalwarts, with a few extras besides: Automatic WordPress Backup, sponsored by Melvin Ram’s Web Design Company, developed by Dan Coulter.

AWB lets you schedule daily, weekly, or monthly backups of your database, your wp-config.php file, your wp-content folder (themes, plugins, and uploads), and even your .htaccess file. Instead of e-mailing them to you, it uploads them to Amazon S3.

S3 stands for “Simple Storage Service.” It’s not actually quite as simple as all that, but the idea is that you only pay for as much storage and bandwidth as you actually use. Since a typical WordPress installation—even with a lot of plugins and uploads—isn’t very large, backing up via S3 shouldn’t cost more than a few cents each month.

Before you install the plugin, go to Amazon S3 and sign up for an account if you don’t have one already. (Signing up is free.) Once you get that confirmed, go to “Security Credentials” under the “Your Account” tab to get the information you’ll need to configure the plugin.

Then log into your WordPress dashboard and install the plugin normally. There’s a handy YouTube video that walks you through installation over on the AWB website. This is a nice touch. I just wish Amazon had done the same for S3! Once you activate AWB, you’ll be prompted to configure the settings. If you need to find them later, they have their own options submenu at the foot of the right sidebar.

Fill in your AWS Access Key and Secret Key, create an S3 “bucket” (the Ur-Guru was a bit disparaging about that term) to store your backup in, and decide what you want to back up, how often, and when to get rid of old backups.

AWB settings


I like both the option to automatically delete old backups and the option to make backups only once a month. There are sites that I don’t update any more often than that, even though I know I should.

When I first installed AWB on the test blog over at the Podcast Asylum, it didn’t seem to work. After you hit “Save Changes and Back Up Now,” you see a message telling you that there will be a link to download your most recent backup when you come back to that page—but there was never any link.

That was when I realized I didn’t know how to see what was on my Amazon S3 server. Amazon’s own site wasn’t too helpful; their AWS Management Console doesn’t work with S3 yet. Fortunately, there are plenty of other tools to let you get access to your S3 account. I picked S3Fox, a plugin for the Firefox web browser. Once I’d installed that, I was able to confirm that while my “testblog” bucket had been created, there was nothing in it.

Yet when I installed Automatic WordPress Backup on the FileSlinger™ Backup Blog, it worked just fine. Was this a hosting issue, I wondered? (The Podcast Asylum site is on Dreamhost and the Backup Blog is on GoDaddy—and I don’t actually recommend either of them for WordPress hosting these days.) I got in touch with Melvin Ram, who walked me through installing the development version of the plugin, due for release next week sometime.

That fixed the problem: after clicking “Save Changes and Back Up Now,” I saw the following message:

AWB Restore Interface


That “Restore from a backup” tab is new in the development version; in the current version, 1.0.2, you have to download the backup and restore it manually. Not quite all the bugs are out of the restore process yet, though. I double-checked in S3Fox, and sure enough, the ZIP file was there.


I did notice, however, that while the ZIP file contained my wp-config.php file, my .htaccess file, and my wp-content folder, it was missing my WordPress database. (So was the one from So I might want to wait through a few more development versions before I completely replace WP-DB-Backup with Automatic WordPress Backup.

Nevertheless, I think WDC has made a great start with this plugin, and that it’s going to be extremely useful once they’ve got the bugs out.

Cross-posted from the FileSlinger™ Backup Blog.


If you’ve ever used WordPress to manage a site with more than two or three static pages, you’ve experienced the amazing awkwardness of the built-in method of ordering pages:

ordering WordPress pages the old-fashioned way


That line about “We know this is a little janky, it’ll be better in future releases” has been there for as long as I can remember. As far as I can tell, fixing it has not made it anywhere near the top of the core development team’s priority list. (I haven’t been over on the forums pestering them for it, though, so I suppose I’m not in a position to complain too much.)

Organizing pages by going back and forth between them and sticking a number in that box was more than just “a little janky.” It was ridiculously clumsy, particularly before the “Quick Edit” option got introduced.

Fortunately, enterprising plugin developers are out there to help those of us who want to use WordPress to run multi-page sites. I’ve used a couple of different plugins for this over the years, but so far pageMash is my favorite. Even though it’s only officially compatible with versions of WordPress up to 2.71, it’s worked just fine for me up to 2.8.6, without causing any conflicts.

pageMash screenshot


Not only does pageMash let you rearrange pages by dragging and dropping them, but it can display many more pages on one screen than WordPress is willing to, both because of its efficient layout and because WordPress likes to show you items in groups of 15. (I understand there are ways around this if you’re geeky enough to go tinkering, but so far I haven’t been.)  And it gives you a graphical representation of sub-pages (a.k.a. child pages).

What’s more, you can use pageMash to hide pages. I’m not sure whether this just invokes the “private” function or does something more, but if you don’t want your blog page to show up at all, this is an easy way to do away with it. (And you can still use the posting function to create dynamic pages using tools like Advanced Category Excluder or Blog-in-Blog.)

Where I’m Using It

Primarily on, where I have a lot of static pages. Right now this site doesn’t have enough pages to need it, and the Podcast Asylum site hasn’t been converted entirely to WordPress yet. I built the FileSlinger site before discovering pageMash, and don’t really expect to add more pages to it. This is becoming a plugin I install on client sites very early in the process of setting them up, however.

WordPress Database Backup

For a little while there, this plugin was bundled in with the core of WordPress, and I have no idea why they took it out, because no WordPress installation should be without it. If you lose your WordPress database, you’re screwed. And you may hope that your hosting company is backing it up, but are you sure? Besides, with all those hackers out there eagerly seeking out vulnerabilities in WordPress, it’s a good thing to have a copy or two or three of your database around.

WP-DB-Backup Scheduled BackupOnce you’ve installed and activated the plugin, you’ll see an entry for “Backup” under “Tools” in your dashboard. You then have the option to make an immediate backup (always a good idea) and to schedule backups (an even better idea). Unless you are a rabid fiend of a blogger or run a site with multiple contributors posting several times daily, a weekly backup is probably sufficient. (If I can post something new to all of my blogs every week, I’m doing well.)

The backup comes as a .tar.gz file. Just save it on your computer. In most cases, these files aren’t very large, so you can keep several weeks’ worth without any problems.

If you need to use it, you’ll have to go in through the PHP MyAdmin panel and upload it through your file manager or by FTP. This is only moderately scary, even for someone who doesn’t know much about these things. There are some guidelines in the Codex about it. I followed them and they worked.

I have a longer post about backing up WordPress over on the FileSlinger Backup Blog.


Akismet screenshot 2009

There’s a good reason Akismet is bundled with WordPress: without it, we’d all be drowning in comment spam. It’s impressively effective: there’s not much spam that makes it through to the comment moderation queue, and it rarely marks genuine comments as spam. (You should give your spam list a quick once-over before deleting it, though, just to make sure.)

The only trick to Akismet is that you need a API Key. To get one, go over to and sign up for an account. You can have an account at without getting a blog there: check the “just a username, please” box. Your confirmation e-mail will contain your API key. Save that in your password program, and you can use it in Akismet for every WordPress installation you set up. (Don’t use your own key for clients, though; set them up with their own accounts.)

Once you’ve done that, moderating comments will be a much easier job.