How To Keep Your WordPress Clients Out Of Trouble

How To Keep Your WordPress Clients Out Of Trouble

When you’ve created a beautiful WordPress site for a client, the last thing you want is for your client to break it. It’s also the last thing they want. The level of comfort that clients have with operating their new site ranges from confident enough to be dangerous, to being fearful of clicking anything at all.

So from both perspectives it can be beneficial for developers to client-proof their sites. This simply means putting in place a few safety nets that protect the clients from unintended “oopsies” and the developer from the fall-out of those “oopsies.”

Philosophically, I don’t believe in crippling WordPress so much that clients can’t do anything at all. I have a lot of clients that come to me after they’ve been handed a site from their developer, confused as to why they can’t do all the things they’ve read about, such as installing plugins. They have no idea they are not in full control of their site. So I definitely advocate for educating your clients about the steps you are taking and why you are taking them. Be transparent with what you are doing and make sure that if the relationship with that client ends, to return to them full control of their site.

That said, in this Weekend WordPress Project we’ll take a quick look at two plugins that can help you protect clients from themselves and make your life easier. These plugins take a two-pronged approach – firstly, limiting what users can do in the dashboard and, secondly, providing a log of all changes on the site.

Keep clients out of trouble
Keep your clients out of trouble and protect their websites.
  • Webmaster User Role

    Webmaster User Role creates an additional user role called ‘Admin’ that sits between the in-built Administrator and Editor roles. The idea is to give the site owner some more useful privileges than editor, such as managing widgets, but without the ability to manage plugins or change themes.

    One of the really nice things about this plugin is its built-in integrations with other common plugins. For example, if you’re using Advanced Custom Fields on the site, Webmaster User Role will prevent clients meddling with your custom field settings. It provides similar protections for some other common plugins like Contact Form 7, WordPress SEO by Yoast, Gravity Forms and more.

    The Pro version of the plugin will give you even more fine-grained control over customizing the settings and the dashboard. However, even with the free version you can still fine tune the privileges of the new user role by installing the free plugin User Role Editor.

    Webmaster User Role is great if your client is on a maintenance contract with you. If you need your client to be a little more independent and add their own plugins, you will want to tweak some of the default permissions.

    Interested in Webmaster User Role?

  • Stream

    Another great tool that lets developers troubleshoot client-created issues is a plugin called Stream.

    Stream keeps a log of all user activities that occur in the backend of the site, such as creating and deleting content, updating plugins etc. This is handy because oftentimes clients will report an issue with a site without letting you know what happened in the lead-up to the problem. Or perhaps they updated some plugins or performed some other tasks but they don’t remember exactly what they did.

    Stream will let you see exactly what changes have been made, what plugins have been updated and so on, therefore helping to speed up the troubleshooting process.

    Stream used to save the information in the site’s database, which in some cases could lead to some extra database bloat. In the latest version, this have been switched to a cloud-based model, which means that when you activate the plugin you are asked to connect it with your account.

    I saw some pushback from the plugin’s users in various online groups about this change, but the process is painless enough and the plugin continues to function as it did before. With the data being kept out of your own database it avoids any potential performance issues.

Image source: Sunset Memories by Florin Gorgan.