[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fjDEu6iykilBBNQsbv_n_UqOQ2Vr7kDA31mwbYNrfdCk":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":25,"download_link":26,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":39,"analysis":151,"fingerprints":556},"yasakani-cache","YASAKANI Cache","3.9.7","enomoto celtislab","https:\u002F\u002Fprofiles.wordpress.org\u002Fenomoto-celtislab\u002F","\u003Cp>This plug-in stores the Page HTML \u002F REST json data that dynamic WordPress blog has been generated as a output cache by SQLite. After the cache, it can respond to the request to the ultra-high speed by using a cache without starting the WordPress of processing.\u003Cbr \u002F>\nIn the case of REST API, caching is also performed for internal requests made by logged-in block editors, etc.\u003C\u002Fp>\n\u003Ch4>Simple Setup\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Enable the cache, select the cache expiration.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Cache exclusion condition\u003C\u002Fh4>\n\u003Cp>Pages\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Login user\u003C\u002Fli>\n\u003Cli>Home\u002FFront_page, Fixed Page, Post, Custom Post and WP embedded content card only. Other than this page does not cache.\u003C\u002Fli>\n\u003Cli>Page you want to exclude from the cache, you can specify from the edit screen of the meta box.\u003C\u002Fli>\n\u003Cli>Pages that are protected by a password does not cache.\u003C\u002Fli>\n\u003Cli>PHP error (excluding E_NOTICE, E_STRICT, E_DEPRECATED) occurred page does not cache.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>REST API\u003C\u002Fp>\n\u003Cul>\n\u003Cli>REST method is other than GET or OPTIONS\u003C\u002Fli>\n\u003Cli>REST no data response\u003C\u002Fli>\n\u003Cli>REST route endpoint you want to exclude from the cache, you can specify from the edit screen of the meta box.\u003C\u002Fli>\n\u003Cli>REST error response\u003C\u002Fli>\n\u003Cli>PHP error (excluding E_NOTICE, E_STRICT, E_DEPRECATED) occurred page does not cache.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Cache Clear\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Clear the cache of automatically corresponding post in the articles and editing changes and the like of the comment.\u003C\u002Fli>\n\u003Cli>The cache is a plugins and widgets such as a change is not clear. If you make these configuration changes, etc., should be cleared to use “Cache Clear” button.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Log\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>When you activate the log, you can easily check the behavior and execution time of the cache. (slower only a little)\u003C\u002Fli>\n\u003Cli>SQLite database keeps logs for one week.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>To further speed-up\u003C\u002Fh4>\n\u003Cp>Page cache processing of this plugin is processing in PHP and SQLite.\u003Cbr \u002F>\nYou can also use a faster Expert mode. To use Expert mode you need to edit ‘php.ini’ and add auto_prepend_file.\u003Cbr \u002F>\nOr you can edit the .htaccess file and use mod_deflate and mod_expires or mod_pagespeed etc to make it faster.\u003Cbr \u002F>\nIf you do .htaccess edit, edit from the well studied. Do not forget that you back up your .htaccess file.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fplugin-load-filter\u002F\" rel=\"ugc\">plugin load filter\u003C\u002Fa> is also recommended for speed you do not use the cache.\u003C\u002Fp>\n\u003Cp>For more detailed information, there is an introduction page.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fceltislab.net\u002Fen\u002Fwp-yasakani-cache\u002F\" title=\"Documentation\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fp>\n","Simple ! Easy !! Ultra-high-speed !!!. Definitive edition of the page cache. And Bot and Security Utility.",10,8958,100,7,"2025-06-30T06:04:00.000Z","6.8.5","6.0","8.1",[20,21,22,23,24],"botblock","cache","rest","security","sqlite","https:\u002F\u002Fceltislab.net\u002Fen\u002Fwp-yasakani-cache\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fyasakani-cache.zip",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},"enomoto-celtislab",12,9070,92,30,88,"2026-04-04T21:55:38.873Z",[40,66,90,114,134],{"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":61,"download_link":62,"security_score":63,"vuln_count":64,"unpatched_count":27,"last_vuln_date":65,"fetched_at":29},"advanced-access-manager","Advanced Access Manager – Access Governance for WordPress","7.1.0","AAM Plugin","https:\u002F\u002Fprofiles.wordpress.org\u002Fvasyltech\u002F","\u003Cp>\u003Cstrong>Advanced Access Manager (AAM)\u003C\u002Fstrong> introduces \u003Cstrong>Access Governance for WordPress\u003C\u002Fstrong> – a systematic approach to securing your site by controlling who can access what, when, and why.\u003C\u002Fp>\n\u003Cp>Most WordPress security plugins focus on external threats like malware, firewalls, and brute-force attacks. AAM addresses the \u003Cstrong>root cause of the #1 WordPress security risk: broken access controls, excessive privileges, and misconfigured roles\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Instead of reacting to attacks, AAM helps you \u003Cstrong>design security into your WordPress site\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>What Access Governance means in practice\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Mitigate Broken Access Controls\u003C\u002Fstrong>. Ensure roles, users, and permissions are correctly configured to prevent unauthorized actions and privilege escalation.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Eliminate Excessive Privileges\u003C\u002Fstrong>. Identify overpowered users and reduce access to critical functionality, admin areas, and APIs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Secure Content by Design\u003C\u002Fstrong>. Control who can view, edit, publish, or delete posts, pages, media, taxonomies, and custom content types.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Govern Access with Policy\u003C\u002Fstrong>. Define access rules using JSON Access Policies — portable, auditable, and automation-friendly.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Build Custom Security Logic\u003C\u002Fstrong>. Use the AAM PHP Framework to create advanced, programmatic access controls tailored to your application.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Security Audit\u003C\u002Fstrong>. Detect risky role assignments, misconfigurations, and compromised accounts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Granular Access Control\u003C\u002Fstrong>. Manage permissions for any user, role, or visitor with precision.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Role & Capability Management\u003C\u002Fstrong>. Customize WordPress roles and capabilities beyond defaults.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin & Menu Control\u003C\u002Fstrong>. Restrict dashboard areas and tailor the admin experience per user or role.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>API & Endpoint Protection\u003C\u002Fstrong>. Secure REST and XML-RPC access with fine-grained controls.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Modern Authentication Options\u003C\u002Fstrong>. Support passwordless and secure login flows.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer-Ready Framework\u003C\u002Fstrong>. Extend WordPress security using AAM’s powerful SDK.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Ad-Free & Transparent\u003C\u002Fstrong>. – No ads, no tracking, no bloat.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Built for Security-Conscious WordPress Users\u003C\u002Fh4>\n\u003Cp>AAM is trusted by \u003Cstrong>150,000+ websites\u003C\u002Fstrong> to deliver enterprise-grade access control without unnecessary complexity. Whether you’re a site owner, agency, developer, or security professional, AAM gives you \u003Cstrong>full control over WordPress access — by design\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Most core features are free. Advanced capabilities are available via premium add-ons.\u003C\u002Fp>\n\u003Cp>No hidden tracking. No data collection. No unwanted changes.\u003Cbr \u002F>\nJust \u003Cstrong>security you can reason about, audit, and trust\u003C\u002Fstrong>.\u003C\u002Fp>\n","Access Governance for WordPress. Control roles, users, content, admin areas, and APIs to prevent broken access controls and excessive privileges.",100000,7384389,84,420,"2026-03-08T15:53:00.000Z","6.9.4","5.8.0","5.6.0",[57,58,59,23,60],"access-governance","api-security","restricted-content","user-roles","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-access-manager.7.1.0.zip",95,11,"2024-03-20 00:00:00",{"slug":67,"name":68,"version":69,"author":70,"author_profile":71,"description":72,"short_description":73,"active_installs":74,"downloaded":75,"rating":76,"num_ratings":77,"last_updated":78,"tested_up_to":53,"requires_at_least":79,"requires_php":80,"tags":81,"homepage":86,"download_link":87,"security_score":13,"vuln_count":88,"unpatched_count":27,"last_vuln_date":89,"fetched_at":29},"restricted-site-access","Restricted Site Access","7.6.1","10up","https:\u002F\u002Fprofiles.wordpress.org\u002F10up\u002F","\u003Cp>Limit access your site to visitors who are logged in or accessing the site from a set of specified IP addresses. Send restricted visitors to the log in page, redirect them, or display a message or page. A great solution for Extranets, publicly hosted Intranets, or parallel development \u002F staging sites.\u003C\u002Fp>\n\u003Cp>Adds a number of new configuration options to the Reading settings panel as well as the Network Settings panel in multisite. From these panels you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Enable or disable site restriction\u003C\u002Fli>\n\u003Cli>Change the restriction behavior: send to login, redirect, display a message, display a page\u003C\u002Fli>\n\u003Cli>Add IP addresses to an unrestricted list, including ranges\u003C\u002Fli>\n\u003Cli>Quickly add your current IP to the unrestricted list\u003C\u002Fli>\n\u003Cli>Customize the redirect location, including an option to send them to the same requested path and set the HTTP status code for SEO friendliness\u003C\u002Fli>\n\u003Cli>Define a simple message to show restricted visitors, or select a page to show them – great for “coming soon” teasers!\u003C\u002Fli>\n\u003C\u002Ful>\n","Limit access to visitors who are logged in or allowed by IP addresses. Includes many options for handling blocked visitors.",20000,1120245,96,62,"2026-01-04T21:22:00.000Z","6.6","7.4",[82,83,84,85,23],"limited","permissions","privacy","restrict","https:\u002F\u002F10up.com\u002Fplugins\u002Frestricted-site-access-wordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frestricted-site-access.7.6.1.zip",1,"2022-08-31 00:00:00",{"slug":91,"name":92,"version":93,"author":94,"author_profile":95,"description":96,"short_description":97,"active_installs":98,"downloaded":99,"rating":100,"num_ratings":101,"last_updated":102,"tested_up_to":16,"requires_at_least":103,"requires_php":104,"tags":105,"homepage":109,"download_link":110,"security_score":111,"vuln_count":112,"unpatched_count":27,"last_vuln_date":113,"fetched_at":29},"wp-rest-cache","WP REST Cache","2026.1.3","Acato","https:\u002F\u002Fprofiles.wordpress.org\u002Facato\u002F","\u003Cp>Are you facing speed issues, using the WordPress REST API? This plugin will allow WordPress to cache the responses of the REST API, making it much faster.\u003C\u002Fp>\n\u003Cp>This plugin offers:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Caching of all default WordPress REST API \u003Ccode>GET\u003C\u002Fcode>-endpoints.\u003C\u002Fli>\n\u003Cli>Caching of (custom) post type endpoints.\u003C\u002Fli>\n\u003Cli>Caching of (custom) taxonomy endpoints.\u003C\u002Fli>\n\u003Cli>Automated flushing of caches if (some of) its contents are edited.\u003C\u002Fli>\n\u003Cli>Manual flushing of all caches.\u003C\u002Fli>\n\u003Cli>Manual flushing of specific caches.\u003C\u002Fli>\n\u003Cli>A counter how many times a cache has been retrieved.\u003C\u002Fli>\n\u003Cli>Specifying after what time the cache should be timed out.\u003C\u002Fli>\n\u003Cli>Registering custom endpoints for caching.\u003C\u002Fli>\n\u003Cli>Automatic cache regeneration.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>WP REST Cache Pro\u003C\u002Fstrong>\u003Cbr \u002F>\nFor more advanced features, check out our \u003Ca href=\"https:\u002F\u002Fplugins.acato.nl\u002F\" rel=\"nofollow ugc\">WP REST Cache Pro\u003C\u002Fa> plugin:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Configure custom endpoints for caching through the wp-admin interface.\u003C\u002Fli>\n\u003Cli>Configure relationships within endpoints.\u003C\u002Fli>\n\u003Cli>No coding required.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Installation from within WordPress\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Visit ‘Plugins > Add New’ (or ‘My Sites > Network Admin > Plugins > Add New’ if you are on a multisite installation).\u003C\u002Fli>\n\u003Cli>Search for ‘WP REST Cache’.\u003C\u002Fli>\n\u003Cli>Activate the WP REST Cache plugin through the ‘Plugins’ menu in WordPress.\u003C\u002Fli>\n\u003Cli>Go to “after activation” below.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Installation manually\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Upload the \u003Ccode>wp-rest-cache\u003C\u002Fcode> folder to the \u003Ccode>\u002Fwp-content\u002Fplugins\u002F\u003C\u002Fcode> directory.\u003C\u002Fli>\n\u003Cli>Activate the WP REST Cache plugin through the ‘Plugins’ menu in WordPress.\u003C\u002Fli>\n\u003Cli>Go to “after activation” below.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>After activation\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Visit ‘Plugins > Must-Use’ (or ‘My Sites > Network Admin > Plugins > Must-Use’ if you are on a multisite installation).\u003C\u002Fli>\n\u003Cli>Check if the ‘WP REST Cache – Must-Use Plugin’ is there, if not copy the file \u003Ccode>wp-rest-cache.php\u003C\u002Fcode> from the \u003Ccode>\u002Fsources\u003C\u002Fcode> folder of the WP REST Cache Plugin to the folder \u003Ccode>\u002Fwp-content\u002Fmu-plugins\u002F\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Optionally:\u003C\u002Fstrong>\u003Cbr \u002F>\nThe default timeout for caches generated by the WP REST Cache plugin is set to 1 year. If you want to change this:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Visit ‘Settings > WP REST Cache’.\u003C\u002Fli>\n\u003Cli>Change the Cache timeout.\u003C\u002Fli>\n\u003C\u002Fol>\n","Enable caching of the WordPress REST API and auto-flush caches upon wp-admin editing.",10000,366709,98,42,"2026-03-03T09:38:00.000Z","4.7","7.0",[106,21,22,107,108],"api","rest-cache","wp-rest-api","https:\u002F\u002Fwww.acato.nl","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-rest-cache.2026.1.3.zip",94,2,"2026-03-23 00:00:00",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":122,"downloaded":123,"rating":13,"num_ratings":124,"last_updated":125,"tested_up_to":53,"requires_at_least":126,"requires_php":127,"tags":128,"homepage":132,"download_link":133,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"sqlite-object-cache","SQLite Object Cache","1.6.1","OllieJones","https:\u002F\u002Fprofiles.wordpress.org\u002Folliejones\u002F","\u003Cp>A \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Freference\u002Fclasses\u002Fwp_object_cache\u002F#persistent-cache-plugins\" rel=\"nofollow ugc\">persistent object cache\u003C\u002Fa> helps your site perform well. This one uses the widely available \u003Ca href=\"https:\u002F\u002Fwww.php.net\u002Fmanual\u002Fen\u002Fbook.sqlite3.php\" rel=\"nofollow ugc\">SQLite3\u003C\u002Fa> extension, and optionally the \u003Ca href=\"https:\u002F\u002Fwww.php.net\u002Fmanual\u002Fen\u002Fintro.igbinary.php\" rel=\"nofollow ugc\">igbinary\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwww.php.net\u002Fmanual\u002Fen\u002Fbook.apcu.php\" rel=\"nofollow ugc\">APCu\u003C\u002Fa> extensions to php. Many hosting services offer those extensions, and they are easy to install on a server you control.\u003C\u002Fp>\n\u003Ch4>What is this about?\u003C\u002Fh4>\n\u003Cp>It’s about making your site’s web server perform better. An object cache does that by reducing the workload on your MariaDB or MySQL database. This is not a \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Fadvanced-administration\u002Fperformance\u002Fcache\u002F\" rel=\"nofollow ugc\">page cache\u003C\u002Fa>; these persistent objects go into a different kind of cache. These objects aren’t chunks of web pages ready for people to view in their browsers, they are data objects for use by the WordPress software.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCache_(computing)\" rel=\"nofollow ugc\">Caches\u003C\u002Fa> are ubiquitous in computing, and WordPress has its own caching subsystem. Caches contain short-term copies of the results of expensive database lookups or computations, and allow software to use the copy rather than repeating the expensive operation. This plugin (like other object-caching plugins) extends WordPress’s caching subsystem to save those short-term copies from page view to page view. WordPress’s cache happens to be a \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCache_(computing)#Memoization\" rel=\"nofollow ugc\">memoization\u003C\u002Fa> cache.\u003C\u002Fp>\n\u003Cp>Without a persistent object cache, every WordPress page view must use your MariaDB or MySQL database server to retrieve everything about your site. When a user requests a page, WordPress starts from scratch and loads everything it needs from your database server. Only then can it deliver content to your user. With a persistent object cache, WordPress immediately loads much of the information it needs. This lightens the load on your  database server and delivers content to your users faster.\u003C\u002Fp>\n\u003Ch4>Who should use this?\u003C\u002Fh4>\n\u003Cp>If your site runs on a single web server machine, and that server provides the \u003Ca href=\"https:\u002F\u002Fwww.php.net\u002Fmanual\u002Fen\u002Fbook.sqlite3.php\" rel=\"nofollow ugc\">SQLite3\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwww.php.net\u002Fmanual\u002Fen\u002Fintro.igbinary.php\" rel=\"nofollow ugc\">igbinary\u003C\u002Fa> extensions to php, this plugin will almost certainly make your site work faster. And if that server provides the \u003Ca href=\"https:\u002F\u002Fwww.php.net\u002Fmanual\u002Fen\u002Fbook.apcu.php\" rel=\"nofollow ugc\">APCu\u003C\u002Fa> extension, this plugin uses it too.\u003C\u002Fp>\n\u003Cp>Some hosting providers offer \u003Ca href=\"https:\u002F\u002Fredis.io\u002F\" rel=\"nofollow ugc\">redis\u003C\u002Fa> cache servers. If your provider offers redis, it may be a good choice. You can use it via the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fredis-cache\u002F\" rel=\"ugc\">Redis Object Cache\u003C\u002Fa> plugin. Sites using redis have one SQL database and another non-SQL storage server: redis. Other hosting providers offer \u003Ca href=\"https:\u002F\u002Fmemcached.org\u002F\" rel=\"nofollow ugc\">memcached\u003C\u002Fa>, which has the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmemcached\u002F\" rel=\"ugc\">Memcached Object Cache\u003C\u002Fa> plugin. And some large multipurpose cache plugins, such as the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flitespeed-cache\u002F\" rel=\"ugc\">LiteSpeed Cache\u003C\u002Fa>, also offer object caching based on one of those cache server software packages.\u003C\u002Fp>\n\u003Cp>The cache-server approach to object caching comes into its own when you have multiple load-balanced web server machines handling your site. SQLite doesn’t work correctly in a multiple-web-server environment.\u003C\u002Fp>\n\u003Cp>But, for single-server site configurations, SQLite, possibly assisted by APCu, performs well. And the vast majority of sites are single-server.\u003C\u002Fp>\n\u003Ch4>APCu\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.php.net\u002Fmanual\u002Fen\u002Fbook.apcu.php\" rel=\"nofollow ugc\">APCu\u003C\u002Fa> is an in-memory storage medium. It lets php programs, like WordPress, store data in shared memory so it’s very fast to retrieve when needed. If APCu is available on your host server, you can configure this plugin to use it. It reduces the typical cache lookup time to one-fifth or less of the SQLite lookup time, which is itself a few tens of microseconds. Performance counts, especially on busy web sites.\u003C\u002Fp>\n\u003Cp>Please look at \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsqlite-object-cache\u002F#installation\" rel=\"ugc\">Installation\u003C\u002Fa> to learn how to configure this plugin to use APCu. The plugin works fast without it, and faster with it.\u003C\u002Fp>\n\u003Cp>WP-CLI: Even if APCu is in use, caching with SQLite is necessary when your web site uses WP-CLI, because WP-CLI programs do not have access to the APCu cache. This plugin writes all cached data both to APCu and to SQLite and makes sure the two are synchronized.\u003C\u002Fp>\n\u003Ch4>WP-CLI\u003C\u002Fh4>\n\u003Cp>You can control this plugin via WP-CLI once you activate it. Please type this command into your shell for details.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>wp help sqlite-object-cache\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cp>Thanks to \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Ftillkruess\u002F\" rel=\"nofollow ugc\">Till Krüss\u003C\u002Fa>. His \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fredis-cache\u002F\" rel=\"ugc\">Redis Object Cache\u003C\u002Fa> plugin serves as a model for this one. And thanks to \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Faristath\u002F\" rel=\"nofollow ugc\">Ari Stathopoulos\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fspacedmonkey\u002F\" rel=\"nofollow ugc\">Jonny Harris\u003C\u002Fa> for reviewing this. Props to Matt Jones for finding and fixing a bug that appeared on a heavily loaded system. Thanks to \u003Ca href=\"https:\u002F\u002Fspeedable.net\u002Fabout-us\u002F\" rel=\"nofollow ugc\">Massimo Villa\u003C\u002Fa> for testing help, and to \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnickchomey\" rel=\"nofollow ugc\">nickchomey\u003C\u002Fa> for a comprehensive code review. All defects are, of course, entirely the author’s responsibility.\u003C\u002Fp>\n\u003Cp>And thanks to Jetbrains for the use of their software development tools, especially \u003Ca href=\"https:\u002F\u002Fwww.jetbrains.com\u002Fphpstorm\u002F\" rel=\"nofollow ugc\">PhpStorm\u003C\u002Fa>. It’s hard to imagine how a plugin like this one could be developed without PhpStorm’s tools for exploring epic code bases like WordPress’s.\u003C\u002Fp>\n\u003Ch4>How can I learn more about making my WordPress site more efficient?\u003C\u002Fh4>\n\u003Cp>We offer several plugins to help with your site’s database efficiency. You can \u003Ca href=\"https:\u002F\u002Fwww.plumislandmedia.net\u002Fwordpress\u002Fperformance\u002Foptimizing-wordpress-database-servers\u002F\" rel=\"nofollow ugc\">read about them here\u003C\u002Fa>.\u003C\u002Fp>\n","A fast persistent object cache backend for the rest of us, powered by SQLite and accelerated by APCu",9000,100740,49,"2026-01-26T18:26:00.000Z","5.5","5.6",[129,21,130,131,24],"apcu","object-cache","performance","https:\u002F\u002Fgithub.com\u002FOllieJones\u002Fsqlite-object-cache","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsqlite-object-cache.1.6.1.zip",{"slug":135,"name":136,"version":137,"author":138,"author_profile":139,"description":140,"short_description":141,"active_installs":142,"downloaded":143,"rating":13,"num_ratings":112,"last_updated":144,"tested_up_to":145,"requires_at_least":126,"requires_php":127,"tags":146,"homepage":149,"download_link":150,"security_score":35,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"smntcs-disable-rest-api-user-endpoints","SMNTCS Disable REST API User Endpoints","2.4","Niels Lange","https:\u002F\u002Fprofiles.wordpress.org\u002Fnielslange\u002F","\u003Cp>With WordPress 4.7 the REST API is part of the core. At the moment everyone has read access to the REST API. As a result of that a potential intruder can retrieve a list of all user slugs via \u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Fusers\u003C\u002Fcode>. This plugin disables the REST API user endpoints to obscure the user slugs.\u003C\u002Fp>\n\u003Ch3>Contribute\u003C\u002Fh3>\n\u003Cp>Contributions are more than welcome. Simply head over to \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnielslange\u002Fsmntcs-disable-rest-api-user-endpoints\u002F\" rel=\"nofollow ugc\">Github\u003C\u002Fa> and open an issue or a pull request.\u003C\u002Fp>\n","Disable the REST API user endpoints due to obscure user slugs.",6000,29155,"2024-12-31T06:23:00.000Z","6.7.5",[147,148,23],"endpoints","rest-api","https:\u002F\u002Fgithub.com\u002Fnielslange\u002Fsmntcs-disable-rest-api-user-endpoints","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmntcs-disable-rest-api-user-endpoints.2.4.zip",{"attackSurface":152,"codeSignals":332,"taintFlows":470,"riskAssessment":543,"analyzedAt":555},{"hooks":153,"ajaxHandlers":311,"restRoutes":326,"shortcodes":327,"cronEvents":328,"entryPointCount":331,"unprotectedCount":27},[154,160,162,168,170,173,176,180,182,187,189,192,196,200,204,206,210,214,217,220,224,228,232,235,238,242,245,248,252,254,259,263,267,271,274,277,281,285,288,291,295,299,303,308],{"type":155,"name":156,"callback":157,"priority":33,"file":158,"line":159},"action","yc_additional_features_settings","closure","addons\\admin\\backend_logstat.php",26,{"type":155,"name":161,"callback":157,"priority":11,"file":158,"line":36},"yc_additional_features_summary",{"type":163,"name":164,"callback":165,"priority":166,"file":158,"line":167},"filter","authenticate","did_authenticate",9999,40,{"type":163,"name":169,"callback":169,"priority":11,"file":158,"line":101},"wp_redirect_status",{"type":163,"name":171,"callback":171,"priority":88,"file":158,"line":172},"pre_http_request",44,{"type":155,"name":174,"callback":174,"priority":11,"file":158,"line":175},"http_api_debug",45,{"type":155,"name":177,"callback":177,"priority":178,"file":158,"line":179},"phpmailer_init",8,47,{"type":163,"name":181,"callback":181,"priority":11,"file":158,"line":124},"pre_unschedule_event",{"type":155,"name":183,"callback":184,"priority":88,"file":185,"line":186},"template_redirect","bot_blocking","addons\\admin\\backend_security.php",36,{"type":163,"name":164,"callback":165,"priority":98,"file":185,"line":188},39,{"type":163,"name":190,"callback":190,"priority":11,"file":185,"line":191},"pre_update_option",41,{"type":155,"name":193,"callback":194,"file":185,"line":195},"yc_additional_features_option_update","action_posts",53,{"type":155,"name":197,"callback":198,"priority":11,"file":185,"line":199},"yc_additional_features_option_import","option_import",54,{"type":163,"name":201,"callback":202,"priority":11,"file":185,"line":203},"yc_additional_features_option_export","option_export",55,{"type":155,"name":156,"callback":157,"priority":64,"file":185,"line":205},57,{"type":155,"name":207,"callback":208,"file":185,"line":209},"cron_yasakani_bruteforce_expired","delete_bruteforce_expired",61,{"type":155,"name":211,"callback":212,"priority":88,"file":213,"line":36},"init","yasakani_setting_load","yasakani-cache.php",{"type":155,"name":211,"callback":215,"priority":166,"file":213,"line":216},"yasakani_admin_start",209,{"type":155,"name":218,"callback":194,"file":213,"line":219},"admin_init",210,{"type":155,"name":221,"callback":222,"priority":11,"file":213,"line":223},"add_meta_boxes","load_meta_boxes",211,{"type":155,"name":225,"callback":226,"priority":11,"file":213,"line":227},"in_plugin_update_message-yasakani-cache\u002Fyasakani-cache.php","update_notice_message",212,{"type":155,"name":229,"callback":230,"priority":88,"file":213,"line":231},"embed_head","embed_head_start",217,{"type":155,"name":229,"callback":233,"priority":166,"file":213,"line":234},"embed_head_end",218,{"type":155,"name":183,"callback":236,"file":213,"line":237},"avatar_cache_start",219,{"type":163,"name":239,"callback":240,"file":213,"line":241},"wp_using_themes","cache_store_start",220,{"type":163,"name":243,"callback":243,"file":213,"line":244},"rest_pre_dispatch",223,{"type":163,"name":246,"callback":246,"file":213,"line":247},"rest_request_after_callbacks",224,{"type":163,"name":249,"callback":250,"file":213,"line":251},"rest_pre_echo_response","rest_cache_store_start",225,{"type":163,"name":239,"callback":240,"file":213,"line":253},231,{"type":155,"name":255,"callback":256,"priority":257,"file":213,"line":258},"transition_post_status","yasakani_cache_statpost",20,253,{"type":155,"name":260,"callback":261,"file":213,"line":262},"delete_post","yasakani_cache_delpost",254,{"type":155,"name":264,"callback":265,"priority":11,"file":213,"line":266},"comment_post","yasakani_cache_newcomment",255,{"type":155,"name":268,"callback":269,"priority":11,"file":213,"line":270},"edit_comment","yasakani_cache_editcomment",256,{"type":155,"name":272,"callback":269,"priority":11,"file":213,"line":273},"trackback_post",257,{"type":155,"name":275,"callback":269,"priority":11,"file":213,"line":276},"pingback_post",258,{"type":155,"name":278,"callback":279,"priority":11,"file":213,"line":280},"wp_set_comment_status","yasakani_cache_statcomment",259,{"type":155,"name":282,"callback":283,"file":213,"line":284},"switch_theme","yasakani_cache_allclear",261,{"type":155,"name":286,"callback":283,"file":213,"line":287},"wp_update_nav_menu",262,{"type":155,"name":289,"callback":157,"file":213,"line":290},"admin_notices",296,{"type":163,"name":292,"callback":293,"priority":166,"file":213,"line":294},"get_avatar","get_gravatar",363,{"type":155,"name":296,"callback":297,"file":213,"line":298},"admin_menu","yasakani_option_menu",1671,{"type":155,"name":300,"callback":301,"file":213,"line":302},"admin_footer","yasakani_meta_script",1689,{"type":155,"name":304,"callback":305,"file":306,"line":307},"admin_head","yasakani_css","yasakani_option_page.php",89,{"type":155,"name":304,"callback":309,"file":306,"line":310},"jquery_tab_css",90,[312,318,322],{"action":313,"nopriv":314,"callback":315,"hasNonce":316,"hasCapCheck":316,"file":158,"line":317},"yasakani_log_filter",false,"ajax_log_filter",true,51,{"action":319,"nopriv":314,"callback":320,"hasNonce":316,"hasCapCheck":316,"file":213,"line":321},"yasakani_exclude","yasakani_ajax_exclude",263,{"action":323,"nopriv":314,"callback":324,"hasNonce":316,"hasCapCheck":316,"file":213,"line":325},"yasakani_clear","yasakani_ajax_clear",264,[],[],[329],{"hook":207,"callback":207,"file":185,"line":330},46,3,{"dangerousFunctions":333,"sqlUsage":340,"outputEscaping":352,"fileOperations":178,"externalRequests":88,"nonceChecks":33,"capabilityChecks":341,"bundledLibraries":469},[334,338],{"fn":335,"file":158,"line":336,"context":337},"unserialize",166,"$unsdata = @unserialize($data);",{"fn":335,"file":158,"line":241,"context":339},"$unsdata = @unserialize($prmdata);",{"prepared":341,"raw":341,"locations":342},5,[343,345,346,348,350],{"file":213,"line":175,"context":344},"$wpdb->get_col() with variable interpolation",{"file":213,"line":310,"context":344},{"file":213,"line":347,"context":344},116,{"file":213,"line":349,"context":344},1321,{"file":213,"line":351,"context":344},1397,{"escaped":353,"rawEcho":205,"locations":354},32,[355,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,415,417,419,421,423,425,427,429,431,433,435,437,439,441,442,444,446,448,450,452,454,456,458,460,462,463,465,467],{"file":158,"line":356,"context":357},34,"raw output",{"file":158,"line":359,"context":357},422,{"file":158,"line":361,"context":357},423,{"file":158,"line":363,"context":357},444,{"file":158,"line":365,"context":357},446,{"file":158,"line":367,"context":357},447,{"file":158,"line":369,"context":357},448,{"file":158,"line":371,"context":357},522,{"file":158,"line":373,"context":357},525,{"file":158,"line":375,"context":357},535,{"file":158,"line":377,"context":357},909,{"file":158,"line":379,"context":357},917,{"file":158,"line":381,"context":357},919,{"file":158,"line":383,"context":357},965,{"file":158,"line":385,"context":357},989,{"file":158,"line":387,"context":357},1010,{"file":158,"line":389,"context":357},1133,{"file":158,"line":391,"context":357},1207,{"file":158,"line":393,"context":357},1208,{"file":158,"line":395,"context":357},1219,{"file":158,"line":397,"context":357},1254,{"file":185,"line":399,"context":357},387,{"file":185,"line":401,"context":357},393,{"file":185,"line":403,"context":357},395,{"file":185,"line":405,"context":357},400,{"file":185,"line":407,"context":357},412,{"file":185,"line":409,"context":357},413,{"file":185,"line":411,"context":357},414,{"file":413,"line":414,"context":357},"magatama_lv1.php",432,{"file":213,"line":416,"context":357},1546,{"file":213,"line":418,"context":357},1665,{"file":213,"line":420,"context":357},1707,{"file":213,"line":422,"context":357},1708,{"file":213,"line":424,"context":357},1722,{"file":213,"line":426,"context":357},1723,{"file":213,"line":428,"context":357},1725,{"file":213,"line":430,"context":357},1731,{"file":213,"line":432,"context":357},1736,{"file":213,"line":434,"context":357},1739,{"file":213,"line":436,"context":357},1743,{"file":306,"line":438,"context":357},106,{"file":306,"line":440,"context":357},205,{"file":306,"line":227,"context":357},{"file":306,"line":443,"context":357},310,{"file":306,"line":445,"context":357},313,{"file":306,"line":447,"context":357},322,{"file":306,"line":449,"context":357},325,{"file":306,"line":451,"context":357},337,{"file":306,"line":453,"context":357},344,{"file":306,"line":455,"context":357},349,{"file":306,"line":457,"context":357},355,{"file":306,"line":459,"context":357},357,{"file":306,"line":461,"context":357},370,{"file":306,"line":401,"context":357},{"file":306,"line":464,"context":357},425,{"file":306,"line":466,"context":357},427,{"file":306,"line":468,"context":357},488,[],[471,488,498,508,532],{"entryPoint":472,"graph":473,"unsanitizedCount":341,"severity":487},"safecheck (addons\\yasakani_security.php:18)",{"nodes":474,"edges":485},[475,480],{"id":476,"type":477,"label":478,"file":479,"line":159},"n0","source","$_SERVER['SERVER_PROTOCOL'] (x5)","addons\\yasakani_security.php",{"id":481,"type":482,"label":483,"file":479,"line":159,"wp_function":484},"n1","sink","header() [Header Injection]","header",[486],{"from":476,"to":481,"sanitized":314},"medium",{"entryPoint":489,"graph":490,"unsanitizedCount":88,"severity":487},"bot_blocking (addons\\yasakani_security.php:98)",{"nodes":491,"edges":496},[492,495],{"id":476,"type":477,"label":493,"file":479,"line":494},"$_SERVER['SERVER_PROTOCOL']",102,{"id":481,"type":482,"label":483,"file":479,"line":494,"wp_function":484},[497],{"from":476,"to":481,"sanitized":314},{"entryPoint":499,"graph":500,"unsanitizedCount":507,"severity":487},"\u003Cyasakani_security> (addons\\yasakani_security.php:0)",{"nodes":501,"edges":505},[502,504],{"id":476,"type":477,"label":503,"file":479,"line":159},"$_SERVER['SERVER_PROTOCOL'] (x6)",{"id":481,"type":482,"label":483,"file":479,"line":159,"wp_function":484},[506],{"from":476,"to":481,"sanitized":314},6,{"entryPoint":509,"graph":510,"unsanitizedCount":331,"severity":487},"\u003Cmagatama_lv1> (magatama_lv1.php:0)",{"nodes":511,"edges":528},[512,514,515,519,522,524],{"id":476,"type":477,"label":493,"file":413,"line":513},417,{"id":481,"type":482,"label":483,"file":413,"line":513,"wp_function":484},{"id":516,"type":477,"label":517,"file":413,"line":518},"n2","$_SERVER",398,{"id":520,"type":482,"label":483,"file":413,"line":521,"wp_function":484},"n3",430,{"id":523,"type":477,"label":517,"file":413,"line":518},"n4",{"id":525,"type":482,"label":526,"file":413,"line":414,"wp_function":527},"n5","echo() [XSS]","echo",[529,530,531],{"from":476,"to":481,"sanitized":314},{"from":516,"to":520,"sanitized":314},{"from":523,"to":525,"sanitized":314},{"entryPoint":533,"graph":534,"unsanitizedCount":27,"severity":542},"\u003Cbackend_logstat> (addons\\admin\\backend_logstat.php:0)",{"nodes":535,"edges":540},[536,539],{"id":476,"type":477,"label":537,"file":158,"line":538},"$_POST (x3)",881,{"id":481,"type":482,"label":526,"file":158,"line":377,"wp_function":527},[541],{"from":476,"to":481,"sanitized":316},"low",{"summary":544,"deductions":545},"The yasakani-cache plugin, version 3.9.7, exhibits a mixed security posture.  While it has no known historical vulnerabilities and demonstrates good practices like a decent number of nonce and capability checks, several code signals raise concerns. The presence of the `unserialize` function is a critical risk, especially if the data being unserialized originates from untrusted sources, as it can lead to Remote Code Execution.  Furthermore, a significant portion of SQL queries are not using prepared statements, increasing the risk of SQL injection vulnerabilities. The low percentage of properly escaped output also suggests potential Cross-Site Scripting (XSS) vulnerabilities, as data rendered to the user might not be adequately sanitized.\n\nDespite the lack of documented CVEs, the internal code analysis reveals concerning patterns that could be exploited. The taint analysis indicates flows with unsanitized paths, although they are not classified as critical or high severity in this specific analysis. This, combined with the `unserialize` function and raw SQL queries, suggests an underlying risk that requires attention.  The plugin's strengths lie in its zero-day vulnerability history and the absence of exposed entry points without authentication. However, the identified code-level weaknesses, particularly `unserialize` and unescaped output, prevent it from being considered fully secure without remediation.",[546,549,551,553],{"reason":547,"points":548},"Presence of unserialize function",15,{"reason":550,"points":178},"Half of SQL queries not prepared",{"reason":552,"points":14},"Low percentage of properly escaped output",{"reason":554,"points":341},"Taint flows with unsanitized paths","2026-03-16T23:41:45.444Z",{"wat":557,"direct":565},{"assetPaths":558,"generatorPatterns":562,"scriptPaths":563,"versionParams":564},[559,560,561],"\u002Fwp-content\u002Fplugins\u002Fyasakani-cache\u002Finc\u002Fadmin-script.js","\u002Fwp-content\u002Fplugins\u002Fyasakani-cache\u002Finc\u002Fadmin-style.css","\u002Fwp-content\u002Fplugins\u002Fyasakani-cache\u002Finc\u002Fminify-utils.php",[],[559],[],{"cssClasses":566,"htmlComments":568,"htmlAttributes":571,"restEndpoints":574,"jsGlobals":575,"shortcodeOutput":578},[567],"yasakani-cache-menu-wrapper",[569,570],"Yasakani Cache start","Yasakani Cache end",[572,573],"data-yasakani-url","data-yasakani-id",[],[576,577],"yasakani_option","yasakani_noncedata",[]]