Scripts: defer, async, or move
A synchronous script in the head stops the parser at that point. The page cannot paint anything after it until the script downloads and runs. That single fact is most of the fix: do not block the parse.
What you will see
First paint moves earlier. If it does not, the script was not blocking and the change was cosmetic.
About 1 min of reading
Try It
Unblock the parse on one page
1
Find the blockers
grep -nE '