Working with WordPress: Control your site support, prevent zombie apocalypse

Your software is about to explode and tens of thousands of nonprofits depend on it. What do you do? Some extra server maintenance can enhance freedom and security.
Written by David Gewirtz, Senior Contributing Editor

Image: iStock

Somewhere around September 30, 2016, I am expecting my own personal zombie apocalypse.

Okay, fine. That might be a bit hyperbolic. But right around that day, I expect somewhere between 10,000 and 50,000 nonprofits to rise up in a rage and start chasing after me with pitchforks and torches. Yes, I know. I'm mixing horror movie metaphors. But it's going to be ugly.

More great project ideas

It's not my fault. Honestly, it really isn't. But I'm preparing anyway, because I care.

As a side project, a year and a half ago, I adopted what I subsequently discovered was the world's most popular donations plugin. That's where it gets messy. I recently wrote about the problem, explaining that as of the end of this month, PayPal is going to require all sites using its API to use https secured pages.

Seamless Donations is a plugin for WordPress. It displays a form that allows donors to nonprofits to make their donations. Each donation is then sent to PayPal. One of the reasons Seamless Donations was so popular is that nonprofits didn't need a fancy site with an SSL certificate. As of September 30, they will.

When I checked this morning, there have been a total of 195,699 downloads of Seamless Donations. While not all of those downloads have turned into active sites, I do know that somewhere between 10,000 and 50,000 sites are actively using the plugin.

In June, I updated the current version of the plugin to meet PayPal's new requirements. Anyone who updated since June should be fine (assuming they also added an SSL certificate to their site -- which is not necessarily a safe assumption).

There are, however, about 15 percent of the sites that have never updated since I adopted the plugin. In rough terms, that's somewhere between 1,500 and 7,500 sites that will simply cease to function, guaranteed.

When those sites suddenly stop working, their owners are going to be irate, cranky, and freaked out. I'm so looking forward to September 30.

Worse, right in the middle of this, WordPress.org, which provides most of the support forums for plugins, has been changing up its functionality. It's intermittently broken. It's also hard to place important notices, impossible to edit previous posts, and altogether unmanageable for a support crisis of the magnitude I expect to come my way later in the month.

Did I mention I'm a volunteer? I don't get paid for this, although I do sell some add-on bits to help defray some of the costs. I certainly didn't plan on defending against hordes of malevolent do-gooders when I signed up for what I thought would be a fun little coding project.

But these are nonprofits. They count on donations captured with Seamless Donations to do all their good works. I feel a sense of responsibility to help them keep their donations flowing.

It is time to up my game. So, for the past few weeks, I've been turning my primary information site for that plugin (oh, and the other nine I also decided to adopt during a fit of "gee, that'll be fun") into a powerful support hub.

Adding forums and tickets

As I said above, I used to do support using the WordPress.org forums. I also had a Contact Me page on my website where users could send me questions.

The problem was, even in the relatively quiet pre-zombie apocalypse months, it became impossible to keep track of support discussions. Keeping track of the various nonprofits can be confusing. Their names are similar. Names of users blur together.

Support conversations you have, when trying to get to the bottom of any given issue, also blur together. Was this log file from the guy who lost a donation, or from the woman who is getting double emails? You get the idea. Gmail is great, but it's not exactly a help desk.

To replace the dysfunctional WordPress.org forums, I decided to add my own forums to my site. There's a great plugin called bbPress that could do the trick.

Interestingly, the WordPress.org forums I'm leaving are also running on bbPress. The difference is that the WordPress.org implementation supports many thousands of plugins and millions of users. Plugin developers can't do things like move posts, edit older posts, and so on. Because I'm running bbPress on my own site, I can set up whatever privs I want.

I also wanted a support ticket system because I wanted to keep all the conversations on a given trouble in the same place. While there are many SaaS-based services that provide help desk functionality, I wanted something integrated into my site, something that I could control and improve at will.

I turned to a rather awesome plugin called Awesome Support, which added a ticketing system right into my site.

Both plugins were free, but both required some additional programming to get them working the way I wanted. A mere matter of coding later, I had my support system.

A more robust site

I also needed to make sure I had a more robust site. The following two steps are actions I actually took last year when I realized that I'd bitten off a lot more than I could easily chew. Because they're in place to help with the support challenge, it's worth my discussing them with you.

First, I made sure to put the site on a managed hosting service. Managed hosting in the WordPress world is a service where the operators tune their servers to specifically get the best performance out of WordPress.

Not all managed hosting services are the same, but I went with Pagely. Organizations like Disney, Visa, Meetup, Time, Inc., and other big brands use these guys, so I figured they'd be able to hold up against The League of Extraordinarily Peeved Humanitarians.

Other than a few minor issues, I've been very satisfied with them. The service is far more expensive than a four buck a month hosting plan, but it's worth it, if for no other reason than to help keep the pitchforks at bay.

The second thing I did was add a managed updating tool to my sites (I actually have about 10 sites across all my projects). A few years ago, one of my sites got hacked because I didn't do updates with any regularity.

For the record, that's bad. I won't let that happen again.

I now use a service called ManageWP (which was acquired by GoDaddy last week). I can connect into it, hit one button, and let ManageWP update all my sites, plugins, and themes. Some days, it does 30-50 updates across a pile of sites.

If you think about it, across 10 sites, doing it by hand would require something like 500 deactivations, 500 deletions, 500 SFTP file transfers, and 500 add-on activations. My one ManageWP subscription can reduce 2,000 steps to one mouse click. That's a win, especially since this is far from my main job.

Cross your fingers

Look, I have no idea how bad September 30th will be. I'm hoping most users upgrade smoothly. I'm also hoping that, with the systems I've put in place, any users that have trouble upgrading can now get quality support that I single-handedly manage.

If you're faced with an increasing support load, consider taking control of some of your support tools. I know this flies in the face of cloud-everything. Sometimes it's better to have to do a little more server maintenance if it enhances both freedom and security.

If the alternative is to wake up to discover that the cloud service you depended on has nuked all your carefully constructed help tools at exactly the same time as thousands of actually-holier-than-thou, righteous, scared, pissed off nonprofit operators find their donations cut off, it's worth a little extra work.

Cross your fingers. I'll let you know sometime in October if I've managed to keep the villagers at bay.

P.S. If you're curious about how how I managed to be supporting all these users, here's a video that will give you a great background. As a bonus, it's got my puppy Pixel in it.

You can follow my day-to-day project updates on social media. Be sure to follow me on Twitter at @DavidGewirtz, on Facebook at Facebook.com/DavidGewirtz, on Instagram at Instagram.com/DavidGewirtz, and on YouTube at YouTube.com/DavidGewirtzTV.

Editorial standards