I was trying to do some SEO improvements on my website and accidentally set the Expires header to -1.

I changed it back after a couple of days.

Would the Expires: -1 header be the cause of why my number of visitors has dropped from a daily average of about 3800 to 1300, quite a drastic cut. What's a best value to put for Expires or should I leave that well alone? I've noticed a competitor does a month and so did the same now.

Will Google revisit my Expires: -1 pages eventually or will they be forever be ignored by Googlebot? I guess that might be a guess.

HTTP/1.1 200 OK
Cache-Control: no-cache, max-age=0, no-cache, no-store, must-revalidate
Content-Encoding: gzip
Content-Type: text/html
Date: Thu, 21 Apr 2016 18:02:06 GMT
Expires: -1

The following resulted in the Expires header being set:


I also updated all the images, made them smaller in size by compressing them using ImageMagick so that they got a good "rating" with webpagetest.org. Would that have also caused a significant drop.

  • 1
    Which header(s) are you referring to exactly? And what value(s) are these actually set to (in the HTTP response)? There is no Expired header. Do you mean Expires? But then -1 is not a valid value for the Expires header, so it's possible asp.net is processing this to set a valid value? Are you setting this header on the main page or only on external resources?
    – DocRoot
    Apr 21, 2016 at 14:25
  • Changed Expired to Expires in main body. Typo... Apr 21, 2016 at 18:05

1 Answer 1


Would the Expires:-1 be the cause of why my number of visitors has dropped from average of about 3800 to 1300


The Expires header simply controls caching. A value of -1 (strictly an invalid value, which should really be in HTTP-date format) will simply be seen as "expired". So, users will always make server requests.

Note that the Cache-Control: max-age header is also set. This actually takes priority over the Expires header in compliant browsers (every browser in the last few years and then some).

In fact, with caching disabled, you are likely to see an "increase" in visitors (or at least "hits"), not less! (If you see any change at all.) You will see more "hits" because your server will be receiving more requests.

Whats a best value to put for expired

What you set for your cache headers is entirely dependent on your content and how often it changes. If it rarely changes then set a long(er) cache time. If it changes very often then set a short time or even disable caching (like you did).

Would google revisit my expires:-1 pages eventually

Yes. If anything, an Expires: -1 header might encourage Google to crawl more often.

Nothing that you've stated in your question would necessarily result in a traffic drop. It's something else.

  • Could it be then that I'm using Chunked-Transfer that could be the cause. As soon as the page is loaded, I'm flushing the headers out immediately to get a low TTFB score? In other words, I'm doing a Flush in the pre-init event before the page load has executed? Apr 21, 2016 at 21:58
  • Or maybe the quality of the images, I've tried to reduce the file size lately by optimizing and compressing the images? Apr 21, 2016 at 22:26
  • ... that would result in a visitor drop? I doubt it. Does GWT report any problems? To be honest, there's a 1001 things that could result in a drop in traffic and trying to diagnose that sort of thing - which is really specific to one site - is strictly off-topic on Webmasters. It might not even be something you've done - there will be external factors influencing your site. However, your question was specifically about the Expires HTTP response header - which I've tried to answer above.
    – DocRoot
    Apr 21, 2016 at 22:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.