[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fHfuaAVaXhxhlROhAaImoWLVcVV4SKzecJI27xv-LnUc":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":23,"download_link":24,"security_score":13,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":37,"analysis":143,"fingerprints":324},"pantheon-advanced-page-cache","Pantheon Advanced Page Cache","2.1.2","Pantheon Systems","https:\u002F\u002Fprofiles.wordpress.org\u002Fgetpantheon\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fcircleci.com\u002Fgh\u002Fpantheon-systems\u002Fpantheon-advanced-page-cache\" rel=\"nofollow ugc\">\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>For sites wanting fine-grained control over how their responses are represented in their edge cache, Pantheon Advanced Page Cache is the golden ticket. Here’s a high-level overview of how the plugin works:\u003C\u002Fp>\n\u003Col>\n\u003Cli>When a response is generated, the plugin uses surrogate keys based on WordPress’ main \u003Ccode>WP_Query\u003C\u002Fcode> object to “tag” the response with identifers for the data used in the response. See the “Adding Custom Keys” section for including your own surrogate keys.\u003C\u002Fli>\n\u003Cli>When WordPress data is modified, the plugin triggers a purge request for the data’s corresponding surrogate keys.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Because of its surrogate key technology, Pantheon Advanced Page Cache empowers WordPress sites with a significantly more accurate cache purge mechanism, and generally higher cache hit rate. It even works with the WordPress REST API.\u003C\u002Fp>\n\u003Cp>Go forth and make awesome! And, once you’ve built something great, \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpantheon-systems\u002Fpantheon-advanced-page-cache\u002Fissues\" rel=\"nofollow ugc\">send us feature requests (or bug reports)\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>How It Works\u003C\u002Fh3>\n\u003Cp>Pantheon Advanced Page Cache makes heavy use of surrogate keys, which enable responses to be “tagged” with identifiers that can then later be used in purge requests. For instance, a home page response might include the \u003Ccode>Surrogate-Key\u003C\u002Fcode> header with these keys:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Surrogate-Key: front home post-43 user-4 post-41 post-9 post-7 post-1 user-1\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Similarly, a \u003Ccode>GET\u003C\u002Fcode> requests to \u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u003C\u002Fcode> might include the \u003Ccode>Surrogate-Key\u003C\u002Fcode> header with these keys:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Surrogate-Key: rest-post-collection rest-post-43 rest-post-43 rest-post-9 rest-post-7 rest-post-1\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Because cached responses include metadata describing the data therein, surrogate keys enable more flexible purging behavior like:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>When a post is updated, clear the cache for the post’s URL, the homepage, any index view the post appears on, and any REST API endpoints the post is present in.\u003C\u002Fli>\n\u003Cli>When an author changes their name, clear the cache for the author’s archive and any post they’ve authored.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>There is a limit to the number of surrogate keys in a response, so we’ve optimized them based on a user’s expectation of a normal WordPress site. See the “Emitted Keys” section for full details on which keys are included, and the “Adding Custom Keys” section following for information on how to add your own.\u003C\u002Fp>\n\u003Ch4>Adding Custom Keys\u003C\u002Fh4>\n\u003Cp>By default, Pantheon Advanced Page Cache generates surrogate keys based on an interpretation of the main \u003Ccode>WP_Query\u003C\u002Fcode> query object. Because WordPress sends headers before the page is rendered, you need to use the \u003Ccode>pantheon_wp_main_query_surrogate_keys\u003C\u002Fcode> filter to include additional surrogate keys for any data present on the page.\u003C\u002Fp>\n\u003Cp>For example, to include surrogate keys for a sidebar rendered on the homepage, you can filter the keys using the \u003Ccode>is_home()\u003C\u002Fcode> template tag:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F**\n * Add surrogate key for the featured content sidebar rendered on the homepage.\n *\u002F\nadd_filter( 'pantheon_wp_main_query_surrogate_keys', function( $keys ){\n    if ( is_home() ) {\n        $keys[] = 'sidebar-home-featured';\n    }\n    return $keys;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then, when sidebars are updated, you can use the \u003Ccode>pantheon_wp_clear_edge_keys()\u003C\u002Fcode> helper function to emit a purge event specific to the surrogate key:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F**\n * Trigger a purge event for the featured content sidebar when widgets are updated.\n *\u002F\nadd_action( 'update_option_sidebars_widgets', function() {\n    pantheon_wp_clear_edge_keys( array( 'sidebar-home-featured' ) );\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Similarly, to include surrogate keys for posts queried on the homepage, you can pre-fetch the posts before the page is rendered:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F**\n * An example of pre-fetching a WP_Query to tag the\n * response with queried data. You'd use `papcx_wp_query()`\n * a second time within your template to use the data.\n *\u002F\nadd_filter( 'pantheon_wp_main_query_surrogate_keys', function( $keys ) {\n    if ( is_home() ) {\n        $query = papcx_wp_query( array(\n            'post_type' => 'page',\n        ) );\n        foreach( $query->posts as $post ) {\n            $keys[] = 'post-' . $post->ID;\n        }\n    }\n    return $keys;\n});\n\n\u002F**\n * Register a 'papc-non-persistent' cache group to cache data\n * in a non-persistent manner. We only want data in this group\n * to be cached within the page request.\n *\u002F\nadd_action( 'init', function(){\n    wp_cache_add_non_persistent_groups( array( 'papc-non-persistent' ) );\n});\n\n\u002F**\n * Helper function to instantiate a WP_Query object only\n * once per page request.\n *\n * @param array $args Arguments to pass to WP_Query.\n * @return WP_Query\n *\u002F\nfunction papcx_wp_query( $args = array() ) {\n    $cache_key = md5( serialize( $args ) );\n    \u002F\u002F WP_Query object will be in cache the second time we use the function.\n    $cache_value = wp_cache_get( $cache_key, 'papc-non-persistent' );\n    if ( false !== $cache_value ) {\n        return $cache_value;\n    }\n    $query = new WP_Query( $args );\n    wp_cache_set( $cache_key, $query, 'papc-non-persistent' );\n    return $query;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Because Pantheon Advanced Page Cache already handles WordPress post purge events, there’s no additional call to \u003Ccode>pantheon_wp_clear_edge_keys()\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Lastly, the \u003Ccode>pantheon_wp_rest_api_surrogate_keys\u003C\u002Fcode> filter lets you filter surrogate keys present in a REST API response.\u003C\u002Fp>\n\u003Ch4>Additional purging by path\u003C\u002Fh4>\n\u003Cp>When a post is published for the first time, the permalink’s path is also purged even if it has no matching keys. This can be further filtered with the \u003Ccode>pantheon_clear_post_path\u003C\u002Fcode> filter.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    add_action('pantheon_clear_post_path', function($paths) {\n        \u002F\u002F Add or remove paths from $paths\n        return $paths\n    }, 10, 3);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Need a bit more power? In addition to \u003Ccode>pantheon_wp_clear_edge_keys()\u003C\u002Fcode>, there are two additional helper functions you can use:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>pantheon_wp_clear_edge_paths( $paths = array() )\u003C\u002Fcode> – Purge cache for one or more paths.\u003C\u002Fli>\n\u003Cli>\u003Ccode>pantheon_wp_clear_edge_all()\u003C\u002Fcode> – Warning! With great power comes great responsibility. Purge the entire cache, but do so wisely.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Ignoring Specific Post Types\u003C\u002Fh4>\n\u003Cp>By default, Pantheon Advanced Page Cache is pretty aggressive in how it clears its surrogate keys. Specifically, any time \u003Ccode>wp_insert_post\u003C\u002Fcode> is called (which can include any time a post of any type is added or updated, even private post types), it will purge a variety of keys including \u003Ccode>home\u003C\u002Fcode>, \u003Ccode>front\u003C\u002Fcode>, \u003Ccode>404\u003C\u002Fcode> and \u003Ccode>feed\u003C\u002Fcode>. To bypass or override this behavior, since 1.5.0 we have a filter allowing an array of post types to ignore to be passed before those caches are purged. By default, the \u003Ccode>revision\u003C\u002Fcode> post type is ignored, but others can be added:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F**\n* Add a custom post type to the ignored post types.\n*\n* @param array $ignored_post_types The array of ignored post types.\n* @return array\n*\u002F\nfunction filter_ignored_posts( $ignored_post_types ) {\n    $ignored_post_types[] = 'my-post-type'; \u002F\u002F Ignore my-post-type from cache purges.\n    return $ignored_post_types;\n}\n\nadd_filter( 'pantheon_purge_post_type_ignored', 'filter_ignored_posts' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This will prevent the cache from being purged if the given post type is updated.\u003C\u002Fp>\n\u003Ch4>Setting the Cache Max Age with a filter\u003C\u002Fh4>\n\u003Cp>The cache max age setting is controlled by the \u003Ca href=\"https:\u002F\u002Fdocs.pantheon.io\u002Fguides\u002Fwordpress-configurations\u002Fwordpress-cache-plugin\" rel=\"nofollow ugc\">Pantheon Page Cache\u003C\u002Fa> admin page. As of 2.0.0, there are three cache age options by default — 1 week, 1 month, 1 year. Pantheon Advanced Page Cache automatically purges the cache of updated and related posts and pages, but you might want to override the cache max age value and set it programmatically. In this case, you can use the \u003Ccode>pantheon_cache_default_max_age\u003C\u002Fcode> filter added in \u003Ca href=\"https:\u002F\u002Fdocs.pantheon.io\u002Fguides\u002Fwordpress-configurations\u002Fwordpress-cache-plugin#override-the-default-max-age\" rel=\"nofollow ugc\">Pantheon MU plugin 1.4.0+\u003C\u002Fa>. For example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'pantheon_cache_default_max_age', function() {\n    return 10 * DAY_IN_SECONDS;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>When the cache max age is filtered in this way, the admin option is disabled and a notice is displayed.\u003C\u002Fp>\n\u003Ch4>Updating the cache max age based on nonces\u003C\u002Fh4>\n\u003Cp>Nonces created on the front-end, often used to secure forms and other data, have a lifetime, and if the cache max age is longer than the nonce lifetime, the nonce may expire before the cache does. To avoid this, you can use the \u003Ccode>pantheon_cache_nonce_lifetime\u003C\u002Fcode> action to set the \u003Ccode>pantheon_cache_default_max_age\u003C\u002Fcode> to less than the nonce lifetime. For example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>do_action( 'pantheon_cache_nonce_lifetime' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>It’s important to wrap your \u003Ccode>do_action\u003C\u002Fcode> in the appropriate conditionals to ensure that the action is only called when necessary and not filtering the cache max age in cases when it’s not necessary. This might mean only running on certain pages or in certain contexts in your code.\u003C\u002Fp>\n\u003Ch3>WP-CLI Commands\u003C\u002Fh3>\n\u003Cp>This plugin implements a variety of \u003Ca href=\"https:\u002F\u002Fwp-cli.org\" rel=\"nofollow ugc\">WP-CLI\u003C\u002Fa> commands. All commands are grouped into the \u003Ccode>wp pantheon cache\u003C\u002Fcode> namespace.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$ wp help pantheon cache\n\nNAME\n\n  wp pantheon cache\n\nDESCRIPTION\n\n  Manage the Pantheon Advanced Page Cache.\n\nSYNOPSIS\n\n  wp pantheon cache \u003Ccommand>\n\nSUBCOMMANDS\n\n  purge-all       Purge the entire page cache.\n  purge-key       Purge one or more surrogate keys from cache.\n  purge-path      Purge one or more paths from cache.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Use \u003Ccode>wp help pantheon cache \u003Ccommand>\u003C\u002Fcode> to learn more about each command.\u003C\u002Fp>\n\u003Ch3>Debugging\u003C\u002Fh3>\n\u003Cp>By default, Pantheon’s infrastructure strips out the \u003Ccode>Surrogate-Key\u003C\u002Fcode> response header before responses are served to clients. The contents of this header can be viewed as \u003Ccode>Surrogate-Key-Raw\u003C\u002Fcode> by adding on a debugging header to the request.\u003C\u002Fp>\n\u003Cp>A direct way of inspecting headers is with \u003Ccode>curl -I\u003C\u002Fcode>. This command will make a request and show just the response headers. Adding \u003Ccode>-H \"Pantheon-Debug:1\"\u003C\u002Fcode> will result in \u003Ccode>Surrogate-Key-Raw\u003C\u002Fcode> being included in the response headers. The complete command looks like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>curl -IH \"Pantheon-Debug:1\" https:\u002F\u002Fscalewp.io\u002F\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Piping to \u003Ccode>grep\u003C\u002Fcode> will filter the output down to just the \u003Ccode>Surrogate-Key-Raw\u003C\u002Fcode> header:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>curl -IH \"Pantheon-Debug:1\" https:\u002F\u002Fscalewp.io\u002F | grep -i Surrogate-Key-Raw\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Tada!\u003C\u002Fp>\n\u003Ch3>Emitted Keys and Purge Events\u003C\u002Fh3>\n\u003Ch4>Emitted Keys on Traditional Views\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Home \u003Ccode>\u002F\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Emits surrogate keys: \u003Ccode>home\u003C\u002Fcode>, \u003Ccode>front\u003C\u002Fcode>, \u003Ccode>post-\u003Cid>\u003C\u002Fcode> (all posts in main query)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Single post \u003Ccode>\u002F2016\u002F10\u002F14\u002Fsurrogate-keys\u002F\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Emits surrogate keys: \u003Ccode>single\u003C\u002Fcode>, \u003Ccode>post-\u003Cid>\u003C\u002Fcode>, \u003Ccode>post-user-\u003Cid>\u003C\u002Fcode>, \u003Ccode>post-term-\u003Cid>\u003C\u002Fcode> (all terms assigned to post)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Author archive \u003Ccode>\u002Fauthor\u002Fpantheon\u002F\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Emits surrogate keys: \u003Ccode>archive\u003C\u002Fcode>, \u003Ccode>user-\u003Cid>\u003C\u002Fcode>, \u003Ccode>post-\u003Cid>\u003C\u002Fcode> (all posts in main query)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Term archive \u003Ccode>\u002Ftag\u002Fcdn\u002F\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Emits surrogate keys: \u003Ccode>archive\u003C\u002Fcode>, \u003Ccode>term-\u003Cid>\u003C\u002Fcode>, \u003Ccode>post-\u003Cid>\u003C\u002Fcode> (all posts in main query)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Day archive \u003Ccode>\u002F2016\u002F10\u002F14\u002F\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Emits surrogate keys: \u003Ccode>archive\u003C\u002Fcode>, \u003Ccode>date\u003C\u002Fcode>, \u003Ccode>post-\u003Cid>\u003C\u002Fcode> (all posts in main query)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Month archive \u003Ccode>\u002F2016\u002F10\u002F\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Emits surrogate keys: \u003Ccode>archive\u003C\u002Fcode>, \u003Ccode>date\u003C\u002Fcode>, \u003Ccode>post-\u003Cid>\u003C\u002Fcode> (all posts in main query)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Year archive \u003Ccode>\u002F2016\u002F\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Emits surrogate keys: \u003Ccode>archive\u003C\u002Fcode>, \u003Ccode>date\u003C\u002Fcode>, \u003Ccode>post-\u003Cid>\u003C\u002Fcode> (all posts in main query)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Search \u003Ccode>\u002F?s=\u003Csearch>\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Emits surrogate keys: \u003Ccode>search\u003C\u002Fcode>, either \u003Ccode>search-results\u003C\u002Fcode> or \u003Ccode>search-no-results\u003C\u002Fcode>, \u003Ccode>post-\u003Cid>\u003C\u002Fcode> (all posts in main query)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Not found (404)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Emits surrogate keys: \u003Ccode>404\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Emitted Keys on REST API Endpoints\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Posts\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u003C\u002Fcode> emits surrogate keys: \u003Ccode>rest-post-collection\u003C\u002Fcode>, \u003Ccode>rest-post-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F\u003Cid>\u003C\u002Fcode> emits surrogate keys: \u003Ccode>rest-post-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Pages\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Fpages\u003C\u002Fcode> emits surrogate keys: \u003Ccode>rest-page-collection\u003C\u002Fcode>, \u003Ccode>rest-post-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Fpages\u002F\u003Cid>\u003C\u002Fcode> emits surrogate keys: \u003Ccode>rest-post-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Categories\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Fcategories\u003C\u002Fcode> emits surrogate keys: \u003Ccode>rest-category-collection\u003C\u002Fcode>, \u003Ccode>rest-term-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Fcategories\u002F\u003Cid>\u003C\u002Fcode> emits surrogate keys: \u003Ccode>rest-term-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Tags\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Ftags\u003C\u002Fcode> emits surrogate keys: \u003Ccode>rest-post_tag-collection\u003C\u002Fcode>, \u003Ccode>rest-term-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Ftags\u002F\u003Cid>\u003C\u002Fcode> emits surrogate keys: \u003Ccode>rest-term-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Comments\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Fcomments\u003C\u002Fcode> emits surrogate keys: \u003Ccode>rest-comment-collection\u003C\u002Fcode>, \u003Ccode>rest-comment-post-\u003Cpost-id>\u003C\u002Fcode>, \u003Ccode>rest-comment-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Fcomments\u002F\u003Cid>\u003C\u002Fcode> emits surrogate keys: \u003Ccode>rest-comment-post-\u003Cpost-id>\u003C\u002Fcode>, \u003Ccode>rest-comment-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Users\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Fusers\u003C\u002Fcode> emits surrogate keys: \u003Ccode>rest-user-collection\u003C\u002Fcode>, \u003Ccode>rest-user-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Fusers\u002F\u003Cid>\u003C\u002Fcode> emits surrogate keys: \u003Ccode>rest-user-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Settings\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Fsettings\u003C\u002Fcode> emits surrogate keys: \u003Ccode>rest-setting-\u003Cname>\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Purge Events\u003C\u002Fh4>\n\u003Cp>Different WordPress actions cause different surrogate keys to be purged, documented here.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>wp_insert_post \u002F transition_post_status \u002F before_delete_post \u002F delete_attachment\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purges surrogate keys: \u003Ccode>home\u003C\u002Fcode>, \u003Ccode>front\u003C\u002Fcode>, \u003Ccode>404\u003C\u002Fcode>, \u003Ccode>post-\u003Cid>\u003C\u002Fcode>, \u003Ccode>user-\u003Cid>\u003C\u002Fcode>, \u003Ccode>term-\u003Cid>\u003C\u002Fcode>, \u003Ccode>rest-\u003Ctype>-collection\u003C\u002Fcode>, \u003Ccode>rest-comment-post-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Affected views: homepage, single post, any page with 404 header, any archive where post displays, author archive, term archive, REST API collection and resource endpoints\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>clean_post_cache\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purges surrogate keys: \u003Ccode>post-\u003Cid>\u003C\u002Fcode>, \u003Ccode>rest-post-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Affected views: single post, REST API resource endpoint\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>created_term \u002F edited_term \u002F delete_term\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purges surrogate keys: \u003Ccode>term-\u003Cid>\u003C\u002Fcode>, \u003Ccode>post-term-\u003Cid>\u003C\u002Fcode>, \u003Ccode>rest-\u003Ctaxonomy>-collection\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Affected views: term archive, any post where the term is assigned, REST API collection and resource endpoints\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>clean_term_cache\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purges surrogate keys: \u003Ccode>term-\u003Cid>\u003C\u002Fcode>, \u003Ccode>rest-term-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Affected views: term archive, REST API resource endpoint\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>wp_insert_comment \u002F transition_comment_status\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purges surrogate keys: \u003Ccode>rest-comment-collection\u003C\u002Fcode>, \u003Ccode>rest-comment-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Affected views: REST API collection and resource endpoints\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>clean_comment_cache\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purges surrogate keys: \u003Ccode>rest-comment-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Affected views: REST API resource endpoint\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>clean_user_cache\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purges surrogate keys: \u003Ccode>user-\u003Cid>\u003C\u002Fcode>, \u003Ccode>rest-user-\u003Cid>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Affected views: author archive, any post where the user is the author\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>updated_option\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Purges surrogate keys: \u003Ccode>rest-setting-\u003Cname>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Affected views: REST API resource endpoint\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Surrogate Keys for taxonomy terms\u003C\u002Fh3>\n\u003Cp>Setting surrogate keys for posts with large numbers of taxonomies (such as WooCommerce products with a large number of global attributes) can suffer from slower queries. Surrogate keys can be skipped for ‘product’ post types’ taxonomy terms (or any other criteria you see fit) with the following filter:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function custom_should_add_terms($should_add_terms, $wp_query) {\n    if ( $wp_query->is_singular( 'product' ) ) {\n        return false;\n    }\n    return $should_add_terms;\n}\nadd_filter('pantheon_should_add_terms', 'custom_should_add_terms', 10, 2);\u003Ch3>Other Filters\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>pantheon_apc_disable_admin_notices\u003C\u002Fh4>\n\u003Cp>Since 2.0.0, Pantheon Advanced Page Cache displays a number of admin notices about your current cache max age value. You can disable these notices with the \u003Ccode>pantheon_apc_disable_admin_notices\u003C\u002Fcode> filter.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'pantheon_apc_disable_admin_notices', '__return_true' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Alternately, the function callback is passed into the \u003Ccode>pantheon_apc_disable_admin_notices\u003C\u002Fcode> filter, allowing you to specify precisely \u003Cem>which\u003C\u002Fem> notice to disable, for example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'pantheon_apc_disable_admin_notices', function( $disable_notices, $callback ) {\n    if ( $callback === '\\\\Pantheon_Advanced_Page_Cache\\\\Admin_Interface\\\\admin_notice_maybe_recommend_higher_max_age' ) {\n        return true;\n    }\n    return $disable_notices;\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The above example would disable \u003Cem>only\u003C\u002Fem> the admin notice recommending a higher cache max age.\u003C\u002Fp>\n\u003Ch3>Plugin Integrations\u003C\u002Fh3>\n\u003Cp>Pantheon Advanced Page Cache integrates with WordPress plugins, including:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-graphql\u002F\" rel=\"ugc\">WPGraphQL\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Contributing\u003C\u002Fh3>\n\u003Cp>See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpantheon-systems\u002Fwp-saml-auth\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md\" rel=\"nofollow ugc\">CONTRIBUTING.md\u003C\u002Fa> for information on contributing.\u003C\u002Fp>\n","Automatically clear related pages from Pantheon's Edge when you update content. High TTL. Fresh content. Visitors never wait.",10000,1039772,100,1,"2025-12-16T18:21:00.000Z","6.9.4","6.4","7.4",[20,21,22],"cache","cdn","pantheon","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpantheon-advanced-page-cache\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpantheon-advanced-page-cache.2.1.2.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":30,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":33,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"getpantheon",8,39000,99,30,93,"2026-04-04T07:16:50.163Z",[38,62,84,104,126],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":16,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":57,"download_link":58,"security_score":59,"vuln_count":60,"unpatched_count":25,"last_vuln_date":61,"fetched_at":27},"speedycache","SpeedyCache – Cache, Optimization, Performance","1.3.7","Softaculous","https:\u002F\u002Fprofiles.wordpress.org\u002Fsoftaculous\u002F","\u003Cp>SpeedyCache is a WordPress cache plugin that helps you improve performance of your WordPress site by caching, minifying, and compressing your website.\u003C\u002Fp>\n\u003Cp>You can find our official documentation at \u003Ca href=\"https:\u002F\u002Fspeedycache.com\u002Fdocs\" rel=\"nofollow ugc\">https:\u002F\u002Fspeedycache.com\u002Fdocs\u003C\u002Fa>. We are also active in our community support forums on wordpress.org if you are one of our free users. Our Premium Support Ticket System is at \u003Ca href=\"https:\u002F\u002Fsoftaculous.deskuss.com\" rel=\"nofollow ugc\">https:\u002F\u002Fsoftaculous.deskuss.com\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fspeedycache.com\" title=\"SpeedyCache Homepage\" rel=\"nofollow ugc\">Home Page\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fsoftaculous.deskuss.com\" title=\"SpeedyCache Support\" rel=\"nofollow ugc\">Support\u003C\u002Fa> | \u003Ca href=\"http:\u002F\u002Fspeedycache.com\u002Fdocs\" title=\"Documents\" rel=\"nofollow ugc\">Documents\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Other than caching SpeedyCache can also do the following:-\u003Cbr \u002F>\n1. It can minify and combine CSS\u002FJS giving even better optimization as it reduces the file sizes and reduces the HTTP requests to the server.\u003Cbr \u002F>\n2. Eliminate render-blocking JavaScript resources helping your website to load faster.\u003Cbr \u002F>\n3. Lazy load images so that the images can be requested only if they come into the viewport.\u003Cbr \u002F>\n4. GZIP files to reduce the size of the file sent from the server.\u003C\u002Fp>\n\u003Ch3>Free Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Caching:\u003C\u002Fstrong> Storing copies of the web pages of the desktop version. Caching happens when a user visits a webpage on your website\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Preload:\u003C\u002Fstrong> Preload makes sure the user always sees the cached version of your website as it periodically creates cache.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Combine CSS:\u003C\u002Fstrong> Combines CSS files present in the header of the page reducing HTTP requests.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Minify CSS:\u003C\u002Fstrong> Reduces the size of the CSS files.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Cache:\u003C\u002Fstrong> Creates cache of post when it gets deleted if preload is enabled.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Combine JS:\u003C\u002Fstrong> Combines JS files present in the header of the page reducing HTTP requests.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GZIP:\u003C\u002Fstrong> It applies GZIP compression on the files hence reducing the file size sent from the server.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Browser Caching:\u003C\u002Fstrong> Caches the website on the browser of the client for repeating visitors.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>DNS-Prefetch:\u003C\u002Fstrong> DNS prefetch is a technique that improves website performance by resolving domain names in advance, before they are needed.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Disable Emojis:\u003C\u002Fstrong> You can remove the emoji inline CSS and wp-emoji-release.min.js.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Exclude:\u003C\u002Fstrong> You can exclude certain Pages, User-Agent, Cookies, CSS, or JS from being cached.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>CDN:\u003C\u002Fstrong> CDN helps improve website speed by placing the static files of your cached on their network of servers hence helping deliver content faster at any point in the world.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Display Swap:\u003C\u002Fstrong> Adds display swap to Google font URL, so when Google font loads the font will stay visible this is enabled by default.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Purge Varnish:\u003C\u002Fstrong> If enabled it will purge Varnish cache, whenever cache from SpeedyCache is purged.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gravatar Cache:\u003C\u002Fstrong> Host Gravatars on your server.\u003C\u002Fli>\n\u003Cli>*Improve Font Rendering:** Adding CSS property of text-rendering to prioritize speed of render of Fonts.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>GET SUPPORT AND PRO FEATURES\u003C\u002Fh3>\n\u003Cp>Get professional support and more features to make your website load faster with \u003Ca href=\"https:\u002F\u002Fspeedycache.com\u002Fpricing\" rel=\"nofollow ugc\">SpeedyCache\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Pro Features:-\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Image Optimization:\u003C\u002Fstrong> Image optimization is a way to convert an image to next-gen image formats like webp which load images faster on the web.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Instant Page:\u003C\u002Fstrong> It loads the page just before user clicks the link, reducing the page load time.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Google Fonts:\u003C\u002Fstrong> Google fonts are also seen as render-blocking so this feature helps load Google fonts asynchronously.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Local Google Fonts:\u003C\u002Fstrong> Cache the Google fonts to be compliant with the GDPR rules.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lazy Load:\u003C\u002Fstrong> Loading all assets at once can make the page load slower hence lazy load helps by only loading certain resources when they come into the viewport.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Minify HTML:\u003C\u002Fstrong> It removes empty lines, line breaks, minifies inline Js And Css, removes comments and space in Tags\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Minify JS:\u003C\u002Fstrong> Reduces JS file size.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Delay JS:\u003C\u002Fstrong> Delays the JS to load on user interaction to reduce or remove the issue of Unused JS.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Combine JS:\u003C\u002Fstrong> Combines JS files placed in the footer section helping reduce HTTP calls.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Render blocking JS:\u003C\u002Fstrong> Before rendering a page the browser parses the HTML to create a DOM tree and if an external script comes it has to stop and wait for the script to execute hence the rendering of the page ends up taking time, hence Render blocking JS feature helps in deferring the load of JS after the render has happened hence the first load get faster.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Delete Cache Stats:\u003C\u002Fstrong> Provides statistics about the cached files of Desktop or Mobile version and combined\u002F minified version of CSS and JS.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Mobile Cache:\u003C\u002Fstrong> Caches the mobile version of your website and shows that version on mobile devices.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Database Cleanup:\u003C\u002Fstrong> Database cleanup helps you free up your database storage from temporary data, trashed contents, and post revisions which may take a lot of your database storage.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>PreConnect:\u003C\u002Fstrong> Preconnect improves website loading times by establishing early connections to third-party domains.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Preload:\u003C\u002Fstrong> Preload improves website performance by downloading resources in advance, before they are needed.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Critical CSS:\u003C\u002Fstrong> Extracts the CSS used by the page in the visible viewport at the time of load.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Unused CSS:\u003C\u002Fstrong> Removes the unused CSS, keeping the CSS that is being used by the paged, which reduces the size of CSS used on the page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Object Cache:\u003C\u002Fstrong> It makes the object to persist by using Redis, to improve availability of the cache.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bloat Remover:\u003C\u002Fstrong> Options to remove unnecessary features of WordPress or WooCommerce.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Image Dimension:\u003C\u002Fstrong> Adds dimensions to the image tag which does not have width or height, to reduce (CLS)Cumulative Layout Shift.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lazy Render HTML:\u003C\u002Fstrong> User can lazy render HTML elements which are not in view-port.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Preload Critical Images:\u003C\u002Fstrong> Preload above-the-fold images to improve LCP(Largest Contentful paint).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Caching\u003C\u002Fh3>\n\u003Cp>SpeedyCache caches the website by creating static files on the server and delivers those static files to most of the users who visit the website, The static files eliminate the heavy load of Querying the database for data hence the load of your website is faster.\u003C\u002Fp>\n\u003Cp>You can preload as many pages as you want, and preloading caches the website in regular intervals of time to reduce the load on the server.\u003C\u002Fp>\n\u003Cp>Deleting Cache on New\u002Fupdating Post.\u003Cbr \u002F>\nYou can decide to delete the cache on the creation or updating of a post so that the cache can always stay updated.\u003C\u002Fp>\n\u003Ch3>Minifying\u002FCombining CSS and JS\u003C\u002Fh3>\n\u003Cp>SpeedyCache helps minify the JS and CSS hence it reduces the file sizes.\u003Cbr \u002F>\nCombining JS combines the CSS and JS fines reducing the file count and making the server handle lesser requests.\u003C\u002Fp>\n\u003Ch3>Cache Lifespan\u003C\u002Fh3>\n\u003Cp>Cache Lifespan is a way to schedule the deletion of cache.\u003C\u002Fp>\n\u003Ch3>Exclude\u003C\u002Fh3>\n\u003Cp>Exclude is a way to prevent SpeedyCache from caching certain files\u002F user-agents\u002F cookies.\u003C\u002Fp>\n\u003Ch3>CDN (Content Delivery Network)\u003C\u002Fh3>\n\u003Cp>CDN helps you host your static content on a distributed network optimized to deliver internet content faster it’s not a replacement to a web host. It caches your files on the network edge and delivers the content to the user through the closest and fastest server.\u003Cbr \u002F>\nSpeedyCache helps you integrate a CDN by rewriting the URLs of the static files you want to host on the CDN or in the Case of Cloudflare it helps with the purging of the cache on the Cloudflare servers.\u003C\u002Fp>\n\u003Ch3>[Pro] Image Optimization\u003C\u002Fh3>\n\u003Cp>Image optimization is a way to convert your images from old formats like JPG and PNG to the new next-gen formats like webp which is designed with the web as the target platform to load images faster. webp images result in smaller and richer images that make the web faster.\u003Cbr \u002F>\nWe provide 3 ways to convert your images to webp.\u003Cbr \u002F>\nGD(a PHP extension), Imagick(a PHP extension), and cwebp(a webp conversion utility from Google).\u003C\u002Fp>\n\u003Ch3>[Pro] Bloat Remover\u003C\u002Fh3>\n\u003Cp>SpeedyCache has 12 bloat removal options which are listed below.\u003Cbr \u002F>\n1. Disable Dashicons\u003Cbr \u002F>\n2. Update Heartbeat\u003Cbr \u002F>\n3. Limit Post Revisions\u003Cbr \u002F>\n4. Disable XML-RPC\u003Cbr \u002F>\n5. Disable Google Fonts\u003Cbr \u002F>\n6. Disable jQuery Migrate\u003Cbr \u002F>\n7. Disable RSS feeds\u003Cbr \u002F>\n8. Disable Gutenberg\u003Cbr \u002F>\n9. Disable OEmbeds\u003Cbr \u002F>\n10. Disable Block Editor CSS\u003Cbr \u002F>\n11. Disable Cart Fragments\u003Cbr \u002F>\n12. Disable WooCommerce Assets\u003C\u002Fp>\n\u003Ch3>[Pro] Database Cleanup\u003C\u002Fh3>\n\u003Cp>Data cleanup cleans the database by removing the following data:-\u003Cbr \u002F>\n1. Post Revisions\u003Cbr \u002F>\n2. Trashed Content\u003Cbr \u002F>\n3. Trashed and Spam comments\u003Cbr \u002F>\n4. Trackbacks and pingbacks\u003Cbr \u002F>\n5. All Transient options\u003Cbr \u002F>\n6. Expired Transient Options\u003C\u002Fp>\n","SpeedyCache is a WordPress cache plugin that helps you improve performance of your WordPress site by caching, minifying, and compressing your website.",600000,3893408,90,28,"2025-12-18T13:42:00.000Z","4.7","7.0",[20,21,54,55,56],"minify","pagespeed","seo","https:\u002F\u002Fspeedycache.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fspeedycache.1.3.7.zip",97,4,"2024-08-16 00:00:00",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":72,"num_ratings":73,"last_updated":74,"tested_up_to":16,"requires_at_least":75,"requires_php":18,"tags":76,"homepage":80,"download_link":81,"security_score":82,"vuln_count":31,"unpatched_count":25,"last_vuln_date":83,"fetched_at":27},"breeze","Breeze Cache","2.4.1","Cloudways","https:\u002F\u002Fprofiles.wordpress.org\u002Fcloudways\u002F","\u003Cp>Breeze is a free, simple (yet powerful) and user-friendly caching plugin developed by the Cloudways team. It offers various options to optimize WordPress site performance at various levels. It works equally great with WordPress, WordPress with WooCommerce and WordPress Multisite.\u003C\u002Fp>\n\u003Cp>Breeze excels in the following areas:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Performance:\u003C\u002Fstrong> Breeze improves website speed and resource optimization. Other features include file level cache system, database cleanup, minification, support for Varnish cache and simplified CDN integration options.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Convenience:\u003C\u002Fstrong> Breeze is easy to install and configure directly from WordPress. Configuring Breeze is easy and most of the default options work well right out of the box. The recommended settings should work on all your WordPress websites seamlessly.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Simplicity:\u003C\u002Fstrong> Breeze is designed to be simple for all users. Just install and activate the plugin and you’ll see the results instantaneously.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>What makes Breeze Cache Plugin awesome is that it comes with builtin support for Varnish. If Varnish is not installed on your servers, Breeze will utilize its internal cache mechanism to boost up your WordPress site performance.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>FEATURES\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Seamless integration with Varnish Cache for efficient content delivery. No manual adjustments needed – all settings come pre-configured for your convenience.\u003C\u002Fli>\n\u003Cli>Optimize performance using Cloudflare’s caching capabilities. No specific Breeze configurations are needed – it works out of the box.\u003C\u002Fli>\n\u003Cli>Effortlessly integrate your preferred Content Delivery Network (CDN) for global content distribution with Breeze instead of using the the CDN providers’ plugins.\u003C\u002Fli>\n\u003Cli>Trim WordPress database bloat effortlessly. Breeze’s Database Options optimize and declutter your database, boosting performance by removing unneeded data like post revisions and trashed content.\u003C\u002Fli>\n\u003Cli>Take command over caching exclusions. With Breeze, you have the power to prevent specific URLs, JS files, and CSS files from being cached.\u003C\u002Fli>\n\u003Cli>Achieve smaller page sizes and faster load times through HTML, CSS, and JavaScript minification, including inline CSS and JavaScript minification.\u003C\u002Fli>\n\u003Cli>Load images when they’re visible, not all at once, for faster webpage performance by implementing lazy loading for images.\u003C\u002Fli>\n\u003Cli>Load JS files with deferred loading, enhancing overall performance.\u003C\u002Fli>\n\u003Cli>Supercharge your site’s speed with Breeze’s advanced preloading features: load fonts early, quicken link clicks, and enhance DNS requests for a seamless user experience.\u003C\u002Fli>\n\u003Cli>Master real-time interactions with Breeze’s Heartbeat API management. Fine-tune notifications, sales data, autosaves, and more to optimize WordPress website performance by adjusting API call frequencies.\u003C\u002Fli>\n\u003Cli>Effortlessly manage Breeze settings using Import\u002FExport. Download your configurations as a .json file for backup, or effortlessly import existing settings to quickly fine-tune your optimization.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Support:\u003C\u002Fstrong> We love to provide support! Post your questions on the WordPress.org support forums, or if you are a Cloudways Customer you may ask questions on the \u003Ca href=\"https:\u002F\u002Fcommunity.cloudways.com\u002F\" rel=\"nofollow ugc\">Cloudways Community Forum\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cp>PHP 7.4, PHP 8 recommended for better performance, WordPress 6.0+\u003C\u002Fp>\n","Breeze is a caching plugin developed by Cloudways. Breeze uses advance caching systems to improve site loading times exponentially.",400000,13597399,72,125,"2026-03-03T09:14:00.000Z","6.0",[20,77,21,78,79],"caching","performance","wp-cache","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbreeze.2.4.1.zip",95,"2026-02-18 15:43:14",{"slug":85,"name":86,"version":87,"author":88,"author_profile":89,"description":90,"short_description":91,"active_installs":92,"downloaded":93,"rating":72,"num_ratings":73,"last_updated":94,"tested_up_to":16,"requires_at_least":95,"requires_php":96,"tags":97,"homepage":100,"download_link":101,"security_score":102,"vuln_count":60,"unpatched_count":25,"last_vuln_date":103,"fetched_at":27},"swift-performance-lite","Swift Performance Lite","2.3.7.3","swte","https:\u002F\u002Fprofiles.wordpress.org\u002Fswte\u002F","\u003Cp>The need for Speed. Cache & Performance plugin for WordPress!\u003Cbr \u002F>\nYou created it, we keep it fast! Did you know that……\u003Cbr \u002F>\nYou Have Just 3 Seconds To Impress Your Visitor. Don’t Lose It By Slow Loading. 95% of customer’s don´t wait if a website takes longer than 5-6 seconds to load!\u003Cbr \u002F>\n\u003Cstrong>Yes, that´s a big number.\u003C\u002Fstrong>\u003Cbr \u002F>\nPeople spend a lot of time and money on building websites and even more on marketing to get traffic… but what happens when those people come to your website and the website is slow to load? You lose sales.\u003Cbr \u002F>\n\u003Cstrong>Slow loading websites lose visitors and sales.\u003C\u002Fstrong>\u003Cbr \u002F>\nBut we have a solution! Say goodbye to slow loading websites and say hello to Swift Performance Lite or Pro!\u003C\u002Fp>\n\u003Cp>Get a complete \u003Ca href=\"https:\u002F\u002Fswiftperformance.io\u002F\" rel=\"nofollow ugc\">Cache & Performance\u003C\u002Fa> plugin for free or as a pro.\u003Cbr \u002F>\nSwift Performance will increase the loading speed of any WordPress website and provides an intelligent, modern caching system. You can even cache AJAX request, dynamic pages, and you can add exceptions (URL, page or content based rules).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Here are some of our most popular functions.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Caching.\u003C\u002Fstrong> Page caching is working out of the box. It is compatible with WooCommerce, bbPress, Cloudflare and Varnish as well. It will boost your performance, improve SEO scores, and create a better user experience.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>CSS and Javascript optimization.\u003C\u002Fstrong> One of the most important thing for performance is optimize the delivery of static resources. Swift Performance not only combines and minifies the CSS files, but generates the Critical CSS for each page automatically. Also Javascripts (even inline scripts) can be combined, minified, and move to footer without any conflict.\u003Cbr \u002F>\nHuge combined javascript files may still be render blocking, however with our unique Async Execute solution, you can not only combine\u002Fminify the scripts, but  you can run them individually as soon as a chunk has been downloaded – which provides incredibly fast JS execution, improves SEO scores and user experience.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Database Optimization.\u003C\u002Fstrong> Keeping your database clean is extremely important for speed. Swift Performance has a built in DB Optimizer to clean expired transients, orphans, duplicated metadata, and spammy comments. You can also schedule every tasks. It has never been easier to keep your WordPress database clean.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Plugin Organizer.\u003C\u002Fstrong> Plugins are a big part of WordPress, however sometimes not properly written plugins can cause performance issues. With Plugin Organizer you can disable plugins on certain pages, and let plugins run only where it is really necessary. You can set URL match, Frontend, Admin Pages, AJAX action rules and exceptions to get the best results.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Why you should install Swift Performance Lite?\u003C\u002Fstrong>\u003Cbr \u002F>\nAfter reading this exhaustive features, you can probably imagine why Swift Performance is the best Cache & Performance solution for WordPress.\u003Cbr \u002F>\nIt is both easy and powerful. Optimizing \u003Cstrong>WordPress performance\u003C\u002Fstrong> is not rocket science anymore. Our unique \u003Cstrong>Setup Wizard\u003C\u002Fstrong> will help you to configure the basic settings and improve WordPress performance.\u003C\u002Fp>\n\u003Cp>We hear your voice! We are continuously improving the plugin, based on customer’s feedback & needs. This is one of the most important factors & mission.\u003Cbr \u002F>\nGive Swift Performance a try.\u003Cbr \u002F>\nWant to unlock more features? \u003Ca href=\"https:\u002F\u002Fswiftperformance.io\u002F\" rel=\"nofollow ugc\">Upgrade to our Pro version.\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Why should you upgrade to Pro?\u003C\u002Fstrong>\u003Cbr \u002F>\nWe added our secret ingredients to make a product for our professional users, the result is Swift Performance Pro.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Compute API.\u003C\u002Fstrong> Compute API will speed up merging process and decrease CPU usage. Compute API also provides advanced JS minify, which should be used if default JS minification cause issues on your site. Compute API also provides Critical Font option, with that you can reduce font icon files’ size. This feature is \u003Cstrong>essential for shared hosting users\u003C\u002Fstrong>, as CPU usage is usually limited for shared hosting plans.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Critical Icon Fonts.\u003C\u002Fstrong> With Critical Fonts feature you can select icons that you are actually using on your site, and generate customized icon font set from them. There is also a feature to search used icons in your theme\u002Fplugins, posts, options, etc. Once you selected the icons that you need, you can enqueue them with one click. If critical icon fonts are enqueued, the plugin will block the original version of the font CSS\u002Ffont files.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Unlimited Image Optimizer.\u003C\u002Fstrong> With Image Optimizer you can optimize every images on your site. It will scan the whole site, and pick up every image from themes, plugins and upload folder. Regarding that Image Optimizer is unlimited (no additional fees), you can save a considerable amount of money. You can select images individually, and run batch optimization. Default image quality can be specified in plugin settings, however you can overwrite it before starting the optimization on selected images.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Schedule DB Optimizer.\u003C\u002Fstrong> Both Pro and Lite versions comes with Database Optimizer. However in Pro you can set scheduled optimization, so you won’t need to do it manually.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Whitelabel.\u003C\u002Fstrong> With whitelabel option you can re-brand Swift Performance. You can change the plugin name, description, author, even the database prefix for the plugin.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Remote Cron.\u003C\u002Fstrong> Pro version provides a Remote Cron option. If you set the remote cron, our API server will call wp-cron.php and run WP cronjobs as real cronjobs.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Extended WooCommerce Features.\u003C\u002Fstrong> With Pro version you can’t just cache, but totally disable cart fragments AJAX calls. Pro also provide session cache, with that you can cache and preload dynamic pages like cart and checkout page for WooCommerce.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Continuous Plugin Updates.\u003C\u002Fstrong> While Swift Performance Lite is maintained as well, these updates are only compatibility updates, however Pro version comes with regular updates which contains new features. Also Pro version has a Beta tester option, if you enable it, you will get updates more frequently.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>FAQ\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>Installation instructions\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Upload the plugin files to the \u002Fwp-content\u002Fplugins\u002F directory, or install the plugin through the WordPress plugins screen directly.\u003C\u002Fli>\n\u003Cli>Activate the plugin through the ‘Plugins’ screen in WordPress\u003C\u002Fli>\n\u003Cli>Run the Setup wizard, or use the Tools->Swift Performance screen to configure the plugin\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Why should I use Swift Performance plugin?\u003C\u002Fstrong>\u003Cbr \u002F>\nSwift Performance is an \u003Cstrong>all-in-one WordPress performance booster plugin.\u003C\u002Fstrong> It provides everything that you need to speed up your WordPress site (replacing several optimization plugins), and improve user’s website experience.\u003Cbr \u002F>\nSwift Performance is already running on 2.000+ websites and based on our customers’ feedback it is the fastest performance plugin on the market.\u003Cbr \u002F>\nWith the Setup Wizard you can easily configure the plugin and in the same time you have power of setup & control of all settings manually.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Strange redirects\u003C\u002Fstrong>\u003Cbr \u002F>\nIf you have strange URLs in your analytics or you can see that the site redirects to an URL like this:\u003Cbr \u002F>\nhttps:\u002F\u002Fwww.yoursite.com\u002Fwp-content\u002Fcache\u002Fyoursite.com\u002Fdesktop\u002Funauthenticated\u002Findex.html\u003Cbr \u002F>\nThis is caused by an improper order of htaccess rules. Probably you are using a force SSL or force www\u002Fnon-www rule in htaccess. Please remove these rules from .htaccess, and insert them in \u003Cstrong>Settings > General > Tweaks > Custom htaccess.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>My website broke\u003C\u002Fstrong>\u003Cbr \u002F>\nIt is possible that one or multiple files generate conflicts when those are merged and\u002For minified. If you notice that you website doesn´t show correctly, you might disable merge scripts and styles.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>High CPU Usage\u003C\u002Fstrong>\u003Cbr \u002F>\nWhile Swift is generating the cache, the CPU usage can be higher than usual. Swift is using more aggressive optimization than any other plugin on the market and it needs some CPU. Usually it isn’t an issue and CPU usage can be increased temporarily, but if it goes back to normal after prebuild finished, you don’t need to worry about it.\u003Cbr \u002F>\nHowever, for large sites on relatively small server it can cause too high CPU usage temporarily. Actually, when the server is using CPU it is always using 100%. High usage means the CPU was used for a longer period.\u003Cbr \u002F>\nIf CPU usage is constantly higher you may need check the configuration. It is recommended to:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Enable Compute API: Settings > General > Compute API\u003C\u002Fli>\n\u003Cli>Enable Optimize Prebuild Only: Settings > Optimization > General > Optimize Prebuild Only\u003C\u002Fli>\n\u003Cli>If you are not satisfied with Optimize Prebuild Only option, enable Optimize in background instead:  Settings > Optimization > General > Optimize in Background.\u003C\u002Fli>\n\u003Cli>Setting a low number of threads as maximum: Settings > Optimization > General > Maximum threads: set this to 2 or 1. 1 will make the pre-build a bit slow, so try 2 first.\u003C\u002Fli>\n\u003Cli>Exclude third party CSS:  Settings > Optimization > Styles> Exclude 3rd Party CSS.\u003C\u002Fli>\n\u003Cli>Disable Generate Critical CSS as generating Critical CSS is the most CPU intensive process: Settings > Optimization > Styles> Generate Critical CSS.\u003C\u002Fli>\n\u003Cli>Exclude third party JS: Settings > Optimization > Scripts > Exclude 3rd Party Scripts.\u003C\u002Fli>\n\u003Cli>Set Cache Expiry Mode to Action based, if you are not using nonce or anything that can expire on frontend: Settings > Caching > General > Cache Expiry Mode: Action based.\u003C\u002Fli>\n\u003Cli>Enable Prebuild Cache Automatically: Settings > Caching > Warmup > Prebuild Cache Automatically.\u003C\u002Fli>\n\u003Cli>Setup lower Limit prebuild speed (recommended to use on limited shared hosting): Settings > Caching > Warmup > Prebuild Speed: Moderate (or Slow).\u003C\u002Fli>\n\u003Cli>Exclude post types that you wouldn’t like to cache. Autoconfig should find most and exclude them automatically but you can can add them manually: Settings > Caching > Exceptions> Exclude Post Types.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cp>Quick Setup, Page Cache, Cache Preloading, Gzip Compression, Browser Caching, Remove Query Strings, Lazyload, Minify CSS, Minify JS, Combine JS\u002FCSS, Async Execute Combined JS, Defer JS, CDN Support, Cloudflare Support, Varnish Support, Mobile Detection, Multisite Compatibility, Woocommerce Friendly, WPML Support, Cache For Logged In Users, Database Optimizer, Import\u002FExport, DNS Prefetch, Critical CSS On The Fly, Plugin Organizer, Appcache, AJAX Cache, Proxy 3rd Party JS, Inline Small Images, Google Analytics Bypass, Heartbeat Control\u003C\u002Fp>\n\u003Ch4>Reviews\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.wpmediamastery.com\u002Fswift-performance-review-and-settings\u002F\" rel=\"nofollow ugc\">Swift Performance Review\u003C\u002Fa> by WPMediaMastery\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwww.alentejowebdesign.nl\u002Fwp-rocket-vs-swift-performance\u002F\" rel=\"nofollow ugc\">Swift Performance Comparison\u003C\u002Fa> by Alentejo Webdesign\u003C\u002Fp>\n\u003Ch3>Easy Setup\u003C\u002Fh3>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FBnOuFja2Klw?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&start=240&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n","Swift Performance is a cache and performance booster plugin. It can speed up your site, improve SEO scores and user experience.",7000,707955,"2026-03-05T08:53:00.000Z","4.0","5.6",[20,21,98,78,99],"optimizer","speed","https:\u002F\u002Fswiftperformance.io","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fswift-performance-lite.zip",96,"2024-12-05 00:00:00",{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":114,"num_ratings":115,"last_updated":116,"tested_up_to":16,"requires_at_least":117,"requires_php":18,"tags":118,"homepage":121,"download_link":122,"security_score":123,"vuln_count":124,"unpatched_count":25,"last_vuln_date":125,"fetched_at":27},"searchpro","BerqWP – Automated All-In-One Page Speed Optimization for Core Web Vitals, Cache, CDN, Images, CSS, and JavaScript","3.1.19","BerqWP","https:\u002F\u002Fprofiles.wordpress.org\u002Fberqwp\u002F","\u003Cp>\u003Cstrong>Eliminate the Need for Multiple Plugins and Automate Performance Optimization Effortlessly.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fberqwp.com\u002F?utm_source=wordpress-repo\" rel=\"nofollow ugc\">BerqWP\u003C\u002Fa> is a 100% automatic \u003Cstrong>All-In-One speed optimization plugin\u003C\u002Fstrong> that ensures your website passes the core web vitals assessment and boosts your website speed score to 90+ for mobile and desktop devices.\u003C\u002Fp>\n\u003Cp>BerqWP automatically applies modern speed optimization techniques recommended by \u003Ca href=\"https:\u002F\u002Fweb.dev\u002Fperformance\" rel=\"nofollow ugc\">Google (web.dev)\u003C\u002Fa>, so your customers and visitors can have the best hassle-free experience.\u003C\u002Fp>\n\u003Cp>Since all popular page speed testing tools use similar methods, you’ll get the same results across tools like \u003Ca href=\"https:\u002F\u002Fpagespeed.web.dev\u002F\" rel=\"nofollow ugc\">Google PageSpeed Insights\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fgtmetrix.com\u002F\" rel=\"nofollow ugc\">GTmetrix\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Ftools.pingdom.com\u002F\" rel=\"nofollow ugc\">Pingdom\u003C\u002Fa>, and others.\u003C\u002Fp>\n\u003Ch3>💙 Why do people love BerqWP?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automatically applies Google (\u003Ca href=\"https:\u002F\u002Fweb.dev\u002Fperformance\" rel=\"nofollow ugc\">web.dev\u003C\u002Fa>) recommended optimizations to your website.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>100% automatic (no configuration needed)\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>100% SEO friendly, no black hat\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Drastically improve Core Web Vitals metrices\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>90+ speed score for mobile & desktop\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Comes with CDN integrated\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Monitor Core Web Vitals in real-time with Web Vitals Analytics\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Works with all popular WordPress themes and plugins\u003C\u002Fstrong> \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Doesn’t break your website\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Built for non-techies\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Get instant support with BerqWP’s AI assistant\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🎯 Real World Results\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>88.6% of BerqWP-optimized websites have an average loading time below 3 seconds.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>BerqWP-optimized websites have an average bounce rate of 4.78% on mobile and 6.18% on desktop.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🔥 Features:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Zero Configuration:\u003C\u002Fstrong> BerqWP comes with optimal settings that work perfectly for 99% of users. It requires no configurations.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Automatic Cache Warmup:\u003C\u002Fstrong> Keep your cache always primed. Automatically generate new cache to ensure every user experiences fast loading times.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Fluid Images:\u003C\u002Fstrong> Automatically delivers container-sized, retina-ready WebP images via BerqWP CDN to boost your site speed and improve user experience across all devices.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Instant Cache:\u003C\u002Fstrong> BerqWP instantly creates a basic optimized cache, while the fully optimized cache is generated in the background on our cloud servers.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Cache Invalidation:\u003C\u002Fstrong> When you make a change on your website, BerqWP automatically detects the change and recreates the cache for that page.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Speculative API:\u003C\u002Fstrong> BerqWP makes returning visitors’ experience instantly fast by using the browser’s Speculative API, loading the webpage literally within milliseconds.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Next-Gen Image Optimization:\u003C\u002Fstrong> Convert images to the efficient WebP format. WebP conversion can reduce image file sizes by up to 85%.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Sandbox Optimization:\u003C\u002Fstrong> Activate sandbox mode to test BerqWP optimizations without impacting actual website visitors.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Lazy Load Images:\u003C\u002Fstrong> Lazy Loading for Images: Load images only when they’re in the viewport, allowing other assets to download faster.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Lazy Load Embeds:\u003C\u002Fstrong> Load Google Maps, YouTube videos, and other embeds only when a user scrolls to them.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Preload Cookie Banner:\u003C\u002Fstrong> Preload the cookie banner as early as possible during page load, even when JavaScript is delayed. Currently supports CookieYes, Real Cookie Banner, CYTRIO, and My Agile Privacy.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Critical CSS:\u003C\u002Fstrong> BerqWP generates critical CSS for each page individually, ensuring a faster web experience by loading inline critical CSS.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>CSS Optimization:\u003C\u002Fstrong> BerqWP prioritizes CSS files without modifying them, preventing the website from breaking.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Fonts Optimization:\u003C\u002Fstrong> BerqWP prioritizes your website’s fonts, freeing up bandwidth to download other important assets on a slow network connection.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>BerqWP CDN\u003C\u002Fstrong>: Deliver static files such as images, CSS, JavaScript, and web fonts at lightning speed from our 300 global points of presence (PoPs) for all websites.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>JavaScript Optimization\u003C\u002Fstrong>: BerqWP offers specialized JavaScript optimization features, including JS delay and JS defer. It provides three distinct JavaScript optimization modes to address Core Web Vitals issues, such as render blocking. BerqWP ensures that your website not only passes Core Web Vitals but also achieves a speed score of 90+ for both mobile and desktop.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Web Vitals Analytics:\u003C\u002Fstrong> With BerqWP, you gain access to our Web Vitals Analytics on the BerqWP website. It enables you to track and monitor core web vitals and the website performance experienced by actual visitors.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Supports Cloudflare Edge Cache:\u003C\u002Fstrong> BerqWP automatically configures the correct cache rules for your website, delivering page cache through Cloudflare’s global network, significantly reducing server response time. Simply connect your Cloudflare account in the plugin settings to get started.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Page Cache Rules:\u003C\u002Fstrong> Define rules to automatically flush a page’s cache when a specific post type is updated.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Much more!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fberqwp.com\u002F?utm_source=wordpress-repo\" rel=\"nofollow ugc\">Get a free license key\u003C\u002Fa> with a BerqWP free account and access all BerqWP Premium features for up to 10 pages.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>How Does BerqWP Work?\u003C\u002Fh3>\n\u003Cp>Unlike traditional speed optimization plugins, BerqWP optimizes your website using our proprietary optimization software called the \u003Cstrong>Photon Engine\u003C\u002Fstrong>. Instead of handling resource-intensive tasks on your web server, which can slow it down, BerqWP processes optimizations externally. This is crucial because heavy tasks like \u003Cstrong>critical CSS generation, WebP conversion, and JavaScript optimization\u003C\u002Fstrong> can overwhelm ordinary servers when performed at scale.\u003C\u002Fp>\n\u003Cp>Here’s how it works:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>When a webpage is added to the \u003Cstrong>Photon Engine\u003C\u002Fstrong> queue, BerqWP fetches the page’s HTML.\u003C\u002Fli>\n\u003Cli>Various optimizations are applied, including HTML minification, image conversion, lazy loading, and JavaScript execution control.\u003C\u002Fli>\n\u003Cli>Once optimized, the Photon Engine stores the \u003Cstrong>fully optimized HTML\u003C\u002Fstrong> in your website as a form of cache.\u003C\u002Fli>\n\u003Cli>To handle traffic before optimization is complete, BerqWP creates an \u003Cstrong>instant cache\u003C\u002Fstrong>, a placeholder cache with minimal optimizations, ensuring fast page loads even before full optimization.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>✅ Advanced Cache for Faster Server Response Time\u003C\u002Fh3>\n\u003Cp>BerqWP utilizes the WordPress \u003Cstrong>advanced-cache.php\u003C\u002Fstrong> file to deliver cached pages as fast as possible. By bypassing unnecessary database queries and reducing the number of files loaded on each request, BerqWP significantly improves \u003Cstrong>server response time (TTFB – Time to First Byte)\u003C\u002Fstrong>, ensuring that your pages load within milliseconds.\u003C\u002Fp>\n\u003Ch3>✅ Core Web Vitals Optimizations\u003C\u002Fh3>\n\u003Cp>BerqWP is designed to help websites achieve high scores on \u003Cstrong>Google’s Core Web Vitals\u003C\u002Fstrong>, improving user experience and SEO rankings.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Largest Contentful Paint (LCP) Optimization\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Image Preloading:\u003C\u002Fstrong> BerqWP detects the LCP element (usually an image or banner) and preloads it to ensure it loads as quickly as possible.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WebP Conversion:\u003C\u002Fstrong> All images are converted into \u003Cstrong>WebP format\u003C\u002Fstrong>, reducing file size by \u003Cstrong>70% – 85%\u003C\u002Fstrong> while maintaining quality.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Efficient Lazy Loading:\u003C\u002Fstrong> Images and background images only load when users scroll, reducing initial load time.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Interaction to Next Paint (INP) & JavaScript Optimization\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>JavaScript Delay:\u003C\u002Fstrong> BerqWP delays JavaScript execution until user interaction (mouse move, click, scroll, or tap), improving initial page load speed.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Execution Modes:\u003C\u002Fstrong> Choose between different JavaScript execution modes tailored to your website’s needs.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Cumulative Layout Shift (CLS) Fixes\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Image Dimension Attributes:\u003C\u002Fstrong> BerqWP ensures all images have width and height attributes, preventing unexpected layout shifts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Font Optimization:\u003C\u002Fstrong> Fonts are loaded efficiently with font-display: swap to eliminate render-blocking issues.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>✅ Critical CSS for Instant Rendering\u003C\u002Fh3>\n\u003Cp>Loading external stylesheets can delay rendering, so BerqWP generates \u003Cstrong>Critical CSS\u003C\u002Fstrong> for each page separately.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>The Critical CSS contains only the styles needed for the visible portion of the page.\u003C\u002Fli>\n\u003Cli>The remaining CSS loads \u003Cstrong>asynchronously\u003C\u002Fstrong>, ensuring fast page rendering without affecting layout or design.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>✅ BerqWP CDN – Global Performance Boost\u003C\u002Fh3>\n\u003Cp>BerqWP integrates with \u003Cstrong>Cloudflare CDN\u003C\u002Fstrong> to ensure static assets (images, CSS, JavaScript, web fonts) load from the nearest server to the visitor’s location. This results in:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Reduced latency\u003C\u002Fstrong> and improved website performance globally.\u003C\u002Fli>\n\u003Cli>Faster \u003Cstrong>Time to First Byte (TTFB)\u003C\u002Fstrong> for all users.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>✅ Font Optimization for CLS Stability\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>BerqWP \u003Cstrong>extracts and preloads\u003C\u002Fstrong> fonts used in above-the-fold content, ensuring faster font rendering.\u003C\u002Fli>\n\u003Cli>Uses font-display: swap to \u003Cstrong>prevent text from disappearing while fonts load\u003C\u002Fstrong>, improving user experience.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>✅ Optimization Modes for Flexibility\u003C\u002Fh3>\n\u003Cp>BerqWP offers four optimization modes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Basic\u003C\u002Fstrong> – Minimal optimizations, ensuring stability.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Medium\u003C\u002Fstrong> – A balance between performance and compatibility.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Blaze\u003C\u002Fstrong> – A balance between performance and User Experience.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Aggressive\u003C\u002Fstrong> – Best for high-speed results\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For best results, we recommend using \u003Cstrong>Aggressive mode\u003C\u002Fstrong>, but switching to a different mode can help if compatibility issues arise.\u003C\u002Fp>\n\u003Ch3>👩‍💻 Real User Success Stories\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>★★★★★ \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fberqwp-beat-nitropack-litespeed-cache-wp-rocket-perfmatters-flyingpress\u002F\" rel=\"ugc\">BerqWP beat NitroPack, LiteSpeed Cache, WP Rocket, Perfmatters, FlyingPress….\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cem>“BerqWP beat NitroPack, LiteSpeed Cache, WP Rocket, Perfmatters, FlyingPress, W3 Total Cache, Super Cache and more. On their homepage you can test your site speed and they will show you the expected Page Speed Insights score. In my experience, once BerqWP plugin is installed, your PSI scores will be higher than their estimate. Connect your Cloudflare free account and get Edge Page Caching. Then set to Aggressive mode and enjoy higher scores without changing a single setting. BerqWP is Voodoo Magic!”\u003C\u002Fem>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>★★★★★ \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fconsistent-100-100-score-great-support\u002F\" rel=\"ugc\">Consistent 100\u002F100 score, Great support\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cem>“I have tried multiple caching software programs, but none of them were so easy to set up, and the results are incomparable! I have reached out several times to the support. They always respond, sometimes you have to wait (decent time), sometimes within a day they respond and solve your issue instantly. Keep up the good work!”\u003C\u002Fem>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>★★★★★ \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fworking-really-great\u002F\" rel=\"ugc\">Working really great\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cem>“Just bought the pro plugin and started using it replacing the 10web io which was great but expensive for me, I was just a little worried whether this one would work ok without conflicting with my current plugins so i tested the free version first and it worked fine. Good customer support as well. I would recommend the pro plugin but try the free one first and then decide.”\u003C\u002Fem>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>★★★★★ \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fa-must-have-532\u002F\" rel=\"ugc\">A must have\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cem>“It’s been a while without writing a review from my side, but BerqWP deserves my 5 stars.It’s incredible easy to use, seriously, a newbie could make it work easily. It improves loading times dramatically, to the point that I don’t really understand what’s the magic behind it (I’m not joking). I always thought that a bit more speed could be achieved at my websites, but not this much. I wasn’t aware that the servers that I use for my sites were capable of this speeds, and I always thought that part of the issue was using medium servers instead of top notch ones.Thank you so much guys! Keep doing your magic, I’ll spread the word about you as I really want you to succeed and last forever. Oh, and I really can’t believe how your plugin can exceed that much what other premium plugins achieve (I tried quite a few).”\u003C\u002Fem>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>★★★★★ \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fplugin-is-incredibly-easy-to-use\u002F\" rel=\"ugc\">Plugin is incredibly easy to use\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cem>“The BerqWP plugin is incredibly easy to use, even for those who are not optimization experts. The setup is intuitive, and it works flawlessly, even on websites built with Elementor Pro, without causing any issues. Additionally, their support team is active and consistently responds to inquiries promptly, instilling confidence in the service.”\u003C\u002Fem>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fsearchpro\u002Freviews\u002F\" rel=\"ugc\">See all reviews\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>⚙️ How to set up BerqWP in 3 Steps?\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Ensure that you have deactivated any speed optimization plugins on your website. Then, install and activate the BerqWP plugin.\u003C\u002Fli>\n\u003Cli>Activate the license key.\u003C\u002Fli>\n\u003Cli>Relax and take it easy. Our automatic cache warm-up mechanism will handle the rest for you.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>📌 Plugin Support:\u003C\u002Fh3>\n\u003Cp>We value both BerqWP Free and Premium users. If you encounter any issues, please enable \u003Cstrong>“Sandbox Mode”\u003C\u002Fstrong> and submit a support ticket. For \u003Cstrong>BerqWP Premium\u003C\u002Fstrong> users, we have a dedicated support center on our website.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Get BerqWP today!\u003C\u002Fstrong>\u003C\u002Fp>\n","Automatically boost your PageSpeed score to 90+ for both mobile & desktop and pass Core Web Vitals for WordPress website without any technical skills.",3000,134886,84,46,"2026-03-15T12:09:00.000Z","5.3",[20,21,119,120,99],"core-web-vitals","critical-css","https:\u002F\u002Fberqwp.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsearchpro.3.1.19.zip",88,5,"2025-09-09 00:00:00",{"slug":127,"name":128,"version":129,"author":130,"author_profile":131,"description":132,"short_description":133,"active_installs":134,"downloaded":135,"rating":13,"num_ratings":14,"last_updated":136,"tested_up_to":137,"requires_at_least":117,"requires_php":80,"tags":138,"homepage":80,"download_link":140,"security_score":141,"vuln_count":14,"unpatched_count":14,"last_vuln_date":142,"fetched_at":27},"gocache-cdn","GoCache","1.3.6","Apiki","https:\u002F\u002Fprofiles.wordpress.org\u002Fapiki\u002F","\u003Cp>Conecta seu WordPress com a GoCache, que acelera de forma inteligente as páginas e arquivos estáticos do site, reduzindo o consumo de recursos no servidor web e banco de dados.\u003Cbr \u002F>\nA GoCache possui tecnologia CDN de última geração, que ajuda na otimização de sua\u003Cbr \u002F>\ninfraestrutura web e oferece uma melhor experiência para os visitantes.\u003C\u002Fp>\n\u003Ch4>Requisitos\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>PHP versão 5.6 ou superior.\u003C\u002Fli>\n\u003Cli>Conta ativa na \u003Ca href=\"http:\u002F\u002Fwww.gocache.com.br\u002F\" title=\"GoCache\" rel=\"nofollow ugc\">GoCache\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n","Acelere seu site e reduza seus custos com cloud.",1000,51858,"2025-01-15T14:02:00.000Z","6.7.5",[20,21,139,78,99],"optimization","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgocache-cdn.1.3.6.zip",70,"2025-10-17 00:00:00",{"attackSurface":144,"codeSignals":309,"taintFlows":317,"riskAssessment":318,"analyzedAt":323},{"hooks":145,"ajaxHandlers":300,"restRoutes":306,"shortcodes":307,"cronEvents":308,"entryPointCount":14,"unprotectedCount":14},[146,152,157,158,160,163,166,169,171,174,178,181,184,187,190,193,197,203,207,211,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296],{"type":147,"name":148,"callback":149,"file":150,"line":151},"filter","pantheon_apc_disable_admin_notices","__return_true","inc\\admin-interface.php",20,{"type":153,"name":154,"callback":155,"file":150,"line":156},"action","admin_notices","anonymous",26,{"type":153,"name":154,"callback":155,"file":150,"line":49},{"type":153,"name":154,"callback":155,"file":150,"line":159},31,{"type":147,"name":161,"callback":155,"file":150,"line":162},"site_status_tests",34,{"type":153,"name":164,"callback":155,"file":150,"line":165},"update_option_pantheon-cache",35,{"type":153,"name":167,"callback":155,"file":150,"line":168},"admin_init",36,{"type":153,"name":154,"callback":155,"file":150,"line":170},37,{"type":153,"name":172,"callback":155,"file":150,"line":173},"admin_enqueue_scripts",38,{"type":147,"name":175,"callback":176,"file":150,"line":177},"pantheon_apc_max_age_header_enabled","__return_false",40,{"type":147,"name":179,"callback":155,"file":150,"line":180},"pantheon_cache_max_age_field_before_html",41,{"type":147,"name":182,"callback":155,"file":150,"line":183},"pantheon_cache_max_age_field_after_html",42,{"type":147,"name":185,"callback":155,"file":150,"line":186},"pantheon_cache_max_age_input",43,{"type":147,"name":188,"callback":155,"file":150,"line":189},"pantheon_cache_max_age_input_allowed_html",44,{"type":153,"name":191,"callback":155,"file":150,"line":192},"pantheon_cache_nonce_lifetime",45,{"type":147,"name":194,"callback":195,"file":150,"line":196},"pantheon_cache_default_max_age","closure",669,{"type":147,"name":198,"callback":199,"priority":200,"file":201,"line":202},"rest_prepare_comment","filter_rest_prepare_comment",10,"inc\\class-emitter.php",107,{"type":147,"name":204,"callback":205,"priority":200,"file":201,"line":206},"rest_prepare_user","filter_rest_prepare_user",109,{"type":147,"name":208,"callback":209,"priority":200,"file":201,"line":210},"rest_pre_get_setting","filter_rest_pre_get_setting",110,{"type":153,"name":212,"callback":213,"file":214,"line":215},"plugins_loaded","pantheon_bootstrap_namespaces","pantheon-advanced-page-cache.php",154,{"type":153,"name":217,"callback":218,"priority":33,"file":214,"line":219},"admin_bar_menu","action_admin_bar_menu",159,{"type":147,"name":221,"callback":222,"file":214,"line":223},"wp","action_wp",165,{"type":153,"name":225,"callback":226,"file":214,"line":227},"rest_api_init","action_rest_api_init",166,{"type":147,"name":229,"callback":230,"priority":200,"file":214,"line":231},"rest_pre_dispatch","filter_rest_pre_dispatch",167,{"type":147,"name":233,"callback":234,"priority":200,"file":214,"line":235},"rest_post_dispatch","filter_rest_post_dispatch",168,{"type":147,"name":237,"callback":238,"file":214,"line":239},"graphql_dataloader_get_model","filter_graphql_dataloader_get_model",170,{"type":147,"name":241,"callback":242,"file":214,"line":243},"graphql_response_headers_to_send","filter_graphql_response_headers_to_send",171,{"type":153,"name":245,"callback":246,"priority":200,"file":214,"line":247},"wp_insert_post","action_wp_insert_post",176,{"type":153,"name":249,"callback":250,"priority":200,"file":214,"line":251},"transition_post_status","action_transition_post_status",177,{"type":153,"name":253,"callback":254,"file":214,"line":255},"before_delete_post","action_before_delete_post",178,{"type":153,"name":257,"callback":258,"file":214,"line":259},"delete_attachment","action_delete_attachment",179,{"type":153,"name":261,"callback":262,"file":214,"line":263},"clean_post_cache","action_clean_post_cache",180,{"type":153,"name":265,"callback":266,"priority":200,"file":214,"line":267},"created_term","action_created_term",181,{"type":153,"name":269,"callback":270,"file":214,"line":271},"edited_term","action_edited_term",182,{"type":153,"name":273,"callback":274,"file":214,"line":275},"delete_term","action_delete_term",183,{"type":153,"name":277,"callback":278,"file":214,"line":279},"clean_term_cache","action_clean_term_cache",184,{"type":153,"name":281,"callback":282,"priority":200,"file":214,"line":283},"wp_insert_comment","action_wp_insert_comment",185,{"type":153,"name":285,"callback":286,"priority":200,"file":214,"line":287},"transition_comment_status","action_transition_comment_status",186,{"type":153,"name":289,"callback":290,"file":214,"line":291},"clean_comment_cache","action_clean_comment_cache",187,{"type":153,"name":293,"callback":294,"file":214,"line":295},"clean_user_cache","action_clean_user_cache",188,{"type":153,"name":297,"callback":298,"file":214,"line":299},"updated_option","action_updated_option",189,[301],{"action":302,"nopriv":303,"callback":304,"hasNonce":303,"hasCapCheck":303,"file":214,"line":305},"pantheon_clear_url_cache",false,"handle_ajax_clear_url_cache",160,[],[],[],{"dangerousFunctions":310,"sqlUsage":311,"outputEscaping":313,"fileOperations":25,"externalRequests":25,"nonceChecks":14,"capabilityChecks":124,"bundledLibraries":316},[],{"prepared":25,"raw":25,"locations":312},[],{"escaped":314,"rawEcho":25,"locations":315},7,[],[],[],{"summary":319,"deductions":320},"The pantheon-advanced-page-cache plugin v2.1.2 exhibits a generally strong security posture, with no known vulnerabilities or CVEs recorded, indicating a history of stable and secure releases. The code analysis reveals excellent adherence to security best practices, including 100% proper output escaping and the exclusive use of prepared statements for SQL queries. The absence of dangerous functions, file operations, and external HTTP requests further bolsters its security.  However, a significant concern arises from the presence of one AJAX handler that lacks authentication checks. This unprotected entry point represents a direct attack vector that could be exploited if it processes user-supplied data without proper authorization, potentially leading to unintended actions or information disclosure. While the overall absence of taint flows and critical vulnerabilities is positive, this single unprotected AJAX handler is a notable weakness that demands immediate attention.",[321],{"reason":322,"points":31},"Unprotected AJAX handler","2026-03-16T17:45:41.466Z",{"wat":325,"direct":334},{"assetPaths":326,"generatorPatterns":329,"scriptPaths":330,"versionParams":331},[327,328],"\u002Fwp-content\u002Fplugins\u002Fpantheon-advanced-page-cache\u002Fdist\u002Fjs\u002Fbundle.js","\u002Fwp-content\u002Fplugins\u002Fpantheon-advanced-page-cache\u002Fdist\u002Fcss\u002Fbundle.css",[],[327],[332,333],"pantheon-advanced-page-cache\u002Fdist\u002Fjs\u002Fbundle.js?ver=","pantheon-advanced-page-cache\u002Fdist\u002Fcss\u002Fbundle.css?ver=",{"cssClasses":335,"htmlComments":337,"htmlAttributes":342,"restEndpoints":344,"jsGlobals":346,"shortcodeOutput":348},[336],"pantheon-apc-settings",[5,338,339,340,341],"APPC is disabled by PANTHEON_APPC_ALWAYS_OFF","APC is disabled by PANTHEON_APPC_DISABLE","This is likely due to the cache being served from Pantheon's Edge, and the cache not having been cleared by the Pantheon MU plugin","This notice is for users of Pantheon's Advanced Page Cache, but not the Pantheon MU plugin. The Pantheon MU plugin is the canonical way to manage Advanced Page Cache settings. Please consider installing it.",[343],"data-pantheon-apc-url",[345],"\u002Fwp-json\u002Fpantheon-advanced-page-cache\u002Fv1\u002Fadmin",[347],"pantheon_apc_admin_ajax_object",[]]