1. Image optimization
Crop, resize, compress, convert to webp with fallback to original (jpeg, png...)
The decision when to use png, jpeg, svg, or any other.
Lazy load all images, exclude images above the fold from lazy loading.
2. Video optimization
Avoid auto-play video above the fold. Compress video for the web. Put image overlay.
3. Hosting
Choose good hosting.
4. CDN
Use it if your site is international.
5. Compression
Brotli, gzip, or whatever compression your hosting or CDN provides for you.
6. Minify, Combine (or not
)
Minify your website’s CSS, HTML, and JavaScript files (you can do this with almost every cache plugin)
Test combine CSS files and JS files.
Combining can sometimes give good results and sometimes worse. It depends on the protocol (h1, h2, h3), how big the site is, and so on. Although it is recommended not to combine on h2, h3, sometimes the results are better when combined. Sometimes you'll need to exclude certain files.
7. Caching
If you are on WP, you can try with: WP Rocket (paid), LiteSpeed Cache Plugin (if you are on litespeed server), W3 Total Cache (don't use it with Elementor).
8. Database optimization
9. Reduce the number of used plugins. Use lightweight theme.
10. Optimize Third-party scripts (External scripts)
Probably one of the most common problems.
Most used:
Google Fonts, Google Maps, Google Tag Manager, Analytics, reCAPTCHA, FB pixels, YT embeds and others, Font Awesome, Eicons, ads...
You can optimize all of them.
Example:
*Fonts:
Test: swap, localhost, preconnect (if they are external), or preload for local hosted (for LCP or above the fold). Something can give you better something worst result.
*Font Awesome
Use inline SVG instead of Font Awesome.
You should test everything on staging (same server if possible). There is a lot of work, and much more things you can do. This is some basic guideline I made for you.
Important:
Google predominantly uses the mobile version of the content for indexing and ranking. Don't pay too much attention to desktop version (speed). If you optimize mobile speed, a desktop will be good too. But, your priority is mobile.
Website speed test:
It's a topic that can be said a lot. And I will explain once in detail, now only briefly: test speed for the mobile version only, for the testing location - use the country from which most visitors come from. There are many testing tools and when I have time I will explain in more detail.