Hello @andreas-2013
Thank you for reaching out and I am happy to assist you with this.
As you can see in the W3 Total Cache settings, Performance>Page Cache>Cache Preload, you can enable the cache preload, choose the update interval (The number of seconds to wait before creating another set of cached pages.), Pages per interval (the number of pages to create per batch) and the sitemap URL filed where you should put the sitemap of the website or the custom sitemap with the URLs that should be preloaded.
What the feature does is this:
– Check the last offset
– Check how many URLs are allowed to be processed per run
– Fetch all URLs from sitemap (even nested sitemaps work)
– Loop through a set of URLs to visit them
If the end of the list is reached, it will start from the beginning in the next run
You can rely on the wp-cron or create a custom cron on your server.
If your cron job is running every day instead of every minute, that means only one run can be done per day. If the cron job is set to every minute and the interval is set to a higher value, the plugin will check if the interval specified in the configuration has past since the last time.
So that means if the cron job is not set to every minute, the priming could be delayed, especially if you set it to 1 hour and priming to 1,5 hour
Best is to have the cron job interval smaller than the priming interval and the priming interval should be equal to or a multiplied value of the cronjob interval
There is no option to purge the cache in a specific time, however, you can call w3tc_flush_all(); programmatically via the custom cron at the specific time
As for the cache-control, you can disable the Browser Cache options in Performance>Browser Cache for all types in the General section or you can do it individually for HTML, JS&CSS, Media&Other files.
I hope this helps!
Thanks!
Hi Marko,
thank you very much for your reply!
Please give me some time, I’ll get back to you, when I’ve tested these features.
Andreas
Hi Marko,
I encountered problems during my first test. The preload stopped at some point, I didn’t use an external cron job. I have about 8000 pages from a custom post type, and only about 3000 pages were preloaded. I’ve set the interval to 90 seconds and pages per interval to 30 (in WP Fastest Cache I set the interval to 60, and it run without problems). Do you have an idea, what causes the problem?
I tested the cache control header in browser. “no-store” is disabled, and the browser bfcache works without problems now. That means, when I click the back- or forward-arrows in the browser, the page is there immediately without without loading, like a static image. But when I use the links in the menu, to reach the same pages, it takes a while longer and I see for a short time a loading bar. Could you tell me please, why there is a difference in loading time?
In general, W3 Total Cache seems to take a little longer to load pages than WP Fastest Cache, because there are always the short loading bars. Is there a way to improve this in the settings?
Hello @andreas-2013
Sorry for the late replly.
The interval of 90 seconds and pages per interval of 30 is a lot for a server to handle. I am not sure how the other plugin works in this case
This depends on a lot of things, including your server resources, the caching method you are using, and any additional rules that you may have, that are not W3TC rules, or conflict with other plugins,s, and the same drop-ins.
Without the website URL, I am not able to determine what may be causing log loading, and you are welcome to share any evidence for this, and please let me know what you mean by short-loading bars
Thanks!