Unwanted page caching, can't see new content w/o refresh


I’ve been getting reports that people aren’t seeing the latest version of my site (theamericanreader.com), particularly the homepage. They are saying that whenever they check it, they have to refresh to see new content that’s been posted. Anybody familiar with this issue? Is it a grunt issue? I’ve tried adding headers via the .htaccess file to prevent browser caching, but it doesn’t seem to help. Strangely I am not experiencing this cache issue myself.

Anybody have an insight into this?

Here are the contents of my .htaccess file:

<FilesMatch "\.(html|htm)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

And just in case I also added this to my head.php file:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

By content do you mean assets like images or stylesheets? Or do you mean dynamic content from WP? Like posts, pages, etc (anything from WP admin)?

Grunt/Roots doesn’t do any “caching” that would cause these issues by default. Your web server configuration might though.

By content I mean dynamic, yes. Posts and pages. Basically they are saying when they visit the homepage, they have to refresh to see new posts. Strangely I haven’t experienced this myself. But they are experiencing it.

It could be because you’re logged in to the site and they aren’t? Some caching schemes in WP skip the cache if there’s a session cookie present for example.

I know nothing about the rest of your web server setup or how that .htaccess is working with it (if it is). But it definitely isn’t a Roots issue. Great site btw :smile:

Oops, I should have clarified, it’s other team members who write on the site who are reporting this. So they are all logged in as well. At one point W3 Total Cache was activated, but it’s been deactivated for a while. I wonder if it’s somehow still affecting the site. Thanks for info anyway! I’ll see if MediaTemple, our host, has any insight into it.

PS. Thank you!