I'm no expert when it comes to optimizing speed of Wordpress sites, but here's what I know:
- It all starts with a WP theme. Themes like Avada, The7, etc are bloated with code and unnecessary JS calls and it's impossible to get below 1 seconds with a bloated theme. That's why I mostly use basic themes with as little JS shit as possible. If a theme is "multi-purpose", it mean that it's slow. If a theme is very popular on marketplaces such as Themeforest, it means that it's slow because majority of people choose a theme that has plenty of features which make the website slow. Keep it simple, you can customize any theme you want with basic html and css skills.
- Hosting is important, but not that much. My site with the screenshot of speed report above is hosted on a $5 shared hosting with Litespeed and it handles 500 UV per day without a sweat. You don't need a VPS or any $100 p/m hosting for that kind of theme and that kind of traffic. I used to pay $30+ per month for a single hosting but then I realized that it's an absolute overkill and I get better speed score with a smaller shared hosting with Litespeed + PHP7x + SSD + MariaDB + LScache plugin.
- Not every plugin is fast. Contact Form 7 for instance is a heavy plugin and it makes calls even on pages where it isn't used. WPbakery page builder is a heavy plugin. When I have to use a page builder, I go with Elementor because it's faster based on my testing.
Other plugins I'm using for improving speed:
- https://wordpress.org/plugins/wp-disable/
- https://wordpress.org/plugins/tiny-compress-images/
At the end of the day it's all about testing. I've spent about 10 hours just trying out combinations with several caching plugins. Autoptimize, W3TC, SG Supercacher, WP Rocket, etc. I'm getting better results with LScache after 30 minutes of testing.