[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fjfVY87H2PQOGEI86iuRZaWT9djOQ3ZofM10eOXBmS_4":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":17,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":39,"analysis":134,"fingerprints":309},"cache-warmer","Cache Warmer","1.3.8","TMM Technology","https:\u002F\u002Fprofiles.wordpress.org\u002Ftmmtechnology\u002F","\u003Cp>Visits website pages to warm (create) the cache if you have any caching solutions configured.\u003C\u002Fp>\n\u003Ch3>Settings\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Configure cache warming entry points and the depth of the warming;\u003C\u002Fli>\n\u003Cli>Add all public site posts as entry points;\u003C\u002Fli>\n\u003Cli>Add entry point sites sitemaps as entry points;\u003C\u002Fli>\n\u003Cli>Select which types of assets to load, with 4 checkboxes: scripts, styles, images, fonts;\u003C\u002Fli>\n\u003Cli>Set custom URL params (?foo=bar);\u003C\u002Fli>\n\u003Cli>Set custom user agent;\u003C\u002Fli>\n\u003Cli>Set custom request headers;\u003C\u002Fli>\n\u003Cli>Set custom cookies;\u003C\u002Fli>\n\u003Cli>Set connection timeout;\u003C\u002Fli>\n\u003Cli>Set speed limit (pages to visit per minute);\u003C\u002Fli>\n\u003Cli>Autorun Interval: to run the warming each N minutes;\u003C\u002Fli>\n\u003Cli>Exclude pages (by substring or regex);\u003C\u002Fli>\n\u003Cli>Rewrite URLs to HTTPS;\u003C\u002Fli>\n\u003Cli>Visit pages second time without custom URL params (if they are set);\u003C\u002Fli>\n\u003Cli>Warm-up posts (on their publication and edit (Can be seen in Logs -> Triggered)):\n\u003Cul>\n\u003Cli>Set custom posts warming interval.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Use object cache for tree storage, when it’s available.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Additional\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Adds a graph to your dashboard with page load time before and after the warming (2 lines) per day.\u003C\u002Fli>\n\u003Cli>Cleans up Action Scheduler log after itself (older than 30 days for failed actions, and older than 2 days for completed actions).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Connect to paid service for warming from external global servers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Run from code\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Start: \u003Ccode>\\Cache_Warmer\\AJAX::start_warm_up( false );\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Stop: \u003Ccode>\\Cache_Warmer\\AJAX::stop_warm_up( false );\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Run from WP CLI\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Start: \u003Ccode>wp cache-warmer start\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Stop: \u003Ccode>wp cache-warmer stop\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Required PHP extensions\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>json\u003C\u002Fli>\n\u003Cli>simplexml (optional)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Bug reports \u002F Questions \u002F Suggestions\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"mailto:wp@tmm.ventures\" rel=\"nofollow ugc\">wp@tmm.ventures\u003C\u002Fa>\u003C\u002Fp>\n","Visits website pages to warm (create) the cache if you have any caching solutions configured.",1000,19047,96,19,"2024-11-17T21:34:00.000Z","6.7.0","","7.4",[20,21,22,23,24],"cache","cloudflare","object-cache","redis","warming","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcache-warmer.1.3.8.zip",92,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"tmmtechnology",2,1060,89,30,86,"2026-04-04T06:21:05.104Z",[40,63,80,98,113],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":51,"last_updated":52,"tested_up_to":53,"requires_at_least":54,"requires_php":55,"tags":56,"homepage":60,"download_link":61,"security_score":62,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"redis-cache","Redis Object Cache","2.7.0","Till Krüss","https:\u002F\u002Fprofiles.wordpress.org\u002Ftillkruess\u002F","\u003Cp>A persistent object cache backend powered by Redis®¹. Supports \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpredis\u002Fpredis\u002F\" rel=\"nofollow ugc\">Predis\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fphpredis\u002Fphpredis\" rel=\"nofollow ugc\">PhpRedis (PECL)\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Frelaycache.com\" rel=\"nofollow ugc\">Relay\u003C\u002Fa>, replication, sentinels, clustering and \u003Ca href=\"https:\u002F\u002Fwp-cli.org\u002F\" rel=\"nofollow ugc\">WP-CLI\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>To adjust the connection parameters, prefix cache keys or configure replication\u002Fclustering, see the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frhubarbgroup\u002Fredis-cache\u002F#configuration\" rel=\"nofollow ugc\">configuration options\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Object Cache Pro\u003C\u002Fh4>\n\u003Cp>A \u003Cstrong>business class\u003C\u002Fstrong> Redis®¹ object cache backend. Truly reliable, highly optimized, fully customizable and with a dedicated engineer when you most need it.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Rewritten for raw performance\u003C\u002Fli>\n\u003Cli>100% WordPress API compliant\u003C\u002Fli>\n\u003Cli>Faster serialization and compression\u003C\u002Fli>\n\u003Cli>Easy debugging & logging\u003C\u002Fli>\n\u003Cli>Cache prefetching and analytics\u003C\u002Fli>\n\u003Cli>Fully unit tested (100% code coverage)\u003C\u002Fli>\n\u003Cli>Secure connections with TLS\u003C\u002Fli>\n\u003Cli>Health checks via WordPress & WP CLI\u003C\u002Fli>\n\u003Cli>Optimized for WooCommerce, Jetpack & Yoast SEO\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Learn more about \u003Ca href=\"https:\u002F\u002Fobjectcache.pro\u002F?ref=oss&utm_source=wp-plugin&utm_medium=readme\" rel=\"nofollow ugc\">Object Cache Pro\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>¹ Redis is a registered trademark of Redis Ltd. Any rights therein are reserved to Redis Ltd. Any use by Redis Object Cache is for referential purposes only and does not indicate any sponsorship, endorsement or affiliation between Redis and Redis Object Cache.\u003C\u002Fp>\n\u003Ch3>Troubleshooting\u003C\u002Fh3>\n\u003Cp>Answers to common questions and troubleshooting of common errors can be found in the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frhubarbgroup\u002Fredis-cache\u002Fblob\u002Fdevelop\u002FFAQ.md\" rel=\"nofollow ugc\">FAQ\u003C\u002Fa>. Reading these is always faster than waiting for a response in the support forums.\u003C\u002Fp>\n\u003Ch3>Configuration\u003C\u002Fh3>\n\u003Cp>The plugin comes with vast set of \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frhubarbgroup\u002Fredis-cache\u002F#configuration\" rel=\"nofollow ugc\">configuration options\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frhubarbgroup\u002Fredis-cache\u002F#connections\" rel=\"nofollow ugc\">connection examples\u003C\u002Fa>. Advanced users may consult \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frhubarbgroup\u002Fredis-cache\u002Fblob\u002Fdevelop\u002FREADME.md#scaling\" rel=\"nofollow ugc\">Scaling and replication\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>WP CLI commands\u003C\u002Fh3>\n\u003Cp>Redis Object Cache has various WP CLI commands, for more information run \u003Ccode>wp help redis\u003C\u002Fcode> after installing the plugin.\u003C\u002Fp>\n","A persistent object cache backend powered by Redis®¹. Supports Predis, PhpRedis, Relay, replication, sentinels, clustering and WP-CLI.",300000,15949526,88,172,"2026-01-29T16:40:00.000Z","6.9.4","4.6","7.2",[57,22,58,23,59],"caching","performance","relay","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fredis-cache\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fredis-cache.2.7.0.zip",100,{"slug":64,"name":65,"version":66,"author":67,"author_profile":68,"description":69,"short_description":70,"active_installs":71,"downloaded":72,"rating":73,"num_ratings":74,"last_updated":75,"tested_up_to":53,"requires_at_least":76,"requires_php":18,"tags":77,"homepage":78,"download_link":79,"security_score":62,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"wp-redis","WP Redis","1.4.7","Pantheon Systems","https:\u002F\u002Fprofiles.wordpress.org\u002Fgetpantheon\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fcircleci.com\u002Fgh\u002Fpantheon-systems\u002Fwp-redis\u002Ftree\u002Fmaster\" rel=\"nofollow ugc\">\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>For sites concerned with high traffic, speed for logged-in users, or dynamic pageloads, a high-speed and persistent object cache is a must. You also need something that can scale across multiple instances of your application, so using local file caches or APC are out.\u003C\u002Fp>\n\u003Cp>Redis is a great answer, and one we bundle on the Pantheon platform. This is our plugin for integrating with the cache, but you can use it on any self-hosted WordPress site if you have Redis. Install from \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-redis\u002F\" rel=\"ugc\">WordPress.org\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpantheon-systems\u002Fwp-redis\" rel=\"nofollow ugc\">Github\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>It’s important to note that a persistent object cache isn’t a panacea – a page load with 2,000 Redis calls can be 2 full seconds of object cache transactions. Make sure you use the object cache wisely: keep to a sensible number of keys, don’t store a huge amount of data on each key, and avoid stampeding frontend writes and deletes.\u003C\u002Fp>\n\u003Cp>Go forth and make awesome! And, once you’ve built something great, \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpantheon-systems\u002Fwp-redis\u002Fissues\" rel=\"nofollow ugc\">send us feature requests (or bug reports)\u003C\u002Fa>. Take a look at the wiki for \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpantheon-systems\u002Fwp-redis\u002Fwiki\" rel=\"nofollow ugc\">useful code snippets and other tips\u003C\u002Fa>.\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 redis\u003C\u002Fcode> namespace.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$ wp help redis\n\nNAME\n\n  wp redis\n\nSYNOPSIS\n\n  wp redis \u003Ccommand>\n\nSUBCOMMANDS\n\n  cli         Launch redis-cli using Redis configuration for WordPress\n  debug       Debug object cache hit \u002F miss ratio for any page URL.\n  enable      Enable WP Redis by creating the symlink for object-cache.php\n  info        Provide details on the Redis connection.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Use \u003Ccode>wp help redis \u003Ccommand>\u003C\u002Fcode> to learn more about each command.\u003C\u002Fp>\n\u003Ch3>Contributing\u003C\u002Fh3>\n\u003Cp>See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpantheon-systems\u002Fwp-redis\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md\" rel=\"nofollow ugc\">CONTRIBUTING.md\u003C\u002Fa> for information on contributing.\u003C\u002Fp>\n","Back your WP Object Cache with Redis, a high-performance in-memory storage backend.",10000,959582,94,20,"2025-12-11T19:38:00.000Z","3.0.1",[20,22,23],"http:\u002F\u002Fgithub.com\u002Fpantheon-systems\u002Fwp-redis\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-redis.1.4.7.zip",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":11,"downloaded":88,"rating":62,"num_ratings":89,"last_updated":90,"tested_up_to":53,"requires_at_least":91,"requires_php":18,"tags":92,"homepage":96,"download_link":97,"security_score":62,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"atec-cache-info","atec Cache Info","1.8.31","docjojo","https:\u002F\u002Fprofiles.wordpress.org\u002Fdocjojo\u002F","\u003Cp>atec Cache Info gives you a complete overview of all system-level caching used by your WordPress installation.\u003C\u002Fp>\n\u003Cp>It detects and displays:\u003Cbr \u002F>\n* OPcache status\u003Cbr \u002F>\n* PHP JIT support\u003Cbr \u002F>\n* Object Cache type and health\u003Cbr \u002F>\n* APCu presence and statistics\u003Cbr \u002F>\n* Redis and Memcached availability\u003Cbr \u002F>\n* SQLite Object Cache support (if any)\u003C\u002Fp>\n\u003Cp>Use this plugin to diagnose performance bottlenecks, verify cache setup, and ensure that all critical caches are working correctly.\u003C\u002Fp>\n\u003Ch3>Specifications\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Compatible with: APCu, Memcached, Redis, SQLite\u003C\u002Fli>\n\u003Cli>Displays runtime statistics and limits\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Third-Party Services\u003C\u002Fh3>\n\u003Ch3>Integrity check\u003C\u002Fh3>\n\u003Cp>Once, when activating the plugin, an integrity check is requested from our server – if you give your permission.\u003Cbr \u002F>\nSource: https:\u002F\u002Fatecplugins.com\u002F\u003Cbr \u002F>\nPrivacy policy: https:\u002F\u002Fatecplugins.com\u002Fprivacy-policy\u002F\u003C\u002Fp>\n","Show system cache status and statistics for OPcache, JIT, Object Cache, APCu, Redis, Memcached, and SQLite Cache.",61810,9,"2025-12-18T09:31:00.000Z","4.9",[93,94,22,95,23],"apcu","memcached","opcache","https:\u002F\u002Fatecplugins.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fatec-cache-info.1.8.31.zip",{"slug":99,"name":42,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":105,"downloaded":106,"rating":74,"num_ratings":107,"last_updated":108,"tested_up_to":109,"requires_at_least":76,"requires_php":17,"tags":110,"homepage":17,"download_link":111,"security_score":112,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"redis-object-cache","1.0","Eric Mann","https:\u002F\u002Fprofiles.wordpress.org\u002Fericmann\u002F","\u003Cp>Object caching backend using Redis for persistent storage. Implements all methods specified by WordPress Core. Supports multisite.\u003C\u002Fp>\n\u003Cp>The plugin supports both the \u003Ca href=\"http:\u002F\u002Fpecl.php.net\u002Fpackage\u002Fredis\" rel=\"nofollow ugc\">Redis PECL module\u003C\u002Fa> and the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnrk\u002Fpredis\" rel=\"nofollow ugc\">Predis library\u003C\u002Fa> to connect to Redis.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>You must install the Redis server before using this plugin!\u003C\u002Fstrong>\u003C\u002Fp>\n","A persistent object cache powered by Redis.",10,5346,1,"2014-03-30T05:52:00.000Z","3.9.40",[20,22,23],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fredis-object-cache.1.0.zip",85,{"slug":114,"name":115,"version":116,"author":117,"author_profile":118,"description":119,"short_description":120,"active_installs":121,"downloaded":122,"rating":50,"num_ratings":123,"last_updated":124,"tested_up_to":125,"requires_at_least":126,"requires_php":17,"tags":127,"homepage":132,"download_link":133,"security_score":62,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"nginx-helper","Nginx Helper","2.3.5","rtCamp","https:\u002F\u002Fprofiles.wordpress.org\u002Frtcamp\u002F","\u003Col>\n\u003Cli>Removes \u003Ccode>index.php\u003C\u002Fcode> from permalinks when using WordPress with nginx.\u003C\u002Fli>\n\u003Cli>Adds support for purging redis-cache when used as full-page cache created using \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopenresty\u002Fsrcache-nginx-module#caching-with-redis\" rel=\"nofollow ugc\">nginx-srcache-module\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Adds support for nginx fastcgi_cache_purge & proxy_cache_purge directive from \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFRiCKLE\u002Fngx_cache_purge\" title=\"ngx_cache_purge module\" rel=\"nofollow ugc\">module\u003C\u002Fa>. Provides settings so you can customize purging rules.\u003C\u002Fli>\n\u003Cli>Adds support for nginx \u003Ccode>map{..}\u003C\u002Fcode> on a WordPress-multisite network installation. Using it, Nginx can serve PHP file uploads even if PHP\u002FMySQL crashes. Please check the tutorial list below for related Nginx configurations.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Tutorials\u003C\u002Fh4>\n\u003Cp>You will need to follow one or more tutorials below to get desired functionality:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Feasyengine.io\u002Fwordpress-nginx\u002Ftutorials\u002Fmultisite\u002Fstatic-files-handling\u002F\" rel=\"nofollow ugc\">Nginx Map + WordPress-Multisite + Static Files Handling\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Feasyengine.io\u002Fwordpress-nginx\u002Ftutorials\u002Fsingle-site\u002Ffastcgi-cache-with-purging\u002F\" rel=\"nofollow ugc\">Nginx + WordPress + fastcgi_purge_cache\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Feasyengine.io\u002Fwordpress-nginx\u002Ftutorials\u002Fmultisite\u002Fsubdirectories\u002Ffastcgi-cache-with-purging\u002F\" rel=\"nofollow ugc\">Nginx + WordPress-Multisite (Subdirectories) + fastcgi_purge_cache\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Feasyengine.io\u002Fwordpress-nginx\u002Ftutorials\u002Fmultisite\u002Fsubdomains\u002Ffastcgi-cache-with-purging\u002F\" rel=\"nofollow ugc\">Nginx + WordPress-Multisite (Subdomains\u002Fdomain-mapping) + fastcgi_purge_cache\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Feasyengine.io\u002Fwordpress-nginx\u002Ftutorials\u002F\" rel=\"nofollow ugc\">Other WordPress-Nginx Tutorials\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Cleans nginx's fastcgi\u002Fproxy cache or redis-cache whenever a post is edited\u002Fpublished. Also does a few more things.",100000,6119694,31,"2025-08-21T06:49:00.000Z","6.8.5","3.0",[128,129,130,131,41],"cache-purge","fastcgi","nginx","permalinks","https:\u002F\u002Frtcamp.com\u002Fnginx-helper\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnginx-helper.2.3.5.zip",{"attackSurface":135,"codeSignals":200,"taintFlows":263,"riskAssessment":301,"analyzedAt":308},{"hooks":136,"ajaxHandlers":196,"restRoutes":197,"shortcodes":198,"cronEvents":199,"entryPointCount":27,"unprotectedCount":27},[137,143,146,150,153,158,160,165,169,173,175,179,181,184,186,188,192],{"type":138,"name":139,"callback":140,"file":141,"line":142},"action","plugins_loaded","closure","cache-warmer.php",90,{"type":138,"name":144,"callback":140,"file":141,"line":145},"admin_notices",106,{"type":138,"name":147,"callback":148,"file":141,"line":149},"wp_dashboard_setup","setup_dashboard_widget",145,{"type":138,"name":151,"callback":140,"file":141,"line":152},"init",153,{"type":138,"name":154,"callback":155,"file":156,"line":157},"admin_menu","init_menu","src\\class-admin-menu.php",21,{"type":138,"name":144,"callback":144,"file":156,"line":159},29,{"type":138,"name":161,"callback":162,"file":163,"line":164},"cache-warmer-start-from-cli","start_warm_up","src\\class-extend-wp-cli.php",24,{"type":138,"name":166,"callback":167,"file":163,"line":168},"cache-warmer-stop-from-cli","stop_warm_up",25,{"type":138,"name":170,"callback":171,"file":163,"line":172},"action_scheduler_init","anonymous",42,{"type":138,"name":170,"callback":171,"file":163,"line":174},60,{"type":138,"name":151,"callback":176,"file":177,"line":178},"schedule","src\\class-intervals-scheduler.php",32,{"type":138,"name":170,"callback":180,"file":177,"line":35},"fix_missing_intervals",{"type":138,"name":151,"callback":140,"file":182,"line":183},"src\\class-migrations.php",57,{"type":138,"name":170,"callback":171,"file":182,"line":185},120,{"type":138,"name":170,"callback":171,"file":182,"line":187},135,{"type":138,"name":189,"callback":190,"priority":105,"file":191,"line":36},"transition_post_status","populate_enqueue","src\\posts-warming\\class-posts-enqueue.php",{"type":138,"name":193,"callback":194,"file":195,"line":164},"add_meta_boxes","add_custom_box","src\\representation\\class-publish-box.php",[],[],[],[],{"dangerousFunctions":201,"sqlUsage":202,"outputEscaping":222,"fileOperations":27,"externalRequests":257,"nonceChecks":258,"capabilityChecks":27,"bundledLibraries":259},[],{"prepared":203,"raw":204,"locations":205},50,5,[206,210,214,216,219],{"file":207,"line":208,"context":209},"src\\class-databases.php",362,"$wpdb->query() with variable interpolation",{"file":211,"line":212,"context":213},"src\\class-logging.php",266,"$wpdb->get_results() with variable interpolation",{"file":211,"line":215,"context":209},867,{"file":217,"line":218,"context":209},"src\\templates\\admin\\screens\\main.php",117,{"file":220,"line":221,"context":209},"uninstall.php",41,{"escaped":223,"rawEcho":224,"locations":225},137,15,[226,229,231,233,235,237,240,241,243,245,247,248,250,252,254],{"file":211,"line":227,"context":228},545,"raw output",{"file":211,"line":230,"context":228},552,{"file":211,"line":232,"context":228},580,{"file":211,"line":234,"context":228},597,{"file":211,"line":236,"context":228},655,{"file":238,"line":239,"context":228},"src\\class-settings-export.php",104,{"file":195,"line":73,"context":228},{"file":242,"line":164,"context":228},"src\\templates\\admin\\screens\\logs.php",{"file":242,"line":244,"context":228},26,{"file":242,"line":246,"context":228},27,{"file":242,"line":221,"context":228},{"file":242,"line":249,"context":228},55,{"file":217,"line":251,"context":228},28,{"file":217,"line":253,"context":228},164,{"file":255,"line":256,"context":228},"src\\templates\\admin\\widget.php",18,4,14,[260],{"name":261,"version":28,"knownCves":262},"Guzzle",[],[264,290],{"entryPoint":265,"graph":266,"unsanitizedCount":244,"severity":289},"save (src\\class-ajax.php:60)",{"nodes":267,"edges":285},[268,274,278],{"id":269,"type":270,"label":271,"file":272,"line":273},"n0","source","$_REQUEST (x26)","src\\class-ajax.php",68,{"id":275,"type":276,"label":277,"file":272,"line":273},"n1","transform","→ set()",{"id":279,"type":280,"label":281,"file":282,"line":283,"wp_function":284},"n2","sink","update_option() [Settings Manipulation]","src\\class-options.php",206,"update_option",[286,288],{"from":269,"to":275,"sanitized":287},false,{"from":275,"to":279,"sanitized":287},"low",{"entryPoint":291,"graph":292,"unsanitizedCount":246,"severity":289},"\u003Cclass-ajax> (src\\class-ajax.php:0)",{"nodes":293,"edges":298},[294,296,297],{"id":269,"type":270,"label":295,"file":272,"line":273},"$_REQUEST (x27)",{"id":275,"type":276,"label":277,"file":272,"line":273},{"id":279,"type":280,"label":281,"file":282,"line":283,"wp_function":284},[299,300],{"from":269,"to":275,"sanitized":287},{"from":275,"to":279,"sanitized":287},{"summary":302,"deductions":303},"The 'cache-warmer' plugin, version 1.3.8, exhibits a generally strong security posture based on the provided static analysis. The absence of any known CVEs in its history, coupled with a robust implementation of prepared statements for SQL queries and proper output escaping, suggests a history of secure development practices. The low number of taint flows and the lack of any identified vulnerabilities in this category are also positive indicators.  However, a notable concern arises from the complete absence of capability checks across all entry points. While the static analysis reports zero unprotected entry points, the lack of explicit capability checks means that any entry point, if discovered or if the static analysis is incomplete, would not have proper authorization enforced. The two flows with unsanitized paths, although not flagged as critical or high severity, warrant attention as they represent potential avenues for unexpected behavior or unintended data handling. Overall, the plugin demonstrates good technical security implementation in critical areas, but the lack of capability checks across its interface presents a potential, albeit currently abstract, risk.",[304,306],{"reason":305,"points":105},"No capability checks implemented",{"reason":307,"points":204},"Taint flows with unsanitized paths detected","2026-03-16T18:57:15.569Z",{"wat":310,"direct":337},{"assetPaths":311,"generatorPatterns":323,"scriptPaths":324,"versionParams":325},[312,313,314,315,316,317,318,319,320,321,322],"\u002Fwp-content\u002Fplugins\u002Fcache-warmer\u002Fassets\u002Fcss\u002Fcache-warmer-logs.css","\u002Fwp-content\u002Fplugins\u002Fcache-warmer\u002Fassets\u002Fcss\u002Fcache-warmer-main.css","\u002Fwp-content\u002Fplugins\u002Fcache-warmer\u002Fassets\u002Fcss\u002Fcache-warmer-settings.css","\u002Fwp-content\u002Fplugins\u002Fcache-warmer\u002Fassets\u002Fcss\u002Fcache-warmer-post.css","\u002Fwp-content\u002Fplugins\u002Fcache-warmer\u002Fassets\u002Fcss\u002Fcache-warmer-dashboard.css","\u002Fwp-content\u002Fplugins\u002Fcache-warmer\u002Fassets\u002Fjs\u002Fcache-warmer-logs.js","\u002Fwp-content\u002Fplugins\u002Fcache-warmer\u002Fassets\u002Fjs\u002Fcache-warmer-main.js","\u002Fwp-content\u002Fplugins\u002Fcache-warmer\u002Fassets\u002Fjs\u002Fcache-warmer-settings.js","\u002Fwp-content\u002Fplugins\u002Fcache-warmer\u002Fassets\u002Fjs\u002Fcache-warmer-post.js","\u002Fwp-content\u002Fplugins\u002Fcache-warmer\u002Fassets\u002Fjs\u002Fcache-warmer-dashboard.js","\u002Fwp-content\u002Fplugins\u002Fcache-warmer\u002Fassets\u002Fjs\u002Fcache-warmer-utils.js",[],[317,318,319,320,321,322],[326,327,328,329,330,331,332,333,334,335,336],"cache-warmer\u002Fassets\u002Fcss\u002Fcache-warmer-logs.css?ver=","cache-warmer\u002Fassets\u002Fcss\u002Fcache-warmer-main.css?ver=","cache-warmer\u002Fassets\u002Fcss\u002Fcache-warmer-settings.css?ver=","cache-warmer\u002Fassets\u002Fcss\u002Fcache-warmer-post.css?ver=","cache-warmer\u002Fassets\u002Fcss\u002Fcache-warmer-dashboard.css?ver=","cache-warmer\u002Fassets\u002Fjs\u002Fcache-warmer-logs.js?ver=","cache-warmer\u002Fassets\u002Fjs\u002Fcache-warmer-main.js?ver=","cache-warmer\u002Fassets\u002Fjs\u002Fcache-warmer-settings.js?ver=","cache-warmer\u002Fassets\u002Fjs\u002Fcache-warmer-post.js?ver=","cache-warmer\u002Fassets\u002Fjs\u002Fcache-warmer-dashboard.js?ver=","cache-warmer\u002Fassets\u002Fjs\u002Fcache-warmer-utils.js?ver=",{"cssClasses":338,"htmlComments":345,"htmlAttributes":347,"restEndpoints":351,"jsGlobals":352,"shortcodeOutput":354},[339,340,341,342,343,344],"cache-warmer-logs-page","cache-warmer-main-page","cache-warmer-settings-page","cache-warmer-post-page","cache-warmer-dashboard-widget","cache-warmer-notice",[346],"\u003C!-- Cache Warmer Settings -->",[348,349,350],"data-cache-warmer-ajax-url","data-cache-warmer-nonce","data-cache-warmer-action",[],[353],"cacheWarmer",[]]