Support » Plugin: ZenCache » need to stop caching home page

  • I have php code on my homepage template that randomly displays a different image as folks arrive at that page.

    With Zen Cache enabled, the home page only refreshes at the set Expiration Time and the image will not change until then. With Zen Cache disabled, the image changes with each refresh of the home page.

    Below is an example of code that is added to the end of the homepage when Zen Cache is on:

    <!– ZenCache file path: /cache/zencache/cache/http/www-porkopolis-org/index.html –>
    <!– ZenCache file built for (http://www.porkopolis.org/) in 0.21304 seconds, on: Feb 4th, 2016 @ 2:05 pm EST. –>
    <!– This ZenCache file will auto-expire (and be rebuilt) on: Feb 11th, 2016 @ 2:05 pm EST (based on your configured expiration time). –>
    <!– ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ –>
    <!– ZenCache fully functional 🙂 Cache file served for (http://www.porkopolis.org/) in 0.00047 seconds, on: Feb 4th, 2016 @ 7:09 pm UTC. –>

    I have tried adding each of these individually in the URI Exclusion Patterns with no effect.

    /index.html
    /index.htm
    /index.php
    /index.*
    /index*
    /?p=11057 (the page ID)
    /*11057
    /*11057*
    *11057

    Is there a solution for this?

    https://wordpress.org/plugins/zencache/

Viewing 14 replies - 1 through 14 (of 14 total)
  • The explanation is available here: http://zencache.com/kb-article/watered-down-regex-syntax/

    My interpretation of that is that you need to include the following line in your URI Exclusions:
    ^http://www.porkopolis.org/$

    Let me know if this works!

    Thread Starter Dano at Porkopolis

    (@porkopolis)

    Thanks, KTS915, your suggestion did not help. I did look at that page you suggested and saw this:

    For instance, if I want to exclude only the home page URI:
    ^/$

    That did not work either. Some of what is on the Watered-Down Regex Syntax page is a bit above my pay grade. I’d appreciate any other suggestions, otherwise I’ll keep trying…

    ^/$ should have the effect of preventing ANY caching on your site (because every page has a /)

    How about trying this:
    ^porkopolis.org/$

    Thread Starter Dano at Porkopolis

    (@porkopolis)

    Still no luck.

    I’ve been thinking about what other settings, plugins, etc might be effecting this. I have no other caching plugins….

    I don’t think it’s your site. I’ve just been testing this myself, and I think targeting the home page is inherently problematic unless it’s in a subfolder.

    How about trying this:
    ^org/$

    Thread Starter Dano at Porkopolis

    (@porkopolis)

    Still no effect…

    I’m not clear on the “subfolder” you mention, but on the Settings/General section of my site it says:

    WordPress Address (URL) http://www.porkopolis.org/pigcity7
    Site Address (URL) http://www.porkopolis.org
    Enter the address here if you want your site home page to be different from your WordPress installation directory.

    Ah, well, if the home page is http://www.porkopolis.org/pigcity7, then you certainly ought to be able to do this:
    ^/pigcity7$

    Thread Starter Dano at Porkopolis

    (@porkopolis)

    🙁 still no good.

    Well KTS915, Thanks for all your help!! I need to get back to some other work that this pulled me away from. If your testing comes up with anything else, I’d appreciate an update. I’ll keep watching this support page.

    Try adding this right at the top of your (child) theme’s header.php file:

    <?php
    if( is_home() || is_front_page() ) {
        define('DONOTCACHEPAGE', TRUE);
    }
    ?>

    Make sure there are no spaces before that first <?php tag. Then save the file, and clear your cache (or just clear the home page).

    Thread Starter Dano at Porkopolis

    (@porkopolis)

    Still not successful. Thanks a bunch for all the suggestions, KTS915, but feel like we’re shooting in the dark. I’m going back to the Zen Cache knowledge base and read up on making an mu-plugin for this.

    I’d still like to hear from the Developers or someone who actually solved this problem.

    @porkopolis,

    Actually, the last post I left here was not a guess. It’s a fix that should work not only for Zen Cache but for any caching plugin.

    In fact, it was the recommended method for Zen Cache before the devs created the “watered-down regex” capabilities for URI Exclusions.

    I have tried it, and it still works. If it’s not working for you, then I suspect you have a plugin or theme conflict.

    Thread Starter Dano at Porkopolis

    (@porkopolis)

    Correctamundo, KTS915! I did find a conflict with a forgotten mu-plugin and deleted that. Then, your suggested code worked as you said, except that all my blog archive pages as well as my static home page were stopped from caching. I just wanted to have the home page cache stopped.

    This is what was showing up at the bottom of both blog and home page in page view:

    <!– ZenCache is NOT caching this page, because the PHP constant DONOTCACHEPAGE has been set at runtime. Perhaps by WordPress itself, or by one of your themes/plugins. This usually means that you have a theme/plugin intentionally disabling the cache on this page; and it’s usually for a very good reason. –>

    I read up some in the WP Codex about <?php is_home(); ?> and <?php is_front_page(); ?> and opted instead for ‘is_page_template ( string|array $template = ” )’. I have been testing this

    <?php
    if(is_page_template ( $template = 'homepage.php' ) ) {
        define('DONOTCACHEPAGE', TRUE);
    }
    ?>

    because I created a specific home page template in my child theme. The above code inserted as you described, into the top of my child theme’s header.php file is now working only on the static home page. I’ll try this for a while and test some more, but I think we got a Bingo, thanks!

    Piani

    (@webbmasterpianise)

    I also need to prevent browsers to cashe the front page of my site since i use a blog layout that updates often. Have you tested more and can you confirm that the sollution above is what i should use?

    Or are we taking about different cashing? Zencash vs Browser cashe?

    Thanks for advice.

    KTS915

    (@kts915)

    @piani, yes, you are talking about something different. If you are concerned about browser caching, you need to see what you have in your .htaccess file.

Viewing 14 replies - 1 through 14 (of 14 total)
  • The topic ‘need to stop caching home page’ is closed to new replies.