Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Reading the plugin FAQ:

http://wordpress.org/extend/plugins/wp-super-cache/installation/

After you have enabled the plugin, look for the file "wp-content/cache/.htaccess". If it's not there you must create it. It should read:

# BEGIN supercache <IfModule mod_mime.c> <FilesMatch "\.html\.gz$"> ForceType text/html FileETag None </FilesMatch> AddEncoding gzip .gz AddType text/html .gz </IfModule> <IfModule mod_deflate.c> SetEnvIfNoCase Request_URI \.gz$ no-gzip </IfModule> <IfModule mod_headers.c> Header set Cache-Control 'max-age=3, must-revalidate' </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresByType text/html A3 </IfModule> `` # END supercache

The Question is why

Header set Cache-Control 'max-age=3, must-revalidate'

must be 3 seconds?

Shouldn't this be much higher? Can i change this value to let's say 604800 ?

This is my own scenario:

  1. I dont allow comments
  2. I don't have dynamic widgets
  3. I post every day but i don't bother if my content is shown a few hours after
  4. I run an XML import every week - adding about 500 posts in one hour

Quote: Most users will not even notice the cache validation requests, but delivering outdated cache files is much more visible. - I am doing this more for SEO purposes - please look at: http://seobyg.com/http-header/cache-control

i think it does matter for SEO to have a high max-age - right ?

share|improve this question
add comment

2 Answers

up vote 1 down vote accepted

The best value depends on the dynamic content you have:

  • If there are widgets which should be up to date each time, you cannot use a long value, or your visitors will get outdated content. That’s often not a problem though.
  • The value should not be longer than your average post frequency. If you add a new post two times per day, you probably want to show that your visitors early enough.
  • If you enabled comments, you should use a low value, at least for posts. Otherwise your visitors will think their comment wasn’t sent, because they will get the unchanged page after submitting a comment.

I think, the recommended value is the one that avoid too much support questions. Most users will not even notice the cache validation requests, but delivering outdated cache files is much more visible.

You should run some experiments and increase the max-age value in small steps until you note side effects. Start with 30 seconds, then double the value each week. I don’t think there are important SEO effects. Other factors are much more important.

For a project a long time ago I developed a dynamic value:

max-age = (now - last-modified) / 2

But you cannot do that in a .htaccess file, because the server doesn’t know when a post was last modified in the database.

share|improve this answer
    
Thanks toscho, here is my situation: 1. I dont allow comments - 2. I don't have dynamic widgets - 3. I post every day but i don't bother if my content is shown a few hours after –  Mario Lorenzo May 19 '13 at 18:55
    
I run an XML import every week - adding about 500 posts in one hour... –  Mario Lorenzo May 19 '13 at 18:57
    
QUOTE: Most users will not even notice the cache validation requests, but delivering outdated cache files is much more visible. - I am doing this more for SEO purposes - please look at: seobyg.com/http-header/cache-control –  Mario Lorenzo May 19 '13 at 18:58
    
Please add this information to your question. Most readers don’t notice comments. –  toscho May 19 '13 at 18:58
    
i think it does matter for SEO to have a high max-age - right ? –  Mario Lorenzo May 19 '13 at 18:59
show 1 more comment

Just to be clear: this max-age refers to the external caching - that is, to how long the page is cached in the BROWSER. You don't want the browser to cache pages for a lengthy time. If you fix as much as a typo in a post, that page will still show the error because it comes from the browser's cache.

The max-age is NOT how long WP Super Cache caches the page. That can be set based on your garbage collection - or even indefinitely (i.e., as long as the post was not edited). If you have no dynamic content on the page, then by all means set WP Super Cache time to a lengthy one. But you don't want the BROWSER to cache it for a lengthy time (as opposed to really static assets, such as js, css, images, etc - that should be cached by the browser for a day or a week or even a month, because they normally seldom change).

share|improve this answer
    
Biranit, thanks for clarifying - good to know this.. –  Mario Lorenzo May 19 '13 at 21:55
add comment

Your Answer

 
discard

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

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