Have you tried to refresh the cache? Yslow may be pulling the cached files, which may lack headers.
you have 3rd party files in your site ?
usually, even you already set the expires headers. it may still get “F” grade due 3rd party files.
Yea I do, is there a way to set a header for them as well?
add to top of .htaccess
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType text/css "access plus 60 days"
ExpiresByType text/javascript "access plus 60 days"
ExpiresByType image/ico "access plus 60 days"
ExpiresByType image/jpg "access plus 60 days"
ExpiresByType image/jpeg "access plus 60 days"
ExpiresByType image/gif "access plus 60 days"
ExpiresByType image/png "access plus 60 days"
ExpiresByType text/css "access plus 60 days"
ExpiresByType text/html "access plus 60 days"
</IfModule>
you can change the time…
This does not require a plugin to handle the expires headers (but use one for serving cached files and set the garbage collection to two weeks)
Anytime you make site changes, force server cache to clear.
Also, am not using a CDN.