Before Ben Watt and Tracey Thorn joined forces as Everything but the Girl in 1982, the then 19 year old Ben Watt recorded the EP “Summer Into Winter” with Robert Wyatt. I did not know that, but I heard the haunting “Slipping Slowly” from that EP on East Village Radio yesterday:
Damon Albarn (you know, the guy behind Blur & Gorillaz) is about to release a solo album later this year. “Everyday Robots” is the first track released. I really love the downbeat feel of the song & and how almost every instrument has a “percussive role”.
Omdat “2013” zo’n prachtige televisie was, omdat de muziekkeuze uitmuntend was (erg Duyster-ig eigenlijk met onder andere Apparat, Girls from Hawaii, The National, Junip en Marble Sounds) en omdat Spotify-playlists niets voor mij (en dus misschien ook niet voor U) zijn;
Na de winter smelt de sneeuw
en als Eefje langs rijdt
dan zwaai ik
langs de wegkant
You care about web performance and so you dutifully aggregate and minify your CSS. But then a couple of months ago Google PageSpeed Insights (for mobile) started identifying CSS as a render blocking resource and so you wonder if you should you inline your CSS, or even defer loading it. Based on tests executed on a multi-site WordPress installation, deferring CSS is not the best idea just yet, but inlining might be worthwhile! Read on for the hard numbers and other details.
- 4 test-blogs on a multi-site WordPress instance
- using the Expound theme (which is interesting because its main stylesheet imports 2 other CSS-files)
- using Lite Cache for page caching (new WordPress page caching plugin by the Hyper Cache author)
- the same content was imported on all 4 blogs
- all 4 had Autoptimize HTML & JS optimization active
- the difference was in the Autoptimize CSS settings, where:
- blog 1 had no CSS optimization at all (baseline )
- blog 2 had standard CSS aggregation and minification, linked in head
- blog 3 inlined the optimized CSS
- blog 4 deferred the optimized CSS
- each blog was tested on webpagetest.org‘s Amsterdam node on a DSL-profile using IE9 and doing 9 test-runs on one specific blogpost with contained a 16KBimage (I excluded favicon.ico as it seemed to pollute results)
- each blog was analyzed by Google PageSpeed Insights for both mobile & desktop
|test report url||first byte||start render||doc complete||fully loaded||mobile pagespeed||desktop pagespeed|
|1. no css optimization||140212_Z1_MKN||0.299s||2.246s||2.221s||2.221s||79||92|
|2. optimized CSS linked||140212_H7_MKP||0.239s||0.608s||1.390s||1.390s||91||97|
|3. optimized CSS inlined||140212_A3_NJA||0.232s||0.348s||0.658s||0.658s||99||99|
|4. optimized CSS deferred||140212_8J_P1G||0.248s||0.357s||1.034s||1.034s||99||95|
Based on these tests (your mileage may vary, always test your results):
- deferring all CSS is useless, performance is worse, desktop PageSpeed score is (slightly) lower and there is a “flash of unstyled content” between the rendering of the page and the application of the CSS.
- Inlining CSS yields the best results both from a page speed and PageSpeed perspective. Although the base HTML is larger as it has the CSS payload, this has almost no impact in this specific context and rendering is almost instantaneous. Off course in a context where multiple other pages from the same site, with the exact same CSS would be loaded, the impact would be significant. Hence inlining CSS is especially interesting for sites with a low pageviews/ visitor ratio.
The future; inline + defer
Deferring CSS may seem pretty useless, but the sweet spot may just be inlining base CSS (everything needed for initial rendering above the fold) and deferring everything else. This is what CSS optimizing tools should focus on in 2014 and you can certainly expect something along these lines in one of the next major Autoptimize releases (although diehards can already test this approach).