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 websites. 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 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.

A Storm Trooper figurine.

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 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.

WordPress displayed on a laptop computer.

Limit Choices

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 several different choices.

A page builder plugin or even the Gutenberg block editor makes it possible for a user to drastically change a layout. This is one of the downsides 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.

One neat feature of Gutenberg is the ability to define custom color palettes, which can help users make brand-appropriate choices for blocks. The same goes for gradients and font sizes.

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, and it might be worth contacting the author to see if there are any undocumented hooks or filters to help you rein in users.

Shelves with rubber ducks.

Think Before You Build

The most important part of keeping your design and functionality intact 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.

This page may contain affiliate links. At no extra cost to you, we may earn a commission from any purchase via the links on our site. You can read our Disclosure Policy at any time.