Kaz,
You need the correct server environment and then you need just a few things and your WordPress will be super fast:
1) Nqinx proxy web server. This will server cached static content.
2) PHP 7: If you're only running WP then you need to be on PHP 7. According to
Zend WP runs almost twice as fast.
3) Install Memcached (you'll need it below).
4) Install Zend OCache (you also need this below).
4) W3 Total Cache - this is the ONLY cache plugin you need. It allows you set all teh different types of cache:
- Page Cache: Use "Disk: Enhanced" here. But you might also want to experiment with Memcached. My blog is on a dedicated server with 32gb memory with SSDs and I found Disk: Enhanced to be better. You can check by enabling one and then doing a test on
Pingdom.
- Minify - this is important! Enable this and set to Disk. Serving minified content from memory doesn't work well here.
- Opcode Cache - Zend OpCache! Simply the best ad easiest front-end bytecode cacher and comes with PHP but needs to be enabled. If you're on PHP 7 this should be built into the PHP core. If you do not see this option or it's greyed out let me know your OS version and PHP version.
- Database Cache - Memcached!
- Browser Cache - this will add .htaccess rules that control how a visitor's browser caches your site.
- CDN - Insert CloudFlare here if you have it. You'll need to go to Performance > Extensions first to enable it.
- Reverse Proxy. If you have Varnish you can use it. We use Nginx and it does the same thing and also many other things. So if using Nginx, all that is happening anyway.
I managed to speed up my blog significant. Taking page load times from almost 4 second to 1 second.