In recent times most of the site is based on WordPress. There are multiples themes and plugins that are used in WordPress. For a normal WordPress user it is a big problem to troubleshoot why WordPress website takes too much time to load.
There are two types of WordPress site like Static or Dynamic WordPress websites.
Static websites refer to blogs, small business websites, articles/news websites, personal, photography, etc. By static, we mean that the data on such WordPress websites are not changing very often.
Static websites refer to eCommerce websites using woo-commerce plugins, community, membership, forums (bbPress or BuddyPress) and learning management systems (LMS). By dynamic, we mean that the data on these WordPress sites are frequently changing.
1- Where You Can Check Your WordPress Website Speed?
1). Pingdom
A good option for normal users and developers who want to test the desktop version of their site.
Pingdom is probably the most popular WordPress speed test tool. It manages to do a great job of both:
Making the results accessible to beginners
Giving advanced users plenty of helpful data if they want it
2)-Google PageSpeed Insight
PageSpeed Insights (PSI) reports on the performance of a page on both mobile and desktop devices and provides suggestions on how that page may be improved.
https://developers.google.com/speed/pagespeed/insights/
It provides a list of recommendations.
The result is Classified into three types- Fast, Moderate, Slow
3)-GTmetrix
GTmetrix’s Report Page neatly summarizes your page performance based on key indicators of page load speed.
Analyze your page with Google PageSpeed and Yahoo! YSlow rulesets
Get your page’s Page Load Time, Total Page Size and Total # of Requests
See your page’s performance relative to the average of all sites analyzed on GTmetrix
Okay, here are some ways that can easily speed up your WordPress website.
1-Choosing the Fastest Hosting provider.
Finding the best hosting for your WordPress website is very important. Your website’s speed will rely on the hosting provider for your use.
So how do you know which one suits you?
There’s so many to choose from: Bluehost, SiteGround, HostGator… etc.
Now there are two categories-
Shared Hosting –
Here are some names
Bluehost
You can find more on this at shared hosting.
WordPress Hosting –
Here are some names
You can find more on this at shared hosting.
WPEngine and Kinsta are preferred managed WordPress hosting provider. They’re also the most popular one’s in the industry.
2-Install the best WordPress Caching Plugin.
W3 Total Cache is one of the most popular caching plugins for WordPress
Another highly popular free WordPress caching plugin, WP Super Cache earned its place in our guide to the best WordPress caching plugins as it has over a million active installs and a user rating of 4.2 out of 5 stars.
3- Images Optimization
Image optimization is another best way that can significantly increase page load times. Every site must do this that uses Images on a high volume.
However there are some usefull WordPress image compression plugins you can use to optimize your images dynamically.
Here are some plugins:
reSmush.it Image Optimizer
Smush – Compress, Optimize and Lazy Load Images
ShortPixel Image Optimizer
Tiny-Compress JPEG & PNG images
Imagify – Convert WebP, Images Compression and Optimization
4-Use CDN
CDN is short for content delivery network, can help to speed up the loading times for your website visitors.
In CDN the servers nearest to the visitor respond to the request. The CDN copies the pages of a website to a network of servers that are distributed at geographically different locations, caching the contents of the page.
you can use CloudFlare free for normal use.
5-Enable Compression/GZIP
What is Gzip compression?
Gzip compression is a process which reduces the file size and improve web page speed and reduces the loading time.
It is also a file format.
Gzip compression test
https://varvy.com/tools/gzip
If not enable you can try these methods-
For Apache – Enable compression via .htaccess
<ifModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </ifModule>
If the above code will not work then remove it and try this one –
<IfModule mod_deflate.c> # Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml # Remove browser bugs (only needed for really old browsers) BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent </IfModule>
6-Leverage browser caching
leverage browser caching means to specify the time interval for which web browser should keep images, CSS and JS and stored locally.
Edit the request headers of your resources to set an expiry time for certain file types to use caching.
Optimize your caching strategy.
Browser caching for .htaccess
The code below tells browsers what to cache and how long to “remember” it. It should be added to the top of your .htaccess file.
## EXPIRES CACHING ## ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month"
## EXPIRES CACHING ##
https://varvy.com/pagespeed/leverage-browser-caching.html
7-Use Latest PHP Version
Before doing this first take backup your Files and database.
Then check the Php version compatibility with your code and connected database.
If using terminal then try
Php -v
If c-panel the go to “Select Php Versions”and it update manually.
8-Update WordPress version to Latest
Before Updating this please read this carefully –https://wordpress.org/support/update-php/