Building Client-Proof WordPress Websites
Handing off a new WordPress website to a client offers a great feeling of satisfaction. You provide a pixel-perfect rendering of a brand’s online presence and hope it plays a key role in a company’s success.
But, if your client is responsible for managing content themselves, those pixels may no longer be so perfect after a while. You may find that your carefully-crafted layouts and typography have been rendered a mess by a well-meaning user. Color contrasts designed for maximum accessibility become illegible.
For so long, this has been accepted as the natural order of things. We design pretty and functional things; clients make them slightly less pretty and functional.
It doesn’t have to be this way! With a little creative thinking, technical knowledge and education, we can build WordPress websites that can withstand a bit more punishment – and even avoid such situations in the first place.
Assign the Right User Roles
One of the best ways to prevent a client from accidentally changing a key setting is to take away their means to do so. That’s what WordPress user roles and capabilities are for.
It’s fairly common to see clients provided with administrator-level accounts for their website. But this enables them to do everything. They can activate themes, remove or install plugins and make any number of other changes. A curious user could do some real damage.
However, it’s usually not necessary for them to have this type of access for everyday tasks. For most content management duties, an Editor account provides enough access and keeps users away from anything dangerous.
For Editors, theme and plugin management are off the table. This can eliminate some of those potential issues. Going to even lower account levels limits users even further by cutting out content that they didn’t create. That could, for example, save a home page from an unintended consequence.
If someone needs a bit more specialized capabilities, a custom user role can be created to accommodate them.
That said, a client should ideally have an administrator account on hand – just in case. But a lower-level account should be used for day-to-day site management.
Make Design Decisions for Content Managers
One common mistake in the design and development process is creating elements that rely too much on good faith. They are destined to cause problems down the road.
For instance, consider a card UI layout that displays the latest blog posts. There are a number of ways to build this type of feature.
We could configure things so that our clients need to write a post description through a custom field. That’s great, but what if they enter too much text? We could risk breaking or severely throwing-off the layout.
Sure, you can explain that the post description field should contain no more than x amount of characters. But that still leaves the possibility of something going wrong. And, even if one person heeds your advice, that doesn’t mean the next person will do the same. It’s just not sustainable.
The better solution is to build in safeguards – or, better yet, automatically generate that post description via a template.
A safeguard could include setting a character limit on the post description field. This allows a client to write their own copy, while preventing too much text. Automatically generating an excerpt, however, will simply take the decision out of a user’s hands.
Either way, it’s important to consider what might go wrong when designing and building features.
Some portions of a WordPress website are difficult (if not impossible) to fully make design decisions for clients. In general, this is because the CMS, theme and plugins offer users a number of different choices.
A page builder plugin or even the Gutenberg block editor make it possible for a user to drastically change a layout. This is one of the down sides of an increasingly visual design process.
Unfortunately, there’s only so much web designers can control here. Some page builders let you turn off features for specific user roles, which could be helpful. There is also the potential to lock down block editor templates, but it’s not always a realistic option.
Combine these customizations with disabling the ability to choose beyond the options you’ve defined and users can’t go outside of these parameters. That means no crazy color combinations or tiny font sizes.
Not all WordPress software has these capabilities, however. If you don’t see any obvious settings for a theme or plugin, check out the documentation. Fail that, it might be worth contacting the author to see if there are any undocumented hooks or filters to help you rein in users.
Think Before You Build
The most important part of keeping your design and functionality in tact is thinking ahead. Plan for how that beautiful design element is going to withstand everything your client might throw at it. Consider the possibility of something breaking and ways to prevent it from happening.
You may not be able to stop a determined client at every turn. But you can build and manage a WordPress website in a way that rebuffs the most egregious issues. That should provide both you and your client with some extra peace of mind.