Cache control headers not appearing

Sorry, it was a long day – realise I should have been looking at the HTTP headers! So now I see the cache-control header, but I do still have an issue with this. I’ve got expires time set to 3600, but the cache-control header looks like this on pages and posts:

cache-control: no-cache,must-revalidate,max-age=0,public

Any ideas much appreciated.

Many thanks,


Hello @samlangdon

Thank you for reaching our and I am happy to assist you with this.
Can you please share if you are on Apache, Nginx, or Apache+Nginx environment?
Do you have any custom rules in .htaccess/nginx.conf for the cache control/expires header or any server default settings in the upper lever of the website folder structure that is setting these rules?
Can you also please share the website URL?

Hi Marko,

Many thanks for coming back so quickly – I’ve actually just figured out what the problem was. I realise that on the site where I was testing, although I’d stripped out all the plugins et al, I was still logged in as a non-admin user (required for site functionality). WordPress understandably adds non-caching headers for all logged-in users. When I log out, the headers look correct as I set in W3TC browser caching.

Sorry to waste your time – I’ll close the ticket. Hopefully this might help someone else with a similar issue searching through tickets one day!

All the best,



This site will teach you how to build a WordPress website for beginners. We will cover everything from installing WordPress to adding pages, posts, and images to your site. You will learn how to customize your site with themes and plugins, as well as how to market your site online.

Buy WordPress Transfer