If you have anything to do with building or maintaining a Web site these days, there’s a decent chance the site uses WordPress. One study shows WordPress being responsible for over half of the 100 most popular blogs online. Another source from two years ago says WordPress is the engine for over 60 million Web sites. If you’ve used it, you probably aren’t too surprised by that; WordPress is pretty awesome.
Like any software, WordPress has to be maintained (at least a little bit, for security updates and such). And if you only have one site, or a few sites, that’s easy enough – log in every so often, hit the “Updates” link in the dashboard, and call it a day. But what if you work for a hosting company, or you’re a consultant/freelancer, and find yourself with fifty or more sites? That’s a lot of clicking.
At $WORK, between test and production sites, we have about 150 WordPress installations. We don’t have enough interns to go through and check out the dashboard on every site, every day, so we use InfiniteWP to manage them all. It’s not perfect, but it sure beats doing things manually.
We did briefly evaluate the ManageWP service, but it’s a monthly subscription service; once you get up to a couple hundred sites, each expected to be around for a few years, InfiniteWP’s one-time cost is a long-term savings. ManageWP’s self-hosted option (necessary for internal and test sites that don’t have public Internet connectivity) doesn’t even have listed pricing, implying it’s probably too darned expensive.
Had it been available a couple years ago, we might have looked into rolling our own solution using wp-cli. I have more of a Unix-y background, so shell scripts for process automation is one of my favorite things, and wp-cli provides enough functionality that you probably could extend it into a pretty decent parallel of InfiniteWP. But it wasn’t there at the time, and I wasn’t comfortable enough with WordPress internals to try to roll my own version back then.
The base product is a free download, though you do have to give them your email address. You can use a service like Mailinator if you’re violently allergic to vendor mail, but they only send a few messages a year, mostly coupons for their (paid, optional) add-ons.
If you’ve done a WordPress install, you probably won’t have much trouble with the InfiniteWP installer; the install documentation is reasonably good. Really, it’s “unzip software, visit in Web browser, follow prompts.” They also provide details for a couple of the more common hosting panels.
Setting Up Clients
Once you have the server installed, you have to connect your WordPress sites as clients. This is a two-step process.
- First, go to your WordPress site, and install the [https://wordpress.org/plugins/iwp-client/](InfiniteWP Client) in the usual way (upload it, use the auto-installer, whatever you like). It’s a WordPress plugin, it ain’t hard.
Once installed, your site will have a big friendly reminder on every page that the plugin doesn’t know how to talk to a server.
- Go back to your InfiniteWP installation, click the “Add Website” button (lower-left corner), and copy/paste the information over.
Groups are free-form tags you can apply to your hosts. You probably don’t need to worry about “Folder Protection” (that’s in case you’re using .htaccess as additional protection on /wp-admin) or “Advanced”.
The InfiniteWP Interface
This is from my “personal” InfiniteWP install, where I have only a few personal sites, and none of IWP’s add-ons installed. Let’s look at something a bit more interesting:
That’s from $WORK, showing a lot of sites with a plugin update or two waiting to be installed, and several of InfiniteWP’s add-ons installed.
In my first screenshot, you see the base product. You can install WordPress updates quickly to a lot of sites, but that’s pretty much it. And yes, that’s pretty handy, but there are other things you also may want to do to all your sites quickly. And IWP would love to take your money and help you do that. Here’s their add-ons page.
At $WORK, we bought a lifetime license for everything they sell, because we were an early adopter. For personal use, I don’t know if I’d go that far; it really depends on your use case. Consider getting on their mailing list, as they send out discounts pretty frequently. Here’s some of what they offer:
- Broken Link Checker: Okay, this is really just an interface atop this popular plugin. But if you’re an exceptionally prolific writer and want to see the broken links for all your sites in one place (and really, seeing all your sites in one place is what IWP is all about), this could be a must-buy.
Google Analytics and Google PageSpeed: I’m not sure these really add that much value; if you’re using Google’s Webmaster Tools I think you already can get to this information pretty easily.
Cloud Backup: Dump your content and database to Amazon S3, Dropbox, or Google. Offsite backups are always a good idea. Sadly, doesn’t support box.com or OneDrive.
Manage Comments: Another situational add-on, for people who are very chatty (or whose visitors are very chatty).
Having used IWP at my job, though, I’ve found a few things that aren’t quite enterprise-ready, assuming you have a really big environment and regulatory or policy compliance issues. Here’s the things IWP doesn’t do, even with the relevant add-ons:
No support for cloning sites via SSH/SFTP, only FTP.
No support for installing “old” versions of plugins. Suppose you install v2 on your test sites, and while the testers are doing their thing, v3 is released. IWP can’t install v2, only the now-current v3, to your production sites. This is especially troublesome when v3 is a major overhaul. You can work around this by manually downloading v2, saving it somewhere, and using the bulk-upload tool, but it really should be a built-in.
No support for Box.com, which seems to be the most popular enterprise-y cloud storage provider.
No support for multiple users. This is seriously annoying. You have one user account, and that’s it. (Goes without saying that you can’t do limited-access users, who can view but not update, or only act on a subset of sites, since there’s only one user.)