PageSpeed Ninja – Cache, Minify, Defer CSS JavaScript, Critical CSS, Optimize Images, Convert WebP Security & Risk Analysis

wordpress.org/plugins/psn-pagespeed-ninja

Boost page speed: cache, compress, optimize images to WebP, minify CSS/JS, defer loading, lazy load, generate critical CSS, improve Core Web Vitals

6K active installs v1.4.5 PHP 5.6+ WP 4.6+ Updated Sep 26, 2024
convert-webpdefer-css-javascriptminify-cssminify-javascriptperformance
92
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is PageSpeed Ninja – Cache, Minify, Defer CSS JavaScript, Critical CSS, Optimize Images, Convert WebP Safe to Use in 2026?

Generally Safe

Score 92/100

PageSpeed Ninja – Cache, Minify, Defer CSS JavaScript, Critical CSS, Optimize Images, Convert WebP has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 1yr ago
Risk Assessment

The plugin "psn-pagespeed-ninja" v1.4.5 exhibits a concerning security posture due to a significant number of unprotected entry points. While the plugin does not have a history of known vulnerabilities and shows good practices in its use of prepared statements for SQL queries, the lack of authentication checks on all 12 AJAX handlers is a critical weakness. This means any unauthenticated user could potentially interact with these handlers, leading to unexpected behavior or further exploitation if malicious input is provided. The taint analysis revealed flows with unsanitized paths, which, while not classified as critical or high severity, still represent potential avenues for attack if combined with other weaknesses. The plugin's file operations and external HTTP requests, though not explicitly flagged as problematic in this analysis, warrant careful monitoring in conjunction with the unprotected AJAX endpoints. Overall, the absence of authentication on its primary attack surface is a major concern that overshadows the positive aspects of its SQL handling and vulnerability history. The plugin needs urgent attention to implement proper authorization checks on all its AJAX endpoints to mitigate the risk of unauthorized access and potential exploits.

Key Concerns

  • 12 AJAX handlers without auth checks
  • 3 flows with unsanitized paths
  • 44% of output properly escaped
Vulnerabilities
None known

PageSpeed Ninja – Cache, Minify, Defer CSS JavaScript, Critical CSS, Optimize Images, Convert WebP Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

PageSpeed Ninja – Cache, Minify, Defer CSS JavaScript, Critical CSS, Optimize Images, Convert WebP Code Analysis

Dangerous Functions
0
Raw SQL Queries
4
13 prepared
Unescaped Output
63
50 escaped
Nonce Checks
14
Capability Checks
4
File Operations
135
External Requests
7
Bundled Libraries
0

SQL Query Safety

76% prepared17 total queries

Output Escaping

44% escaped113 total outputs
Data Flows
3 unsanitized

Data Flow Analysis

8 flows3 with unsanitized paths
__construct (ress\classes\pagecache.php:50)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
12 unprotected

PageSpeed Ninja – Cache, Minify, Defer CSS JavaScript, Critical CSS, Optimize Images, Convert WebP Attack Surface

Entry Points12
Unprotected12

AJAX Handlers 12

authwp_ajax_pagespeedninja_get_cache_sizeincludes\class-pagespeedninja.php:456
authwp_ajax_pagespeedninja_clear_imagesincludes\class-pagespeedninja.php:458
authwp_ajax_pagespeedninja_clear_image_errorsincludes\class-pagespeedninja.php:459
authwp_ajax_pagespeedninja_clear_loadedincludes\class-pagespeedninja.php:460
authwp_ajax_pagespeedninja_clear_cache_expiredincludes\class-pagespeedninja.php:461
authwp_ajax_pagespeedninja_clear_cache_allincludes\class-pagespeedninja.php:462
authwp_ajax_pagespeedninja_clear_pagecache_expiredincludes\class-pagespeedninja.php:463
authwp_ajax_pagespeedninja_clear_pagecache_allincludes\class-pagespeedninja.php:464
authwp_ajax_pagespeedninja_update_atfcssincludes\class-pagespeedninja.php:465
authwp_ajax_pagespeedninja_save_psi_scoresincludes\class-pagespeedninja.php:466
authwp_ajax_pagespeedninja_keyincludes\class-pagespeedninja.php:468
authwp_ajax_pagespeedninja_dismiss_licensekey_noticeincludes\class-pagespeedninja.php:470
WordPress Hooks 38
actionadmin_noticesadmin\class-pagespeedninja-admin.php:200
actionadmin_noticesadmin\class-pagespeedninja-admin.php:201
actionadmin_noticesadmin\class-pagespeedninja-admin.php:204
actionnetwork_admin_noticesadmin\class-pagespeedninja-admin.php:205
actionadmin_footer-plugins.phpadmin\class-pagespeedninja-admin.php:211
actionadmin_noticesadmin\class-pagespeedninja-admin.php:219
actionnetwork_admin_noticesadmin\class-pagespeedninja-admin.php:220
actionadmin_footeradmin\class-pagespeedninja-admin.php:222
actionpsn_cache_disableincludes\class-pagespeedninja-cache-hooks.php:40
actionpsn_cache_resetincludes\class-pagespeedninja-cache-hooks.php:41
actionpsn_cache_tags_updateincludes\class-pagespeedninja-cache-hooks.php:42
actionpsn_cache_tags_useincludes\class-pagespeedninja-cache-hooks.php:43
actionthe_postincludes\class-pagespeedninja-cache-hooks.php:63
actionsave_postincludes\class-pagespeedninja-cache-hooks.php:65
actionpost_updatedincludes\class-pagespeedninja-cache-hooks.php:66
actionpre_get_postsincludes\class-pagespeedninja-cache-hooks.php:68
filterwp_headersincludes\class-pagespeedninja-cache.php:53
filterstatus_headerincludes\class-pagespeedninja-cache.php:54
actionpagespeedninja_cache_saveincludes\class-pagespeedninja-cache.php:55
actionupgrader_process_completeincludes\class-pagespeedninja.php:178
actionpagespeedninja_daily_eventincludes\class-pagespeedninja.php:179
actionplugins_loadedincludes\class-pagespeedninja.php:180
actionwpmu_new_blogincludes\class-pagespeedninja.php:181
actionadmin_bar_menuincludes\class-pagespeedninja.php:182
actionplugins_loadedincludes\class-pagespeedninja.php:414
filterpre_update_option_pagespeedninja_configincludes\class-pagespeedninja.php:423
actionupdate_option_pagespeedninja_configincludes\class-pagespeedninja.php:424
actionupdate_site_option_pagespeedninja_configincludes\class-pagespeedninja.php:425
actionadmin_initincludes\class-pagespeedninja.php:442
actionadmin_menuincludes\class-pagespeedninja.php:443
actionnetwork_admin_menuincludes\class-pagespeedninja.php:444
actionadmin_headincludes\class-pagespeedninja.php:445
filterplugin_row_metaincludes\class-pagespeedninja.php:450
actionplugins_loadedincludes\class-pagespeedninja.php:479
actiontemplate_redirectincludes\class-pagespeedninja.php:482
filterwp_cache_metaincludes\class-pagespeedninja.php:484
actionwp_footerincludes\class-pagespeedninja.php:485
actionwp_headpublic\class-pagespeedninja-public.php:131

Scheduled Events 1

pagespeedninja_daily_event
Maintenance & Trust

PageSpeed Ninja – Cache, Minify, Defer CSS JavaScript, Critical CSS, Optimize Images, Convert WebP Maintenance & Trust

Maintenance Signals

WordPress version tested6.6.5
Last updatedSep 26, 2024
PHP min version5.6
Downloads705K

Community Trust

Rating90/100
Number of ratings114
Active installs6K
Developer Profile

PageSpeed Ninja – Cache, Minify, Defer CSS JavaScript, Critical CSS, Optimize Images, Convert WebP Developer Profile

PageSpeed

1 plugin · 6K total installs

88
trust score
Avg Security Score
92/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect PageSpeed Ninja – Cache, Minify, Defer CSS JavaScript, Critical CSS, Optimize Images, Convert WebP

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/psn-pagespeed-ninja/assets/css/pagespeedninja.css/wp-content/plugins/psn-pagespeed-ninja/assets/css/pagespeedninja-popup.css/wp-content/plugins/psn-pagespeed-ninja/assets/js/jquery.are-you-sure.js/wp-content/plugins/psn-pagespeed-ninja/assets/js/atfbundle.js/wp-content/plugins/psn-pagespeed-ninja/assets/js/pagespeedninja.js/wp-content/plugins/psn-pagespeed-ninja/assets/js/pagespeedninja-general.js/wp-content/plugins/psn-pagespeed-ninja/assets/js/pagespeedninja-advanced.js/wp-content/plugins/psn-pagespeed-ninja/assets/js/pagespeedninja-tooltip.js
Script Paths
/wp-content/plugins/psn-pagespeed-ninja/assets/js/jquery.are-you-sure.js/wp-content/plugins/psn-pagespeed-ninja/assets/js/atfbundle.js/wp-content/plugins/psn-pagespeed-ninja/assets/js/pagespeedninja.js/wp-content/plugins/psn-pagespeed-ninja/assets/js/pagespeedninja-general.js/wp-content/plugins/psn-pagespeed-ninja/assets/js/pagespeedninja-advanced.js/wp-content/plugins/psn-pagespeed-ninja/assets/js/pagespeedninja-tooltip.js
Version Parameters
psn-pagespeed-ninja/assets/css/pagespeedninja.css?ver=psn-pagespeed-ninja/assets/css/pagespeedninja-popup.css?ver=psn-pagespeed-ninja/assets/js/jquery.are-you-sure.js?ver=psn-pagespeed-ninja/assets/js/atfbundle.js?ver=psn-pagespeed-ninja/assets/js/pagespeedninja.js?ver=psn-pagespeed-ninja/assets/js/pagespeedninja-general.js?ver=psn-pagespeed-ninja/assets/js/pagespeedninja-advanced.js?ver=psn-pagespeed-ninja/assets/js/pagespeedninja-tooltip.js?ver=

HTML / DOM Fingerprints

CSS Classes
psn-notice-successpsn-notice-warningpsn-notice-errorpagespeedninja-settings-field-wrapperpagespeedninja-tooltip
HTML Comments
<!-- PageSpeed Ninja Settings --><!-- PageSpeed Ninja Options -->
Data Attributes
data-psn-tooltip
JS Globals
psnpagespeedninja_ajax
FAQ

Frequently Asked Questions about PageSpeed Ninja – Cache, Minify, Defer CSS JavaScript, Critical CSS, Optimize Images, Convert WebP