Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm using MaxCDN to serve content to my blog using W3 Total Cache. The problem I'm running into when evaluating my site using Google Page Speed and YSlow! is that expire headers are not being sent on content delivered from the CDN, nor are they coming from a cookieless domain.

Is this something that is completely in the hands of my CDN or is it something I can fix using my server configuration?

Some info about my setup:

  • nginx with php-fastcgi
  • wordpress 3.0
  • w3 total cache 0.9a (dev release)
  • MaxCDN
  • the site:
share|improve this question
There is a WordPress StackExchange site winding it's way through the process at Area51. I invite any WordPress users/admins here to check it out and "commit" if you think it would be helpful. I did! – tomjedrz Jul 24 '10 at 16:24
This wasn't marked as solved, but I am seeing "Cache-Control: max-age=604800" when I visit your site. Can you post an update on what you fixed? Was your origin not setting the headers correctly? – rmalayter Sep 21 '10 at 17:11

If your blog is sending proper expire headers, the CDN should obey them and will likely also forward them to your users. MaxCDN is built on nginx, so you should be familiar with the functionality.

share|improve this answer

I can't comment on the expires headers & MaxCDN, but you can serve from a cookie-less domain by getting a different URL to serve the content from, and not a sub-domain of the site. The cookies are going to * - including the CDN sub-domain.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.