Few days back...
I optimized a client's website loading speed from 10 sec to < 2 sec
Time spent: 2 hours
Charged client: $500
Here are 8 steps I did which You can follow them to optimize website made with any CMS or technologies:
First, why should you make any website faster?
- ✔️ Decrease bounce rate by 57% (as per study)
- ✔️ Increases google ranking
- ✔️ Happy Visitors/Customers
let's check the steps 👇
➡ Go to http://gtmetrix.com
➡ Enter the URL and hit "Test your site"
➡ In few secs you'll see complete report containing GTmetrix Grade, Performance & structure.
➡ In GT metric report scroll down to "Top Issues"
➡ Which will show issues related to JS, CSS, Images, too many requests, page size & more
👉 GTmetrix will show most of the improvements, BUT NOT ALL
➡ Let's resolve issues pointed by GT metric
➡ Reduce all image sizes from MB to KB
➡ Go to http://squoosh.app
➡ Upload original images
➡ Download compressed images
➡ Replace in your website
➡ Lazy loads defer loading of images until user scrolls near them
➡ Do only if there are lot of images
➡ Just add loading="lazy" in img tags
➡ Caching assets loads them once & stores them in browser cache
➡ This reduces loading time of subsequent pages
➡ Cache them by adding an asset version
➡ Minifying JS & CSS will reduce their size by almost 70%
➡ Go to http://smalldev.tools, search js/css minifier
➡ Minify all js & CSS
PS: keep a backup of non-minified files in case it may be required later
➡ JS blocks all other resources
➡ This increases "First Contentful Paint" time
➡ Move them to end of HTML document
➡ It reduces HTML size by almost 80%
➡ Go to http://giftofspeed.com/gzip-test/ & check if enabled or not
➡ If not, contact hosting to enable it
➡ Or use cloudflare to use this for free
Now we're done with optimization suggested by GTmetrix
➡ Re-test your website & you'll see a good improvement 🤩
➡ but not yet 100% optimized
Let's optimize more...
Unoptimized DB can reduce speed by a lot
DB optimization can be a big topic, but doing this basic will help
➡ Add indexing to fields used for searching, sorting & table joins (basic)
This is my first post. Hope this post helps!
Comment below for an questions you have.