I hear a lot of people complain about their websites being slow and experienced web developers seem to blame it on the actual content management system. Any platform can introduce performance issues and I have seen it with all of them including WordPress, Drupal, Joomla, ModX, Wix, Weebly and Squarespace. While WordPress, Drupal, Joomla, are ModX are considered content management systems, services like Wix and Squarespace behave more like SaaS platforms. SaaS stands for software as a service. While content management systems are usually managed by a hosting platform like GoDaddy, WPEngine, and BlueHost with the owner managing the upgrades and maintenance, the SaaS platforms offer their own maintenance and upgrades.
Either way, if you want a fast performing website, the best way is to have a website with pure static HTML and CSS and we stopped doing that in 1998, so we need to learn how to speed up our websites regardless.
Some website owners do not think that performance and quick load times are important as long as the web design and UX/UI are well executed, but consider this: it matters to Google and your visitors. Longer load times results in poor user experience and lower search engine rankings, the two most important features of website design that make or break the success of any online business. How do we fix this?
When it comes to WordPress, it seems that we love plugins. I am a plugin developer myself and I know how exciting it is to install one, but not all plugins are developed with quality. Plugins with lower development quality can not only ruin the user experience, but also slow the website load times. Since most of us love plugins and how they extend our websites, we do not think about the implications of them. We are like kids in a candy store. We go nuts installing them and somewhere in the future, our websites are lagging without any ability to research them. It is important to know how to solve these issues.
Why Do Content Management Systems Slow Down Our Website?
A content management system is a collection of individual systems working together to produce the final product. Those systems include:
- a MVC framework (model-view-controller). In layman’s terms, a system that separates the presentation from the code.
- a back end database to hold all of the content.
- a never ending pattern of HTTP requests to load images, videos, multimedia, fonts, and external content
These three steps are all necessary. As webmasters and website owners, it is important for us to know how to speed up our websites taking these individual systems into account. My advice is below.
The solutions below are not selective or mutually exclusive. Try to implement as many as possible. You will get better performance from combining as many of these as possible.
Solution 1: Test All Plugins on a Staging Site and Never Deploy to Production Until It is Tested Successfully on Staging
Do not just install a plugin on a live production website. Ever! Most webmasters make this mistake and then end up with a 500 server error without any FTP access. You need to test its performance before going live, even when the plugin is rated 5 stars. Before installing it, read the reviews on the WordPress repository and make sure it has earned at least a 4-star rating. A 3-star rating is the absolute lowest rating that I would accept, but if it is ranked that low, I need to know why. Install the plugin on a test or staging site. Also, just because it works on one WordPress site does not mean that it will work on yours the same way. The different combination of code between all the plugins and selected theme can conflict. If the plugin does not work on your staging site, then there is 99% chance it will not work live either. Even if it works on a staging site, remember that a live site has more visitors and traffic, so the plugin will usually not work live better than it would in staging. Always test performance.
Solution 2: Use a Trusted Hosting Platform Optimized for WordPress
Hosting companies such as BlueHost and SiteGround offer optimized hosting plans specifically for WordPress. Some people reading this article may not have good opinions of GoDaddy, but they do offer a very well performing managed WordPress hosting plan. For GoDaddy, do not just go with the Linux plan. Select the Managed WordPress plan. Even better, but more expensive, WP Engine is my top pick. Since most small businesses cannot afford WP Engine, I suggest using the others, but WP Engine does one thing: WordPress hosting. They do it well and offer Github integration, their own cloud-based CDN, and impeccible customer support.
Solution 3: Optimize your photos, featured images and media
I see too many webmasters accept a photo from their client or manager and just upload it. We need to look at the dimensions of those photos. If they are taken with smart phone which has 5 to 8 megapixel dimensions, chances are the photos will be at least 3000 pixels in width. I have never seen this width necessary for any screen size or viewport. The inflated file size produced by these phones are not necessary for any website and especially for mobile devices. They will greatly degrade the performance on mobile devices.
The first thing to do with any photo is to optimize it in Adobe Photoshop. Follow this video:
Next, you want to use an image optimization plugin. Now, this plugin does not need to run 100% of the time for your website. You can activate it when you need your images optimized and then deactivate it when done. I recommend using EWWW Image Optimizer plugin at https://wordpress.org/plugins/ewww-image-optimizer/. It works well and I use it on all of my WordPress sites.
Solution 4: Install a Caching Plugin
Please note that this solution may not be feasible on all hosting platforms such as WP Engine and GoDaddy WordPress Managed Hosting. I use WP Super Cachehttps://wordpress.org/plugins/wp-super-cache/
on all of my sites except for the ones hosted on WP Engine. Make sure you know how to configure the caching plugin or it can reverse your site’s performance and make it worse. Always install it on a development server and test the performance before deploying live.
I hope these solutions work for you. I implement them all before launching a new website and use them during my site maintenance process. As mentioned, they can work in conjunction and not in place of one another. They are not mutually exclusive.
After improving performance, test your LIVE website on https://www.webpagetest.org, https://www.gtmetrix.com,and https://www.pingdom.com – You can also measure site speed in Google Pagespeed Insights as well as under the Behavior tab of Google Analytics.