That’s the big clue here. You are using something (maybe your theme, maybe a plugin) that is loading javascript in the header. Normally, it should be loaded in the footer, but there are legitimate exceptions.
By default, Autoptimize moves all javascript added by themes and plugins to the footer. That might seem a good idea, but it’s actually terrible because it doesn’t know which really should be in the header, and so it breaks things. You really need to work out what is loading javascript in the header and then ask the developer why.
I can see the following that I’d want to investigate (try right-clicking on the page and selecting View Source
):
<script type='text/javascript' src='https://dunbarmedical.com/wp-content/plugins/mailchimp-widget/js/mailchimp-widget-min.js?ver=4.9.6'></script>
<script type='text/javascript' src='https://dunbarmedical.com/wp-content/plugins/revslider/public/assets/js/jquery.themepunch.tools.min.js?ver=5.3.1.5'></script>
<script type='text/javascript' src='https://dunbarmedical.com/wp-content/plugins/revslider/public/assets/js/jquery.themepunch.revolution.min.js?ver=5.3.1.5'></script>
<script type='text/javascript' src='https://dunbarmedical.com/wp-content/plugins/woocommerce-dropdown-cart/js/main.min.js?ver=4.9.6'></script>
<script type='text/javascript' src='https://dunbarmedical.com/wp-content/plugins/wp-tao/assets/js/events.js?ver=4.9.6'></script>
<script type='text/javascript' src='https://dunbarmedical.com/wp-content/plugins/woocommerce-quantity-increment/assets/js/wc-quantity-increment.min.js?ver=4.9.6'></script>
<script type='text/javascript' src='https://dunbarmedical.com/wp-content/plugins/js_composer/assets/js/vendors/woocommerce-add-to-cart.js?ver=5.2.1'></script>
But you really turn off all caching to do this properly. Otherwise you will get very confused.
You also have some javascript errors. (Right-click, and select Inspect Element -> Console
):
Loading failed for the <script> with source “https://www.googletagmanager.com/gtag/js?id=UA-90183803-1”.
dunbarmedical.com:156
unreachable code after return statement[Learn More]
chosen.jquery.min.js:516:12
unreachable code after return statement[Learn More]
You need to address them too, especially as the message is expressly telling you that some code isn’t running.
As for the inconsistent URLs, you have your theme loading a font from Google, while a plugin is doing the same thing but in a slightly different way. (Just look at the detailed info that Pagespeed provides.) This is a serious resource suck, and you need to turn one off.
To be honest, you shouldn’t even be thinking about using a caching plugin at the moment. These are quite serious issues and caching will just mask them while your site won’t work properly and will still be quite slow. You have an absolutely huge amount of stuff running on your site, so it needs serious work to optimize it. To make it go fast, you would be better off changing hosts than relying on caching.