Website optimization is an essential and regular routine of any webmaster to run a website. Google officially included page speed as one of the search-ranking factor for mobiles. Soon that will be the case for desktop search results too. When you are running a website for certain time, you will start realizing that site speed has many other dimensions. Even having a dedicated server will not help in improving the speed when your usage is different. In this article, let us explain 10 thing that kill your WordPress site speed.
Remember it is not necessary to have 100/100 score in Google PageSpeed Insights or Pingdom or GTmetrix. It completely depends on the purpose of your site and the tradeoff you like to have for speed.
1. Advertisements Like Google AdSense
The major purpose of having a website is to make money from the traffic that you get. It could be from the sale of products or by the way of advertisements. Not everyone can make product and sell online, so the easiest way is to build your site and look for advertisers to show their advertisements on your site. Advertisers will pay you for each impression or clicks on ads. This is called Pay Per Click advertising, which became very popular after Google pitched in this arena. Google has two major products – Google Ads (previously AdWords) and Google AdSense. Website owners can apply for AdSense account and after approval can show advertisements on their site from Google Ads.
- You cannot cache the images from advertisers on your server. Thus serving uncached images will take more time.
- Some advertisers still use HTTP, which will cause mixed content problem when you have HTTPS on your site.
- Most advertisers serve uncompressed content, which will affect the speed of your site.
You can check the speed of AdSense webpage using Pingdom or GTmetrix to see all types of problems that could arise from AdSense advertisements. You can also refer our detailed article on AdSense Vs site speed.
2. Gravatar Images
Gravatar is a small profile image shown on the comments and user profiles. Users needs to link their profile picture and email address in gravatar website owned by Automattic, the same company that owns wordpress.com and behind the wordpress.org. WordPress will show up the profile image when you use the email id linked in gravatar website.
These images may look beautiful on the comments, forums, profiles and other sections. However, loading images from external service will cause problem in site speed. You cannot cache these profile images beforehand and serving static image files as uncached request every time will affect the loading speed of your page.
So if you really do not need the gravatar, simply go to ‘Settings > Discussion > Avatar’ on your WordPress admin panel. Uncheck the box ‘Show Avatars’ against the option ‘Avatar Display’ to disable them on your site completely.
3. Content Recommendations with Images
Nowadays almost every site shows content recommendation to retain the users on their site. Also AdSense allows showing advertisements in-between content recommendation thus helping your to make money.
This will have the same problem of advertisements as explained above. So if you can show only test recommendations without thumbnail images or disable advertisements to improve the speed.
An image can say thousand words, but use them only when needed. Each image will send a separate HTTP request to server when someone opens your page. When there are lot of bigger images on your page, it will increase the server load and page loading time.
- Use image compression plugins like WP Smush or compress the images outside WordPress and then upload.
- Crop the images to required and smaller size.
- Avoid resizing images using CSS inside a page.
- Use font icons instead of images.
- Host images on subdomain and serve them without any cookies.
- Set cache header for images for browsers to cache them for long period of time.
- Prevent image hotlinking so that someone cannot embed your images on their site and consume your server resource.
Well, thumbnails are essentially images but not uploaded by you. WordPress, theme or plugin, generate them. You cannot see thumbnails from media library but they are available on your server and shown on the pages wherever required.
On your WordPress admin panel, go to ‘Settings > Media’ section. Under ‘Image sizes’ section, you can see WordPress thumbnail option for creating large, medium and thumbnail sizes from the original image you upload. Your theme and plugins will register image sizes in functions.php for creating thumbnails. Later on the frontend, you can see these thumbnails on featured images, slideshows, sidebar, footer, etc. depending on the usage.
In general, any commercial WordPress theme will generate 5 to 15 thumbnails for each image you upload on your site. Therefore, whenever you delete slider or image related plugins and change theme ensure to cleanup all those unused thumbnails to have storage and improve speed.
6. Hosting Company and plan
Theoretically, this should be the first point in the list. Nevertheless, it depends on your need. For example, when you start a site with few pages, definitely shared hosting, as Bluehost is sufficient. When your site grows in size you can gradually move on to VPS or dedicated servers. Otherwise, it may not be possible for all of us to spend $500 for dedicated servers each month to run few pages of blog.
So do not hesitate to change the host or upgrade your plan when your site grows in size. The bottom line is that the server response time should be less than 200 milliseconds to increase page speed score.
Again, this is a guideline, not a rule for you to strict to it. Because it depends on many other factor explained in this article.
7. Too Many Plugins and Heavy Plugins
Too much is always not good. However, for running any WordPress site you may need handful of plugins for SEO, security, caching, etc. You should strict to standard and limited number of plugins. Each plugin you install will create many different types of overheads:
- Meta boxes shown in post editor will add entries in wp_postmeta table for each blog post or page.
- Slider plugins will add many thumbnails and occupy storage space.
- Caching plugins will create huge number of directories which may violate the guidelines of your hosting company.
- All the plugins will add corresponding entries in wp_options table thus slowing down the admin panel and affect page loading time on live site.
- Online store plugins will add many script files reducing the page speed score.
In simple words – each plugin on your site will affect the page loading time. Heavy weight plugins like WooCommerce, sliders and security plugins not only occupy server space but also affect the speed. So stop playing around with plugins on your live site. Even you delete the plugins there will be lot of residual table entries in database and settings files. Cleaning up these leftover files is a tedious task which you should do periodically to avoid they increase the loading time.
8. Improperly Coded Themes
It is difficult to realize the quality of coding without using and knowing the backend functions. For normal users – all that glitters are not gold – is the most suitable proverb you can remember when looking at those beautiful themes. Completely avoid the themes with bundled plugins, offering lot of shortcodes and having too many features. In long run, you cannot use many features on the theme that you think are useful.
Some themes load 15 to 20 JS files for maps, custom scripts, sliders, etc. Try to avoid themes loading many scripts and have many image sizes. You can always use plugins to have important functions on your site. Biggest advantage of plugins is that you can easily switch the theme. Otherwise, you will end up spending months to switch the theme bundled with plugin’s functionalities.
9. Multiple Installations
Most of the hosting plans allow having multiple installations of WordPress on a single shared server account. Having same set of plugins on multiple sites will kill the server speed. For example, having WooCommerce plugin on three to five different sites on the same server will kill the entire server speed.
If all the sites are mission critical for you then host them on different server or go for a managed WordPress plans with dedicated servers. We strongly recommend to strict to the restriction of the shared server when you are at entry level.
10. PHP Scripts
It is very easy to buy scripts from Codecanyon for few dollars. Though the script may have good quality, running on subdirectories / subdomains / directly on your WordPress installation will kill the speed. Hosting companies will have limitation on PHP run time and exceeding the limit will show 500 server configuration error or host will take your site down to protect other sites running on the same server.
So, avoid wandering around on marketplaces for buying low priced scripts. That will only cost you more in terms of site speed than the money you expect to earn.