You can improve a lot of things, it depends on how far you want to go, all the standards have rules you have to skip for convenience, for example, i can easily fix the render blocking javascript here:
https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fwww.grupoalianzaempresarial.com&tab=mobile
68% WTF!!! hahaha
But i don’t want to fix this issue because this “issue”, help users to catch the most part of the website (more than 90%), the cache in this case give a great user experience, the first page maybe loads in 1.2s:
https://gtmetrix.com/reports/www.grupoalianzaempresarial.com/2gjwlljk
but when the user navigate the website the transitions occur in less than 0.4s even if you have a slow browser you display the next page like it loads instantly, maybe loads in 0.2s or 0.4s, but display the entire page, don’t display element by element, i do this for two reasons, most of my visitors came from LATAM, where all the browsers are old and the connections are toooooo slow… you can visit all my sites in IE6, i hate this, but is LATAM; or some of my customers use satellite connection that sometimes is worst than dial up…
In all the cases I prefer don’t use frameworks, all the frameworks have a lot of functions you never use, is the case of jquery, a blog is simple to code, you can develop a simple blog easy to mantain, I developed this in less than a day:
https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fvisitusa.mx%2F&tab=mobile
This blog have a couple of errors, in this moment I’m not using a CDN because a lot of CDN’s block a lot of false positives, or I don’t put image sizes because are responsive images, I can easily develop a function for the image sizes, but affects the server load and the user experience, in this cases is when i love to skip some rules:
https://gtmetrix.com/reports/visitusa.mx/bkiZKQf0
even if you develop more complex solutions you can use your own code, you choose how far you want to go, for example in ecommerce:
https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fwww.tususcripcion.com&tab=mobile
https://gtmetrix.com/reports/www.tususcripcion.com/gV0VsjCK
You have to choose if you want to dedicate time to develop your own solutions or use open source, the opens source is an easy way to implement scalable soulutions, but have a lot of errors and disadvantages, some projects maybe need an easy solution, but some projects deserve a better treat.
The scalability sometimes is hard but you have better results, the ngx_pagespeed could help you, but have a lot of bugs, develop your own solutions kills ngx_pagespeed, an easiest way to hack all the standrads, *meters, etc. is to put a big vector/text above the fold, it loads instantly when the user scroll, your website was fully loaded, maybe some day i take this solution, but i’m the worst designer ever, and i don’t want to design a vector every time I post something, but maybe a solution could be make generic vectors.