Metti il css prima di qualunque altra cosa nel header.
Comprimi tutti i file (css e js)
Puoi usare .htaccess per comprimere la pagina affinché dopo la prima visita sul tuo sito, l'utente ha già tutto cachato. (leggasi chasciato non "cacato"...scusate il gioco di parole
)
codice:
<IfModule mod_expires.c>
#### Enable expirations###
ExpiresActive On
####Default directive: access plus 2 weeks oppure days ecc...###
ExpiresDefault "access plus 2 weeks"
#### favicon caching: access plus 3 years e cosi via###
ExpiresByType image/x-icon "access plus 1 year”
### Images leggasi sopra##
ExpiresByType image/gif "access plus 2 days"
ExpiresByType image/png "access plus 2 days"
ExpiresByType image/jpg "access plus 2 days"
ExpiresByType image/jpeg "access plus 2 days"
#### CSS: vedi sopra ###
ExpiresByType text/css "access 1 day”
###Javascript###
ExpiresByType application/javascript "access plus 2 days"
</IfModule>
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
Questo funziona solo su server apache.
Inoltre, QUESTO ti potrebbe essere utile.
Se hai fatto o provato tutto e non vedi alcun miglioramento, l'unico modo rimane quello di @carlomarangoni.