It's not your fault!
The head is where script files have always been intended to go - the blocking of loading is deliberate. It's a relatively recent fad of "optimising" pages by putting them at the end.
As above, it means that the page can load and look like it's ready before any of the JavaScript is actually executed, which is especially a pain when people use files on a slow CDN, and you have to sit waiting before you can interact with a page. |