Voor mijn werk ben ik sinds kort belast met het onderhouden van een op WordPress gebaseerde website. Mijn baas ziet graag dat we een zo hoog mogelijk score behalen in verschillende performancemetingen zoals Google Pagespeed Insights en GTMetrix vanwege de hogere relevantie die je daardoor zou krijgen in zoekmachines. Sinds een tijdje (ik weet eerlijk gezegd niet hoe lang al) geeft Google ook adviezen voor mobiele browsers en her en der op het internet vond ik al dat developers er moeite mee hebben om de scripts en stylesheets die niet boven de vouw voor opmaak nodig zijn later te laden. Blijkbaar ben ik er ook zo een.
Na wat zoekwerk kwam ik terecht bij de plugin "WP Deferred Javascripts". Hoewel het asynchroon (async) uitvoeren van scripts over het algemeen de voorkeur schijnt te hebben ten opzichte van het deferren, vond ik deze plugin makkelijker te configureren dan de concurrent die de <script> tags het async keyword meegeeft (meer doet hij immers niet). Omdat de plugin Merge+Minify+Refresh, die ik gebruik om mijn javascriptbestanden samen te voegen om requests naar de server te beperken (dit maakt GTMetrix blij), standaard alle scripts gewoon uitvoert zodra ze gedownload zijn (dus geen async of defer) moest ik deze uitschakelen.
Het probleem waar ik tegenaan liep is dat het deferren van alle scripts bepaalde functionaliteit onderuit haalde. Hierop ben ik ertoe overgegaan om te analyseren welke scripts er allemaal ge-enqueued werden door mijn plugins, en vervolgens de script-handles van de "kapotte" plugins toe te voegen aan de lijst met uitzonderingen (die worden dus niet meer gedeferd).
Nu blijkt dat ik zoveel uitzonderingen moet maken dat mijn score bij Google Pagespeed Insights niet omhoog gaat, en omdat Merge+Minify+Refresh uitgeschakeld is is GTMetrix ook niet blij met me.
Mijn vraag aan jullie: hoe hebben jullie het advies van Google ("Verwijder bestand X want het is niet nodig voor de inhoud boven de vouw") aangepakt? Ik lees dat async/defer de beste opties zijn, maar als ik niet per pagina kan opgeven welke scripts wel en welke niet later geladen moeten worden heeft mijn score er geen baat bij. Omdat Merge+Minify+Refresh uitgeschakeld moet worden lijkt het bij GTMetrix zelfs een averechts effect te hebben.
Na wat zoekwerk kwam ik terecht bij de plugin "WP Deferred Javascripts". Hoewel het asynchroon (async) uitvoeren van scripts over het algemeen de voorkeur schijnt te hebben ten opzichte van het deferren, vond ik deze plugin makkelijker te configureren dan de concurrent die de <script> tags het async keyword meegeeft (meer doet hij immers niet). Omdat de plugin Merge+Minify+Refresh, die ik gebruik om mijn javascriptbestanden samen te voegen om requests naar de server te beperken (dit maakt GTMetrix blij), standaard alle scripts gewoon uitvoert zodra ze gedownload zijn (dus geen async of defer) moest ik deze uitschakelen.
Het probleem waar ik tegenaan liep is dat het deferren van alle scripts bepaalde functionaliteit onderuit haalde. Hierop ben ik ertoe overgegaan om te analyseren welke scripts er allemaal ge-enqueued werden door mijn plugins, en vervolgens de script-handles van de "kapotte" plugins toe te voegen aan de lijst met uitzonderingen (die worden dus niet meer gedeferd).
Nu blijkt dat ik zoveel uitzonderingen moet maken dat mijn score bij Google Pagespeed Insights niet omhoog gaat, en omdat Merge+Minify+Refresh uitgeschakeld is is GTMetrix ook niet blij met me.
Mijn vraag aan jullie: hoe hebben jullie het advies van Google ("Verwijder bestand X want het is niet nodig voor de inhoud boven de vouw") aangepakt? Ik lees dat async/defer de beste opties zijn, maar als ik niet per pagina kan opgeven welke scripts wel en welke niet later geladen moeten worden heeft mijn score er geen baat bij. Omdat Merge+Minify+Refresh uitgeschakeld moet worden lijkt het bij GTMetrix zelfs een averechts effect te hebben.