WordPress remains one of the foremost popular, free, and open-source content management systems in the world, and powers a myriad of different sites from e-commerce businesses to personal blogs. Despite WordPress being very popular for businesses large and small, many WordPress website owners struggle with their site being slow.
Ensuring that your WordPress website isn’t slow to load is critical to delivering a quality user experience. In this article, we will walk through the top 9 solutions for common sluggish site problems, to ensure that your site operates as efficiently and smoothly as possible.
Ensure you have a fast, high-quality hosting provider
Hosting is at the cornerstone of everything your website does. Your SEO rankings, mobile usability, and the speed at which all content is loaded on your website are all directly affected by the quality and speed of your hosting provider. Fast consistent hosting might cost fractionally more money but provides a much better user experience.
Slow or poor hosting might indirectly cost you money in the form of lost revenue (from customers leaving your site).
It is therefore recommended that you ensure you have the best available quality hosting and that your choice of host is situated in a country where the majority of your traffic originates, as a typical delay of more than one second can be expected should you use a host in a different country. The use of a CDN (see solution #4 below) should solve this issue completely. It is also important to make sure that your host guarantees a high level of server uptime, as cheap hosts are known to be terrible in terms of uptime and you will likely notice multiple outages more often on cheaper hosts.
Also, be wary of promotions that encourage you to upgrade to a “dedicated VPS host”. VPS stands for “Virtual Private Server” – and although some VPS’s have more power, it does not always solve the underlying problem of poor-quality hosting.
Recommended Website Hosts Optimized for WordPress Speed:
Hosting Provider | Cost | Notes |
---|---|---|
DigitalOcean | Starts at $4/month | Read how easy it is to install WordPress on DigitalOcean |
WP Engine | $20/mo | Some users reported a 40% increase in website speed after migrating to WP Engine. |
HostGator | Starts at $2.75/month | Guarantees 99.9% uptime, and comes with a free SSL certificate |
Use Caching Plugins or Caching Features on your Host or CDN
Caching is the process performed by either hardware or software components that keeps data stored or copied so that future requests for the data can be served as quickly as possible. Instead of having your server load multiple pieces of code each time a page on the site loads, caching stores the most popular content so that the content does not need to be retrieved from the origin server with each request. This drastically improves the speed at which WordPress loads and operates.
There are multiple reputable plugins for WordPress (some free and some paid) to choose from such as WP Rocket and W3 Total Cache. Using a plugin allows a “not-so-technically-advanced” person who chooses to enable caching to do it themselves without modifying the underlying code of your site, while still giving your site a noticeable boost in performance.
- W3 Total Cache (free)
- WPOptimize (free)
- WP Rocket (paid – $49/yr)
Some hosts have caching built-in or their own plugins specifically for caching which is part of the reason why they run smoothly. It is never advisable to run two caching plugins simultaneously, and always ensure that you have backed up everything before making alterations.
To improve performance on database-intensive activities, particularly in the backend of the web server, it may be a good idea for developers to install Memcached or Redis on the server and activate object caching in W3TC.
Keep plugins up to date, and remove unnecessary plugins and themes
Plugins can add function and flexibility to your website, but if they aren’t kept up to date, plugins can also have a detrimental effect on how your site performs. Outdated plugins can slow your website down and even leave you vulnerable to hacking attempts and virus infections. This is also true when you have too many plugins installed.
Out-of-date plugins are also known to cause compatibility issues. When there are updates to WordPress core or updates to your themes, the use of outdated plugins might cause your site to no longer work correctly and may not even work at all. This compatibility issue can cause conflicts which leads to errors in your site. Overall, the performance of your site depends on having working, up-to-date plugins and themes, and it’s super important that you update your plugins (or turn on auto-update), and reduce the number of plugins that your site uses to as few as possible.
Helpful Tip: Regularly review your site to remove unnecessary plugins and themes. Each year I make it a habit to review my websites and see which plugins I can do without. If a plugin is not delivering maximum value, I delete it and move on.
Use a Content Delivery Network (CDN)
When a network of servers from various locations (internationally) hosts your website files, it creates what’s called a Content Delivery Network (CDN). For websites that serve content to a large global audience, the benefit of using a CDN is that the CDN servers are closer to the site visitor than the web-hosting server.
A CDN (content delivery network) such as Cloudflare will allow you to deliver content to a visitor from a server that is closer to their actual location. A CDN takes your content and then distributes it all around the world to different servers that the CDN owns. Take a look at the photo below for an example: If someone from the Philippines tries to visit your site, they will download your site’s content from a server located near the Philippines, instead of the USA.
Using a CDN kills two birds with one stone – not only do you have the benefits I mentioned above, but Cloudflare also gives you the option to minify and compress your code as well, which can shave off your page loading time.
Cloudflare.com is a prime example of a service providing CDN hosting and is known for its website acceleration services (it’s also the CDN we use to host Wiyre). By being a CDN, Cloudflare could notably improve the performance of your site for visitors on a global scale. The best part? Cloudflare is free!
Make sure images are sized correctly and served in next-gen formats
Every website comes with images, but not all images are created equal. Older image formats such as JPEG, BMP, or PNG simply do not offer the level of compression or quality as the more modern formats such as WEBP and JPEG 2000, meaning that the use of the older formats could lead to longer loading speeds and a less ideal visitor experience. Although many factors contribute to slow websites, images take up a relatively vast amount of bandwidth and are usually the number one reason why a site loads slowly.
The use of scaled images is one of the simplest ways to optimize your images, as it will ensure that you are not shipping excessive pixels needed to display the image at its intended size in the browser. Third-party apps such as Photoshop or Lightroom could be used to resize images before use. At Wiyre, we use a plugin called Smush from WPMU Dev that compresses all images uploaded to your site. It also does the heavy lifting of resizing images and converting them to .webp format (requires the Pro plugin version).
Specialized image compression plugins can also be utilized to resize, compress and ultimately optimize your images for the web so that they load faster. Should you need to optimize your images after uploading, there are numerous effective ways to do this such as; lazy loading, caching images, removing EXIF data, and avoiding Image URL redirects.
Disable WordPress Trackbacks / Pingbacks
Trackbacks and Pingbacks are handy tools for alerting a site owner that someone has linked back to their site. Although similar, trackbacks differ from pingbacks in the sense that the process is a manual one, whereas pingbacks are automatic. This might seem like an effective method of keeping track of who is linking to your site, but it could also lead to a host of problems. One of the main problems is spam. Spammers quickly caught on that they can overcome the simple protections that are put in place which led to an increase in malicious pingbacks and fake links.
There has been a lot of controversy regarding whether pingbacks and trackbacks add enough value to justify their downside, but it is now widely recommended they be disabled. To do so, read this guide on how to disable WordPress trackbacks and pingbacks.
Keep the PHP Version updated to the latest version
This is a tip that I originally learned from Brian Shim, and it works incredibly well for dealing with the pesky error console logs that say:
[15-Jun-2016 21:10:20 UTC] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in /home4/directory/public_html/
Upgrading the PHP version can reduce the amount of space that the site is taking up, and I noticed immediate results in speed once I updated to the latest version. Just keep in mind that some applications may not be configured to support newer PHP versions, so performing a site backup and thoroughly checking your site after doing a PHP upgrade to make sure that everything is still running smoothly.
Optimize the Database And Delete Unnecessary / Leftover Plugin Data
Over time your database fills up with unnecessary data and leftover plugin files that have long been removed. There are many plugins that help with cleaning up a WordPress database, but usually I do it myself in the myPHPadmin console on my web host cPanel. Deleted plugins sometimes leave information left over that is skipped during the uninstallation process, so it’s necessary to manually go in and delete the data from the old plugin yourself using a file manager. Just be sure that the content or files being deleted is not used by a page or another plugin on your site, or you could run into problems.
Check to see how many rows the WordPress database takes up. If there is not that much traffic or the site is relatively small, there could be old site backups or issues with older plugins or themes which should be cleaned up.
Check To See If Your Site Is Hacked Or Infected With Malware
It could be possible that your website is slow because of nefarious things it’s doing in the background, like serving phishing pages or redirecting your visitors to hijacked pages. A hacked or infected website usually has malicious links to spammy websites, Google site console warnings, and mysterious web pages or plugins that are difficult to uninstall.
Use a free service such as Wordfence to scan your site content and check for other security issues. Wordfence can also be configured to block IP addresses that try to log in using fake credentials, and a ton of other helpful features. I use Wordfence on all my sites and it has helped me track down some issues with outdated plugins in the past.
Frequently Asked Questions
There are many reasons why a WordPress website could be loading slowly. The best way to diagnose the issue is to audit your site for performance issues stemming from the theme, plugins, web host, and content. Many improvements can be made to make your site load faster, but some required advanced knowledge of web hosts and caching.
The best way to test your website speed is to use PageSpeed Insights from Google. PageSpeed Insights is a free tool that provides detailed explanations as to why a site is loading slowly, and measures real user behavior on your site to determine how your site loads for others. If you have the Google Site Kit plugin, you’ll be able to view your PageSpeed insights directly from your admin settings page within WordPress.
Many free plugins exist to cache website content. There are also free CDNs such as Cloudflare that allow you to host your content all over the world and reduce the time it takes for visitors to load content from your origin server.
WordPress is not slow by default. Adding additional plugins, using poor hosting, and loading large images could all contribute towards slowing down a WordPress website.