Support » Plugin: WP Engine Advanced Cache » Setting Cache on Category Pages

  • Hi, I have a unique scenario that maybe you can help with….

    I have a site (served by WPE, of course) that contains a collection of pages that are very server intensive. (They are intensive for reasons beyond my control — they make several calls to an external APIs.) I would like to get these pages behind a longer cache.

    These pages are constructed via a custom taxonomy — let’s call the taxonomy “colors.” Every time a user adds a new term to the taxonomy (“blue”, “red”), wordpress creates a new page (“/colors/blue/”, “/colors/red/”). These pages are served via a standard template file (taxonomy-colors.php). I want only these pages (within that category and served at /colors/) to receive a longer cache.

    So that’s the scenario. Here are a few questions:

    1) I don’t think your plugin can “get” to these pages, correct? I see you can set a cache length on pages, but I think those are “Pages” in the purely WordPress sense. Correct assumption?

    2) If #1 is correct, do you foresee adding this level of granularity any time soon? (I could imagine, for instance, a basic option for setting caching on category pages, which is basically what these are.)

    3) If #2 is no, then I have a different thought. I’m looking at the codebase of the plugin… I see you are basically identifying the page type and setting its cache header. Do you foresee any problems with me adjusting your plugin to accommodate my circumstance? I realize you cannot “officially sanction” that… but I’m more just wondering if you had thoughts on what sorta of obstacles I might encounter.

    And since you are intimately knowledgable of this topic, I might as well throw caution to the wind and ask… do you have thoughts on any other solutions?
    I might have to abandon WPE if I cannot figure this out.

    Thanks for your help!

Viewing 1 replies (of 1 total)
  • Plugin Author Ethan Kennedy

    (@ethankennedy)

    Hey!

    That would be correct, the plugin is set up to look only for pages/posts that are set up as post types in WordPress so custom pages won’t work.

    It’s not a priority at the moment, I had some ideas to add the ability to add a list to the plugin of custom URLs but I am concerned with the possible performance implications that could have.

    Nope! I think that would work fine. Depending on how the page is rendering, you could probably just rip out the portion that sets the header on a hook and set it. If you want to hardcode it you could even do it on https://codex.wordpress.org/Plugin_API/Action_Reference/send_headers . The only reason I use the hook I do is because I am relying on the WordPress object to be loaded to identify the post type, so if you’re relying on some custom logic requiring database information then send headers probably won’t work.

    I’d probably just set the header in the template file personally unless there is a need to customize it more than once. https://github.com/EthanKennedy/wpe-advanced-cache/blob/master/inc/wpeac-core.php#L106, so just hard linking a value instead of using the variable should do a similar job.

    I hope that helps! I’d also recommend something like a CDN if these pages are static. CloudFlare or fastly could help take some load off the backend, and with pagerules you could cache them basically forever.

Viewing 1 replies (of 1 total)
  • You must be logged in to reply to this topic.