What do human behavior, marketing trends and technology advancement all have in common? Aside from being fascinating subject matter, they are all variables that can ruthlessly screw you over if you are a business owner and you do not prepare for them.

How, you might ask?

Here are some common scenarios I encounter when I am consulting business owners on making changes to their website:

“I paid a lot of money for my website 3 years ago, how can it be out of date already?”

“The new functionality I want sounds so simple, why does it require so much programming?”

These are great questions that unfortunately don’t have a comforting answer. Technology and marketing change rapidly. If, in 2006 someone told you that within a few years you’d be able to browse websites and shop on your phone, you would probably assume they were nuts and cross the street.

Mobile websites were a short trend until responsive design took center stage. And so if you are a business owner, the question arises: if the web continues to change at this pace, how do you guard yourself against future changes and prevent my website from being a money pit?

For starters, building your website on WordPress is a great start to future proofing your website. Plugins provide low level of effort functionality expansion, themes provide options for rapid restyling without the need for custom concepts, and WordPress itself is backed by an open source community of 23+ million users.

In other words: changes are fast, less expensive, and help is abundant.

The remainder of this article is going to overview the ways in which you can build a WordPress website so that it is resilient and can easily adapt to large scale changes.

Why Future Proof: A Cautionary Tale…

The concept of future proofing WordPress websites occurred to me while speaking with a client. I’ll leave names out of it, but they are a large corporation with thousands of locations sprawled across the US. Their request seemed simple: update their WordPress core to the newest version. The reality, was that while this should have been simple, it was not. Far from it, in fact.

Another development company had built their WordPress website with a custom theme, custom functions, and worst of all — modifications to the WordPress core. The result was a crashed website every time we tried to update to the newest version of WordPress. Patching this issue would have entailed re-coding large portions of the theme, rebuilding plugins, and troubleshooting numerous errors along the way. All told it would have been a several hundred hour project and exceeded the cost of a new website. Their website was totaled — like a car. Not the news you want to hear if you are the digital marketing manager responsible for all this.

WordPress releases big updates about every six months. If this site had been built with simple consideration as to what the future may bring, and how to adapt, it would have been built with less programmatic dependencies.

Make Smart Theme Choices

I’ve listed this first because it sets the tone for all other aspects of future proofing a WordPress website.

There are thousands of WordPress themes available all over the web, some free, some premium, and they all vary in quality. In my opinion there are really two types of themes out there. The first are broad themes that are designed to basically be building tools to implement any kind of design you wish.

The second type of theme is an industry or business specific theme. That is, they are made for a very specific purpose. An example would be a restaurant theme. While these niche themes have their benefits, such as the design work being mostly done for you, they can carry risk. Because they are niche themes, they come packed with industry specific functionality, shortcodes, and post types. A restaurant theme, for example, might have a menu widget or shortcode. What happens when the menu module doesn’t jive with the next WordPress core release and crashes? Likewise what happens when part of the PHP behind that functionality becomes deprecated years later?

By avoiding one-off, niche dependencies like the above example, we can mitigate long troubleshooting hours and blown up budgets.

A far better option, is the first type of theme. The ones in which tools are provided to you, and you must use them to actually build your page layouts and designs. For one thing, these types of themes are very popular, some of them powering hundreds of thousands of websites. As a result, they are highly supported by their developers, they have a community following, and will always be well maintained. The same does not go for the niche business theme with only 40 downloads.

Some examples of these favorable themes are:

In the event that you still want a fast templated approach, all of those themes come with a variety of page layouts and templates you can import and then modify to your liking.

Use Child Themes

Child themes are now an industry standard. Put simply, you just don’t build a WordPress site without one. To do so is to intentionally shoot yourself in the foot.

If you don’t already know, a child theme is a theme that inherits the functionality and styling of its parent theme. Stylistic changes are then made to the child theme, so that they are not over ridden by updating the parent theme.

You may find in the course of building your website with a theme, that you still need to make stylistic tweaks to some of its design flourishes. An example might be centering H1 headers on blog posts whereas the theme defaults them to align left. Another example might be changing a call-to-action button to have 5px rounded edges instead of straight. Either way — these are small CSS changes that impact the look, not the functionality, and you don’t want to lose them.

I’ve seen this happen all too often. A client builds their site with only a parent theme, customizes the CSS, tries to update their theme when a new version releases — and poof — all their custom CSS changes are gone and time wasted.

Don’t waste your time, use a child theme.

Add a Plugin Before Modifying Theme Functionality

Keeping major chunks of functionality in plugins makes your website flexible. If a plugin fails with a WordPress core update, you can disable and troubleshoot, or find a different one. The alternative is to custom program functionality into your theme, which would make troubleshooting more of a task.

Imagine if all the parts under your car hood were welded together and one of them broke. How difficult would it be to replace something? Think of WordPress like a car — if something breaks, you can remove it, find a solution, and keep on trucking.

Vet Your Plugin Choices

If you are going to use plugins to power chunks of your website, make sure you make solid choices. Some plugins in the WordPress repository aren’t regularly supported and only have a few downloads. Those probably aren’t sure bets if stability is the goal.

Checking plugin documentation and doing some quick Googling can give a quick idea as to whether or not a plugin will be reliable enough to scale with your website.

Keep an Eye on Deprecated Functions

PHP has been releasing new versions at a fairly fast pace in recent years. As new versions come out, older functions will become deprecated and replaced with newer functions. This can cause problems both in functionality and security.

Use the plugin called Log Deprecated Notices to find deprecated functions in your theme and plugins. It will create a log so you can keep and eye on them, and even suggest replacement functions for the deprecated ones.

Get and Use a Staging Environment

When a client wants to implement some new functionality on their website and asks me to scope out the level of effort to do so, I use a staging environment.

A staging environment is simply a clone of your website that isn’t live on the web. Having one gives you an area to experiment with plugins and functionality changes to make sure they are reliable before getting pushed to your live website.

At the company I work for, our server department will often create multiple spin ups of design environments for this purpose. Having more than one staging environment can help you plan and implement phased functionality modifications.