As a WordPress developer I am often hired to work on broken websites by people who have a very negative impression of the platform. In their experience making basic changes to their website has been frustrating. Many have also found their sites to be unstable, running slowly, or going offline on a regular basis. And every new developer they hire only seems to make things worse.
While learning any CMS can take some time and none are entirely worry free, the problems these clients are having generally have little to do with WordPress and more to do with how their sites were set up and how they have been modified over time. In the following article I’d like to clarify likely reasons why these clients are having problems and offers some solutions.
The goal of a WordPress Site
The whole point of a CMS, or Content Management System, is to empower the owner of a website to add content to their site and make certain changes to it’s appearance without the need to hire a developer. It’s supposed to save you time and money. If the site is too hard to manage then the primary goal of using WordPress is lost. With just a bit of instruction, just about anyone should find it relatively easy to add a blog post, create a new page, or change out a promotional elements on their site.
Websites, in general, are also supposed to be stable and fast. For every extra second it takes for your site to load you are losing visitors. And if visitors run into problems loading your site or find that it has a lot of bugs they are left with the impression that you don’t have your act together.
Finally, you don’t want your website to be expensive to change if you need to add features or rework the design. Well built websites have code that is clean and easy to understand making it less of a challenge for existing or new developers to work on it.
Where things go wrong with WordPress setup
Template based WordPress sites are very popular as using an existing template saves time and money. Unfortunately, many free and commercial templates suffer from something called bloat. Templates most often come with a wide array of built in features that allow you to change things like colors and fonts and icons. Templates also are generally programmed to be backward compatible with previous version of WordPress. For these reason they tend to have a great deal more code.
Lots of code can cause two major problems. First, the more code your site has the more slowly it loads. Second, all those settings can make it difficult for developers to modify the site. Basically, if you use a template it might be more challenging and costly for a developer to make any changes that aren’t included in the existing options provided.
Custom templates can also suffer from similar problems if the person building them is not very familiar with best practices. WordPress themes are meant to work in certain ways, but not all developers are familiar enough with WordPress to make the right choices about setup. It’s often the case that developers will make sites work in ways that are harder for the site owner to manage.
With template based or custom sites there is one big problem that many people have dealt with when hiring a developer to work on their site. Each developer works a little differently, and after enough people have worked on a site you can end up with what some call a “Frankenstein” template, or a site with lots of problems that are based on developers paying little attention to how the site was set up or what previous developers did.
The Problem with WordPress Plugins
The other main reason why WordPress sites can be slow and unstable is the overuse of plugins. There are thousands of plugins for use with WordPress that extend it’s features. Unfortunately, not all of them are well written and some majority are no long being supported. Poorly written plugins can slow a site down or can cause conflicts with other plugins or even WordPress itself. And plugins that are no longer being supported with updates that keep them compatible with the WordPress ecosystem can break or also cause conflicts.
While there are a number of essential plugins that should be in use on every site, and many plugins that effectively provide solutions to commonly needed features, it’s really important to avoid using too many plugins or plugins that might cause problems. Many plugins provided are entirely unnecessary as the same goal can be achieved using very little code. The best example would be using a Google Analytics plugin to add your analytics tracking code to your site. It’s very easy for a developer to add that code by hand.
What to do if you have a broken site
Unfortunately, it is often the case that a bloated site with lots of problems will be more expensive to fix than to simply rebuild. However, there are some things a developer can do to improve the situation. First is to deactivate any non-essential plugins and replace any plugins that can be switched out for code. Second, have a developer install a database plugin that can repair and optimize your database. Third, you can have a developer go over your site looking for errors and unnecessary elements that are causing problems. Forth, add a cache plugin to speed things up. And fifth, have a developer change the way your site is running to make it easier for you to make changes. Specifically if your site is old enough, there may be new methods for making your site dynamic and easy to use.
How to avoid these problems
The best way to avoid these problems is to hire the right person in the first place and have your site set up properly at the beginning. Next is to ensure that any future developer that works on your site is also experienced and is specifically instructed to work closely with the existing structure to maintain the way that it works.