[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f1Skxs_Dm7t17WuRrJJGPbGjasgMYyo017XyHJww1LrQ":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":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":40,"analysis":145,"fingerprints":413},"optimize-more","Optimize More!","2.0.3","Arya Dhiratara","https:\u002F\u002Fprofiles.wordpress.org\u002Faryadhiratara\u002F","\u003Cp>\u003Cstrong>A ‘Do It Yourself’ WordPress Page Speed Optimization Pack.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cem>Optimizing web pages is really just about controlling how assets are delivered.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Optimize your site further. Load faster on GTmetrix, Get better scores on Google Page Speed Insight.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Control your CSS & JavaScripts Delivery: Load CSS Asynchronously, Delay CSS & JavaScript until User Interaction, Remove Unused CSS & JavaScript Files, Preload Critical CSS & JavaScript, Defer JavaScripts, and more.\u003C\u002Fp>\n\u003Cp>You can choose each CSS & JavaScripts individually and what type of execution is required per each post types.\u003C\u002Fp>\n\u003Cp>This plugin inspired by the mighty \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fflying-scripts\u002F\" rel=\"ugc\">Flying Scripts\u003C\u002Fa> from Gijo Varghese. Using HTML Dom Parser to manipulate your page’s HTML, so we can simply use the keyword of the assets to target them.\u003C\u002Fp>\n\u003Ch3>Main Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Load CSS Asynchronously\u003C\u002Fstrong> — load any CSS file(s) asynchronously on selected post\u002Fpage types.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Delay CSS and JavaScripts until User Interaction\u003C\u002Fstrong> — delay any CSS\u002FJavaScripts load until user interaction on selected post\u002Fpage types.\u003Cbr \u002F>\n\u003Cem>Note\u003C\u002Fem>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cem>By default, the delay JavaScripts and CSS features are configured to user interaction based. You can change that using filter.\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>\u003Cem>If you prefer to use ‘exclusions’, you can simply delay all JavaScripts using “\u003Ccode>.js\u003C\u002Fcode>” keywords, and use provided filter to exclude specific JavaScripts.\u003C\u002Fem>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Defer JavaScripts\u003C\u002Fstrong> — defer loading any JavaScript file(s) on selected post\u002Fpage types.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Advance Defer JavaScripts\u003C\u002Fstrong> — hold any JavaScript file(s) load until everything else has been loaded. Adapted from the legendary \u003Cstrong>varvy’s defer JavaScripts\u003C\u002Fstrong> method \u003Cem>*recommended for defer loading 3rd party scripts like ads, pixels, and trackers\u003C\u002Fem>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Preload Critical CSS, JavaScripts, and Font Files\u003C\u002Fstrong> — preload any critical CSS\u002FJavaScript\u002FFont file(s) on selected post\u002Fpage types.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Inline CSS and JavaScript Files\u003C\u002Fstrong> — inline any critical CSS\u002FJavaScript file(s) on selected post\u002Fpage types. \u003Cem>*warning: Inlining multiple \u002F large files might slow down your site’s performance. Enabling this without using a caching system is generally not recommended.\u003C\u002Fem>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Remove Unused CSS and JavaScripts Files\u003C\u002Fstrong> — remove any unused CSS\u002FJavaScripts file(s) on selected post\u002Fpage types.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Use case\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Have CSS files that are only be used in the below the fold area? Delay them.\u003C\u002Fli>\n\u003Cli>Have JavaScripts files that are not required in initial page rendering? Delay them.\u003C\u002Fli>\n\u003Cli>Have CSS files that are used in the above the fold area? Preload them.\u003C\u002Fli>\n\u003Cli>Have JavaScripts files such as jQuery that are needed to be load since the beginning? Preload them.\u003C\u002Fli>\n\u003Cli>Have CSS files that are critical for above the fold area? Inline them.\u003C\u002Fli>\n\u003Cli>Need to remove “Eliminate Render Blocking Resources” warnings on Google Page Speed Insights? Async, Defer, Inline, or Preload them.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Other Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Load Gutenberg CSS conditionally\u003C\u002Fstrong> — This feature will make the combined CSS (wp-block-library) removed and your page \u003Cstrong>will only load the CSS of each block\u003C\u002Fstrong> that you use on the page (and only if you use one of the core blocks!). Each CSS of the core blocks will only get enqueued when the block gets rendered on a page. This will save you from worrying if you still need to use the native Gutenberg core blocks in some of your pages.\u003Cbr \u002F>\n\u003Cem>Note: the inline “global-styles” will also only load if you use one of the core blocks when you combine this feature with the \u003Cstrong>Remove FSE Global Styles\u003C\u002Fstrong> feature\u003C\u002Fem>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Remove FSE Global Styles\u003C\u002Fstrong> — Remove WP “global-styles-inline-css”. \u003Cem>Note: this will still conditionally loaded if you enable \u003Cstrong>Load Gutenberg CSS conditionally\u003C\u002Fstrong> feature\u003C\u002Fem>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Remove SVG Duotone Filter\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Filter Google Fonts\u003C\u002Fstrong> — Filter the Google Font Characters to use most common characters only. In most font families, this will significantly reduce the font file size.  \u003Cem>*remember to use the web-safe font that is most similar to the font you are using as the font family fallback or \u003Cstrong>you can simply modify the default character using the provided filter\u003C\u002Fstrong>\u003C\u002Fem>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Combined Google Fonts\u003C\u002Fstrong> — Combine google fonts css into one single line \u003Cem>*only works for google font url(s) that are using the latest Google Font API (css2)\u003C\u002Fem>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Select Font Display\u003C\u002Fstrong> — Choose the best google fonts’ font-display strategy for your website.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Remove Passive Listener Warnings\u003C\u002Fstrong> — Remove the “Does not use passive listeners to improve scrolling performance” warning on Google PageSpeed Insights\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Prefetch Pages\u003C\u002Fstrong> — Prefetch in view links so visitors can switch pages (\u003Cem>more\u003C\u002Fem>) instantly. \u003Cem>*based on Gijo’s \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fflying-pages\u002F\" rel=\"ugc\">Flying Pages\u003C\u002Fa>\u003C\u002Fem>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Optimize WC Cart Fragments\u003C\u002Fstrong> — Disable WC Cart Fragments, only when it’s empty. \u003Cem>*based on Optimocha’s (Barış Ünver) \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdisable-cart-fragments\u002F\" rel=\"ugc\">Disable Cart Fragments\u003C\u002Fa>\u003C\u002Fem>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Remove WooCommerce Blocks CSS\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Disable jQuery Migrate\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Disable WP Embeds\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Disable WP Emojis\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Lazyload, Preload, and More\u003C\u002Fstrong> — Add Lazyload, Preload, and More features. This is a non JavaScript version of \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flazyload-preload-and-more\u002F\" rel=\"ugc\">Lazyload, preload, and more\u003C\u002Fa>. *lazyload applied for images\u002Fiframes tag only. if you need to lazyload css background images, use the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flazyload-preload-and-more\u002F\" rel=\"ugc\">Lazyload, preload, and more\u003C\u002Fa> plugin instead.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Control your images and iframes delivery\u003C\u002Fli>\n\u003Cli>Automatically preload featured images\u003C\u002Fli>\n\u003Cli>Add images dimensions (also able to add SVG images dimensions)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>&nbsp;\u003Cbr \u002F>\nA simple tutorial of how to use this plugin: \u003Ca href=\"https:\u002F\u002Fdhiratara.me\u002Fhow-to\u002Fuse-optimize-more\u002F\" rel=\"nofollow ugc\">How to use Optmize More Plugin\u003C\u002Fa> (Indonesian Version: \u003Ca href=\"https:\u002F\u002Fthinkdigital.co.id\u002Fwordpress\u002Fplugin\u002Foptimize-more\u002F\" rel=\"nofollow ugc\">Cara mempercepat loading WordPress dengan plugin Optimize More\u003C\u002Fa>).\u003C\u002Fp>\n\u003Cp>Big thanks to Gijo Varghese, without his codes in Flying Scripts, I can never be able to build this plugin. Thanks Gijo! 🙂\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Gijo Varghese\u003C\u002Fstrong> for his codes in Flying Scripts and Flying Pages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Barış Ünver\u003C\u002Fstrong> for his codes in Disable Cart Fragments\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Disclaimer\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>This plugin should works well with any caching plugins.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>This plugin only adds 1 extra row to your database. And it will self delete upon uninstallation.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>I built this plugin to optimize my Clients’ site. And I can get a very good scores even before activating my caching plugin.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Available Filters\u003C\u002Fh3>\n\u003Ch3>To change the delay configuration:\u003C\u002Fh3>\n\u003Cp>By default, the delay JavaScripts and CSS are configured to user interaction based. But you can change that using filter:\u003C\u002Fp>\n\u003Cp>\u003Cem>For delay CSS, e.g.:\u003C\u002Fem>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'om_delay_css_time', function($om_delay_css_time) {\n    return '3*1000';\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cem>For delay JavaScripts, e.g.:\u003C\u002Fem>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'om_delay_css_time', function($om_delay_css_time) {\n    return '3*1000';\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>or if you want to change it for specific page only:\u003C\u002Fp>\n\u003Cp>\u003Cem>For delay CSS, e.g.:\u003C\u002Fem>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'om_delay_css_time', function($om_delay_css_time) {\n    if (is_front_page()) {\n        return '3*1000';\n    }\n    else {\n        return $om_delay_css_time;\n    }\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cem>For delay JavaScripts e.g.:\u003C\u002Fem>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'om_delay_js_time', function($om_delay_js_time) {\n    if (is_front_page()) {\n        return '3*1000';\n    }\n    else {\n        return $om_delay_js_time;\n    }\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>To use Exclusions instead of Inclusions\u003C\u002Fh3>\n\u003Cp>If you prefer to use ‘exclusions’ method, simply delay all JavaScript files using “\u003Ccode>.js\u003C\u002Fcode>” keyword, and use the provided filters to exclude specific JavaScript files:\u003C\u002Fp>\n\u003Cp>Example filter to add exclude list for the whole site (general):\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('delay_js_exclude_list_default', function($exclusion_list) {\n    $exclusion_list[] = 'jquery-core';\n    $exclusion_list[] = 'js-cookie';\n    $exclusion_list[] = 'wc-add-to-cart-js';\n    return $exclusion_list;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Example filter to add exclude list for Homepage option:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('delay_js_exclude_list_front_page', function($exclusion_list) {\n    $exclusion_list[] = 'jquery';\n    $exclusion_list[] = 'custom-js';\n    return $exclusion_list;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Example filter to add exclude list for Custom Page option:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('delay_js_exclude_list_pages', function($exclusion_list) {\n    $exclusion_list[] = 'jquery';\n    $exclusion_list[] = 'another-js';\n    return $exclusion_list;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Example filter to add exclude list for Archives option:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('delay_js_exclude_list_archives', function($exclusion_list) {\n    $exclusion_list[] = 'jquery';\n    $exclusion_list[] = 'another-js';\n    return $exclusion_list;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Example filter to add exclude list for Singular option:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('delay_js_exclude_list_singular', function($exclusion_list) {\n    $exclusion_list[] = 'jquery';\n    $exclusion_list[] = 'another-js';\n    return $exclusion_list;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Example filter to add exclude list for WooCommerce Products option:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('delay_js_exclude_list_wc_product', function($exclusion_list) {\n    $exclusion_list[] = 'jquery';\n    $exclusion_list[] = 'another-js';\n    return $exclusion_list;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Example filter to add exclude list for WooCommerce Archives option:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('delay_js_exclude_list_wc_archives', function($exclusion_list) {\n    $exclusion_list[] = 'jquery';\n    $exclusion_list[] = 'another-js';\n    return $exclusion_list;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>To modify the Filter Google Font Characters\u003C\u002Fh3>\n\u003Cp>By default, this feature filtered the Google Font Characters to only use:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz%20!&\"#$%\\'()*+,-.\u002F:;\u003C=>?@[\\\\]^_`{|}~%26≤≥±√$€£¥•©®™\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You can modify the characters using this filter:\u003C\u002Fp>\n\u003Cp>Example filter to add some extra characters:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('font_characters', function ($fontCharacters) {\n    \u002F\u002F Modify the characters as needed\n    $fontCharacters .= 'éèêñ';\n    return $fontCharacters;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Example filter to fully use your preferred characters:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('font_characters', function ($fontCharacters) {\n    \u002F\u002F Modify the characters as needed\n    $fontCharacters = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz%20!\"#$%\\'()*+,-.\u002F:;';\n    return $fontCharacters;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cem>*note the ‘dot’ difference\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch3>Lazy Load, Preload, and more filters\u003C\u002Fh3>\n\u003Cp>Example filter to add extra lazyload exclude list:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'opm_exclude_lazy_class', function($opm_exclude_lazy_class) {\n    return array( \n        'my-logo', 'my-hero-img', 'exclude-lazy'\n    );\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Example filter to change the image sizes for preload featured image:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'opm_featured_image_size', function($image_size, $post) {\n    if ( is_singular( 'post' ) ) { return 'large'; }\n    elseif ( is_singular( 'product' ) ) { return 'full'; }\n    else { return $image_size; }\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>&nbsp;\u003C\u002Fp>\n\u003Ch3>Need Help?\u003C\u002Fh3>\n\u003Cp>Still having trouble to speed up your site and need someone to do that for you? Try my \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdhiratara.me\u002Fservices\u002Fspeed-optimization\u002F\" rel=\"nofollow ugc\">WordPress Speed Optimization Service\u003C\u002Fa>\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>&nbsp;\u003C\u002Fp>\n\u003Ch3>Check out my other plugins:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Foptimize-more-images\u002F\" rel=\"ugc\">Optimize More! Images\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nA simple yet powerfull image, iframe, and video optimization plugin.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flazyload-preload-and-more\u002F\" rel=\"ugc\">Lazyload, Preload, and more!\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nA simplified version of \u003Cstrong>Optimize More! Images\u003C\u002Fstrong>. This tiny little plugin (around 14kb zipped) is able to do what \u003Cstrong>Optimize More! Images\u003C\u002Fstrong> can do but without UI for settings (you can customize the default settings using filters).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fanimate-on-scroll\u002F\" rel=\"ugc\">Animate on Scroll\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nAnimate any Elements on scroll using the popular AOS JS library simply by adding class names.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fshop-extra\u002F\" rel=\"ugc\">Shop Extra – WooCommerce Extras\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nA lightweight plugin to enhance your WooCommerce & Business site. Floating WhatsApp Chat Widget, WhatsApp Order Button for WooCommerce, Hide\u002FDisable WooCommerce Elements, WooCommerce Strings Translations, add Extra Product Tabs, add Date Picker to products, limit order quantity, add Custom Option to Checkout Page, Add Edit Order features to Checkout page, and many more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fimage-video-lightbox\u002F\" rel=\"ugc\">Image & Video Lightbox\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>&nbsp;\u003C\u002Fp>\n","A DIY WordPress Page Speed Optimization Pack. Optimize CSS & JavaScripts Delivery: Load CSS Asynchronously, Delay CSS & JavaScripts until User &hellip;",200,12166,100,9,"2024-02-20T17:11:00.000Z","6.4.8","5.8","7.4",[20,21,22,23,24],"core-web-vitals","css","javascript","js","optimize","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Foptimize-more.2.0.3.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":36,"avg_patch_time_days":37,"trust_score":38,"computed_at":39},"aryadhiratara",6,4410,83,30,82,"2026-04-04T07:13:13.050Z",[41,64,83,104,125],{"slug":42,"name":43,"version":44,"author":45,"author_profile":46,"description":47,"short_description":48,"active_installs":49,"downloaded":50,"rating":51,"num_ratings":52,"last_updated":53,"tested_up_to":54,"requires_at_least":55,"requires_php":25,"tags":56,"homepage":62,"download_link":63,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"bwp-minify","Better WordPress Minify","1.3.3","Khang Minh","https:\u002F\u002Fprofiles.wordpress.org\u002Foddoneout\u002F","\u003Cp>Allows you to combine and minify your CSS and JS files to improve page load time. This plugin uses the PHP library \u003Ca href=\"http:\u002F\u002Fcode.google.com\u002Fp\u002Fminify\u002F\" rel=\"nofollow ugc\">Minify\u003C\u002Fa> and relies on WordPress’s enqueueing system rather than the output buffer, which respects the order of CSS and JS files as well as their dependencies. BWP Minify is very customizable and easy to use.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Useful resources to help you get started and make the most out of BWP Minify\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fbetterwp.net\u002Fwordpress-plugins\u002Fbwp-minify\u002F#usage\" rel=\"nofollow ugc\">Official Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fbetterwp.net\u002Fwordpress-minify-javascript-css\u002F\" rel=\"nofollow ugc\">WordPress Minify Best Practices\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Some Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Uses enqueueing system of WordPress which improves compatibility with other plugins and themes\u003C\u002Fli>\n\u003Cli>Allows you to move enqueued files to desired locations (header, footer, oblivion, etc.) via a dedicated management page\u003C\u002Fli>\n\u003Cli>Allows you to change various Minify settings (cache directory, cache age, debug mode, etc.) directly in admin\u003C\u002Fli>\n\u003Cli>Allows you to use friendly Minify urls, such as \u003Ccode>http:\u002F\u002Fexample.com\u002Fpath\u002Fto\u002Fcache\u002Fsomestring.js\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Allows you to use CDN for minified contents, one CDN host for JS and one for CSS with SSL support\u003C\u002Fli>\n\u003Cli>Allows you to split long Minify strings into shorter ones\u003C\u002Fli>\n\u003Cli>Offers various way to add a cache buster to your minify string such as WordPress’s version, Theme’s version, Cache folder’s last modified timestap, etc.\u003C\u002Fli>\n\u003Cli>Supports script localization (\u003Ccode>wp_localize_script()\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>Supports inline styles\u003C\u002Fli>\n\u003Cli>Supports RTL stylesheets\u003C\u002Fli>\n\u003Cli>Supports media-specific stylesheets (e.g. ‘screen’, ‘print’, etc.)\u003C\u002Fli>\n\u003Cli>Supports conditional stylesheets (e.g. \u003Ccode>\u003C!--[if lt IE 7]>\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>Provides hooks for further customization\u003C\u002Fli>\n\u003Cli>WordPress Multi-site compatible\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Please don’t forget to rate this plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Fbwp-minify?filter=5\" rel=\"ugc\">5 shining stars\u003C\u002Fa> if you like it, thanks!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Get in touch\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Support is provided via \u003Ca href=\"http:\u002F\u002Fbetterwp.net\u002Fcommunity\u002F\" rel=\"nofollow ugc\">BetterWP.net Community\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Follow and contribute to development via \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FOddOneOut\u002FBetter-WordPress-Minify\" rel=\"nofollow ugc\">Github\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>You can also follow me on \u003Ca href=\"http:\u002F\u002Ftwitter.com\u002F0dd0ne0ut\" rel=\"nofollow ugc\">Twitter\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Check out \u003Ca href=\"http:\u002F\u002Ffeeds.feedburner.com\u002FBetterWPnet\" rel=\"nofollow ugc\">latest WordPress Tips and Ideas\u003C\u002Fa> from BetterWP.net.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Languages\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>English (default)\u003C\u002Fli>\n\u003Cli>Romanian (ro_RO) – Thanks to \u003Ca href=\"www.enjoyprepaid.com\" rel=\"nofollow ugc\">Luke Tyler, International Calling Cards\u003C\u002Fa>!\u003C\u002Fli>\n\u003Cli>Turkish (tr_TR) – Thanks to Hakan E\u003C\u002Fli>\n\u003Cli>French (fr_FR) – Thanks to Sebastien\u003C\u002Fli>\n\u003Cli>Italian (it_IT) – Thanks to Gabriele – http:\u002F\u002Fcookspot.it\u003C\u002Fli>\n\u003Cli>Spanish (es_ES) –  Thanks to Ruben Hernandez – http:\u002F\u002Fusitility.com\u002F\u003C\u002Fli>\n\u003Cli>Dutch (nl_NL) – Thanks to Martijn van Egmond\u003C\u002Fli>\n\u003Cli>German (de_DE) – Thanks to Matthias\u003C\u002Fli>\n\u003Cli>Serbo-Croatian (sr_RS) – Thanks to Borisa Djuraskovic – \u003Ca href=\"http:\u002F\u002Fwww.webhostinghub.com\u002F\" rel=\"nofollow ugc\">Web Hosting Hub\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Indonesian (id_ID) – Thanks to Nasrulhaq Muiz – http:\u002F\u002Fal-badar.net\u003C\u002Fli>\n\u003Cli>Russian (ru_RU) – Thanks to Эдуард Валеев\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Please \u003Ca href=\"http:\u002F\u002Fbetterwp.net\u002Fwordpress-tips\u002Fcreate-pot-file-using-poedit\u002F\" rel=\"nofollow ugc\">help translate\u003C\u002Fa> this plugin!\u003C\u002Fp>\n","Allows you to combine and minify your CSS and JS files to improve page load time.",8000,692951,84,137,"2017-11-28T05:12:00.000Z","4.0.38","3.1",[57,58,59,60,61],"minify","minify-css","minify-javascript","minify-js","minify-stylesheet","http:\u002F\u002Fbetterwp.net\u002Fwordpress-plugins\u002Fbwp-minify\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbwp-minify.1.3.3.zip",{"slug":65,"name":66,"version":67,"author":68,"author_profile":69,"description":70,"short_description":71,"active_installs":72,"downloaded":73,"rating":74,"num_ratings":75,"last_updated":76,"tested_up_to":77,"requires_at_least":78,"requires_php":25,"tags":79,"homepage":81,"download_link":82,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"wp-minify-fix","WP Minify Fix","1.4.1","NodeCode","https:\u002F\u002Fprofiles.wordpress.org\u002Fnodecode\u002F","\u003Cp>This plugin is a fork of \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-minify\u002F\" rel=\"ugc\">WP Minify\u003C\u002Fa> to fix bugs and add features, because it has not been updated since 2012-6-4.\u003C\u002Fp>\n\u003Cp>This plugin integrates the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmrclay\u002Fminify\" rel=\"nofollow ugc\">Minify engine\u003C\u002Fa>\u003Cbr \u002F>\ninto your WordPress blog.  Once enabled, this plugin will combine and compress\u003Cbr \u002F>\nJS and CSS files to improve page load time.\u003C\u002Fp>\n\u003Ch4>What has been fixed?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Minify engine updated to version 2.1.7\u003C\u002Fli>\n\u003Cli>Cache interval option has been fixed\u003C\u002Fli>\n\u003Cli>Move CSS-@imports to the top of the output\u003C\u002Fli>\n\u003Cli>Bottom CSS- and JavaScript output fixed\u003C\u002Fli>\n\u003Cli>Support for script tags without \u003Ccode>type=\"text\u002Fjavascript\"\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Detection of protocol-relative URLs as external file (e.g. Google AdSense)\u003C\u002Fli>\n\u003Cli>New option for the HTML5 async attribute\u003C\u002Fli>\n\u003Cli>A separate JavaScript file in the footer is now possible\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How Does it Work?\u003C\u002Fh4>\n\u003Cp>WP Minify Fix grabs JS\u002FCSS files in your generated WordPress page and passes that\u003Cbr \u002F>\nlist to the Minify engine. The Minify engine then returns a consolidated,\u003Cbr \u002F>\nminified, and compressed script or style for WP Minify to reference in the\u003Cbr \u002F>\nWordPress header.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Easily integrate Minify into your WordPress blog.\u003C\u002Fli>\n\u003Cli>Minifies JavaScript, CSS, and HTML.\u003C\u002Fli>\n\u003Cli>Debug tools to help you debug your issues.\u003C\u002Fli>\n\u003Cli>Ability to include extra JS and CSS files for Minifying.\u003C\u002Fli>\n\u003Cli>Ability to exclude certain JS and CSS files for Minifying.\u003C\u002Fli>\n\u003Cli>Minified JS and CSS files can be placed wherever you want.\u003C\u002Fli>\n\u003Cli>Support for to minifying external files via caching.\u003C\u002Fli>\n\u003Cli>Ability to pass extra arguments to Minify engine.\u003C\u002Fli>\n\u003Cli>Expire headers for minified JS and CSS files.\u003C\u002Fli>\n\u003Cli>Detection and elimination of duplicate sources.\u003C\u002Fli>\n\u003Cli>Plugin hooks!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can also commit changes on our \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnodecode\u002Fwp-minify-fix\" rel=\"nofollow ugc\">Github repository\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>All contents under the wp-minify-fix\u002Fmin\u002F directory is licensed under\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fwww.opensource.org\u002Flicenses\u002Fbsd-license.php\" rel=\"nofollow ugc\">New BSD License\u003C\u002Fa> (which is\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fwww.gnu.org\u002Fcopyleft\u002Fgpl.html\" rel=\"nofollow ugc\">GPL\u003C\u002Fa> compatible).  All other\u003Cbr \u002F>\ncontents within this package is licensed under GPLv3.\u003C\u002Fp>\n","[Fixed] This plugin uses the Minify engine to combine and compress JS and CSS files to improve page load time.",1000,73691,80,40,"2017-11-28T20:47:00.000Z","4.3.34","2.8",[21,80,22,23,57],"html","http:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-minify-fixed\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-minify-fix.1.4.1.zip",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":91,"downloaded":92,"rating":13,"num_ratings":93,"last_updated":94,"tested_up_to":95,"requires_at_least":96,"requires_php":25,"tags":97,"homepage":102,"download_link":103,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"wpc-insert-code","Insert Code by Angie Makes","1.2","Chris Baldelomar","https:\u002F\u002Fprofiles.wordpress.org\u002Fcbaldelomar\u002F","\u003Cp>This plugin makes it easy for you to add custom scripts to the head and footer sections of your site. A theme can also add theme support to enable the insert of custom code (HTML, Javascript, and CSS) at the top of a page, above header, below header, above content, and below content.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fhallie.angiemakes.com\u002Fad-spots\u002F\" rel=\"nofollow ugc\">Live Demo & Documentation\u003C\u002Fa>\u003C\u002Fp>\n","Easily insert HTML, Javascript, CSS, into the head and footer areas of your site.",900,26197,2,"2017-05-10T16:44:00.000Z","4.7.32","3.9.1",[80,98,99,100,101],"insert-css","insert-html","insert-javascript","insert-js","http:\u002F\u002Fangiemakes.com\u002Ffeminine-wordpress-blog-themes-women\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwpc-insert-code.zip",{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":13,"num_ratings":114,"last_updated":115,"tested_up_to":116,"requires_at_least":117,"requires_php":118,"tags":119,"homepage":122,"download_link":123,"security_score":124,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"wp-custom-cssjs","Custom CSS\u002FJS","1.4.2","johnibom","https:\u002F\u002Fprofiles.wordpress.org\u002Fjohnibom\u002F","\u003Cp>Welcome to WP Custom CSS JS by PieSolutions.\u003Cbr \u002F>\nSo you want to add HTML, CSS, Javascript, Jquery or Tracking Pixel on your Website without messing up with your theme’s files? This small and light weight plugin gives you ability to do that right from the wordpress dashboard.\u003C\u002Fp>\n\u003Cp>=Features=\u003C\u002Fp>\n\u003Cp>\u003Cstrong>HTML (All tags are supported) in the header Block\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Inline CSS in Header\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Inline JS\u002FjQuery in Header\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>HTML (All tags are supported) in the footer Block\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Inline CSS in Footer\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Inline JS\u002FjQuery in Footer\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>LOCALIZATION\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>We are looking for translators. Please reach out to us and\u002For translate this plugin to your own language here: https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fwp-custom-cssjs\u003C\u002Fli>\n\u003C\u002Ful>\n","WP Custom CSS JS plugin allows you to add any HTML, CSS, Javascript, jQuery or Tracking Pixel easily on your wordpress site right from your dashboard.",800,15316,1,"2025-03-16T01:09:00.000Z","6.7.5","4.5","5.6",[21,22,120,23,121],"jquery","tracking-pixel","http:\u002F\u002Fpie-solutions.com\u002Fwp-custom-cssjs\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-custom-cssjs.1.4.2.zip",92,{"slug":126,"name":127,"version":128,"author":129,"author_profile":130,"description":131,"short_description":132,"active_installs":133,"downloaded":134,"rating":13,"num_ratings":135,"last_updated":136,"tested_up_to":137,"requires_at_least":138,"requires_php":25,"tags":139,"homepage":141,"download_link":142,"security_score":143,"vuln_count":93,"unpatched_count":28,"last_vuln_date":144,"fetched_at":30},"custom-css","Custom CSS, JS & PHP","2.4.3","WPFactory","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpcodefactory\u002F","\u003Cp>\u003Cstrong>Custom CSS, JS & PHP\u003C\u002Fstrong> is a lightweight plugin that lets you add:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>custom \u003Cstrong>CSS\u003C\u002Fstrong> (front-end and\u002For back-end),\u003C\u002Fli>\n\u003Cli>custom \u003Cstrong>JavaScript\u003C\u002Fstrong> (front-end and\u002For back-end), and\u003C\u002Fli>\n\u003Cli>custom \u003Cstrong>PHP\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🗘 Feedback\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>We are open to your suggestions and feedback. Thank you for using or trying out one of our plugins!\u003C\u002Fli>\n\u003C\u002Ful>\n","Just another custom CSS, JavaScript & PHP tool for WordPress.",400,9860,3,"2025-09-08T16:08:00.000Z","6.8.5","4.4",[21,22,23,140],"php","https:\u002F\u002Fwpfactory.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-css.2.4.3.zip",97,"2025-04-16 00:00:00",{"attackSurface":146,"codeSignals":245,"taintFlows":378,"riskAssessment":406,"analyzedAt":412},{"hooks":147,"ajaxHandlers":241,"restRoutes":242,"shortcodes":243,"cronEvents":244,"entryPointCount":28,"unprotectedCount":28},[148,154,160,164,169,174,177,181,185,190,194,197,201,204,208,212,216,220,224,228,230,233,236],{"type":149,"name":150,"callback":151,"file":152,"line":153},"action","admin_menu","add_option_menu","includes\\classes\\Core.php",11,{"type":155,"name":156,"callback":157,"priority":158,"file":152,"line":159},"filter","plugin_row_meta","plugin_row_links",10,14,{"type":149,"name":161,"callback":162,"file":152,"line":163},"admin_enqueue_scripts","enqueue_scripts",94,{"type":149,"name":165,"callback":166,"file":167,"line":168},"admin_notices","show","includes\\classes\\Messages.php",60,{"type":149,"name":170,"callback":171,"file":172,"line":173},"wp_enqueue_scripts","removeStylesAndScripts","includes\\classes\\NonParser.php",15,{"type":149,"name":170,"callback":175,"file":172,"line":176},"loadBlockLibraryCssConditionally",18,{"type":149,"name":178,"callback":179,"file":172,"line":180},"init","removeWpSvgDuotoneFilter",22,{"type":149,"name":182,"callback":183,"file":172,"line":184},"wp_default_scripts","removeJqueryMigrate",26,{"type":149,"name":186,"callback":187,"priority":188,"file":172,"line":189},"wp_print_footer_scripts","usePrefetch",99,38,{"type":149,"name":191,"callback":192,"file":172,"line":193},"wp_head","removePassiveListener",42,{"type":149,"name":170,"callback":195,"file":172,"line":196},"optimizeWcCartFragments",46,{"type":155,"name":198,"callback":199,"file":172,"line":200},"tiny_mce_plugins","closure",298,{"type":155,"name":202,"callback":199,"priority":158,"file":172,"line":203},"wp_resource_hints",306,{"type":155,"name":205,"callback":206,"file":172,"line":207},"embed_oembed_discover","__return_false",324,{"type":155,"name":209,"callback":210,"file":172,"line":211},"rewrite_rules_array","disable_embeds_rewrites",325,{"type":155,"name":213,"callback":214,"file":172,"line":215},"rest_endpoints","disable_embeds_remove_embed_endpoint",326,{"type":155,"name":217,"callback":218,"file":172,"line":219},"oembed_response_data","disable_embeds_filter_oembed_response_data",327,{"type":149,"name":191,"callback":221,"priority":114,"file":222,"line":223},"printInlineScript","includes\\classes\\parts\\AdvDeferJs.php",44,{"type":149,"name":186,"callback":221,"priority":225,"file":226,"line":227},999,"includes\\classes\\parts\\DelayCss.php",43,{"type":149,"name":186,"callback":221,"priority":225,"file":229,"line":227},"includes\\classes\\parts\\DelayJs.php",{"type":149,"name":178,"callback":178,"file":231,"line":232},"includes\\classes\\Settings.php",13,{"type":149,"name":234,"callback":235,"file":231,"line":159},"opm_after_body","add_import_html",{"type":149,"name":237,"callback":238,"file":239,"line":240},"admin_init","OptimizeMore\\opm_activation_redirect","optimize-more.php",67,[],[],[],[],{"dangerousFunctions":246,"sqlUsage":247,"outputEscaping":249,"fileOperations":93,"externalRequests":135,"nonceChecks":93,"capabilityChecks":376,"bundledLibraries":377},[],{"prepared":93,"raw":28,"locations":248},[],{"escaped":250,"rawEcho":27,"locations":251},90,[252,255,257,260,262,265,267,269,270,272,274,277,278,280,282,284,286,288,289,290,291,292,293,295,296,297,298,299,300,302,303,304,305,306,307,309,310,311,312,313,314,316,319,321,323,325,327,329,331,332,333,334,335,336,338,340,341,342,343,344,345,347,348,349,350,351,352,354,355,356,357,358,359,361,362,363,364,365,366,368,369,370,371,372,373],{"file":167,"line":253,"context":254},50,"raw output",{"file":172,"line":256,"context":254},542,{"file":258,"line":259,"context":254},"includes\\classes\\Parser.php",303,{"file":231,"line":261,"context":254},202,{"file":263,"line":264,"context":254},"view\\admin\\parts\\partials\\async-defer\\adv-defer-js.php",33,{"file":263,"line":266,"context":254},52,{"file":263,"line":268,"context":254},71,{"file":263,"line":250,"context":254},{"file":263,"line":271,"context":254},109,{"file":263,"line":273,"context":254},127,{"file":275,"line":276,"context":254},"view\\admin\\parts\\partials\\async-defer\\async-css.php",31,{"file":275,"line":253,"context":254},{"file":275,"line":279,"context":254},69,{"file":275,"line":281,"context":254},88,{"file":275,"line":283,"context":254},107,{"file":275,"line":285,"context":254},125,{"file":287,"line":276,"context":254},"view\\admin\\parts\\partials\\async-defer\\defer-js.php",{"file":287,"line":253,"context":254},{"file":287,"line":279,"context":254},{"file":287,"line":281,"context":254},{"file":287,"line":283,"context":254},{"file":287,"line":285,"context":254},{"file":294,"line":276,"context":254},"view\\admin\\parts\\partials\\delay\\delay-css.php",{"file":294,"line":253,"context":254},{"file":294,"line":279,"context":254},{"file":294,"line":281,"context":254},{"file":294,"line":283,"context":254},{"file":294,"line":285,"context":254},{"file":301,"line":276,"context":254},"view\\admin\\parts\\partials\\delay\\delay-js.php",{"file":301,"line":253,"context":254},{"file":301,"line":279,"context":254},{"file":301,"line":281,"context":254},{"file":301,"line":283,"context":254},{"file":301,"line":285,"context":254},{"file":308,"line":276,"context":254},"view\\admin\\parts\\partials\\extra\\delay-content.php",{"file":308,"line":253,"context":254},{"file":308,"line":279,"context":254},{"file":308,"line":281,"context":254},{"file":308,"line":283,"context":254},{"file":308,"line":285,"context":254},{"file":315,"line":227,"context":254},"view\\admin\\parts\\partials\\extra\\otfic.php",{"file":317,"line":318,"context":254},"view\\admin\\parts\\partials\\inline\\inline-css.php",34,{"file":317,"line":320,"context":254},53,{"file":317,"line":322,"context":254},72,{"file":317,"line":324,"context":254},91,{"file":317,"line":326,"context":254},110,{"file":317,"line":328,"context":254},128,{"file":330,"line":318,"context":254},"view\\admin\\parts\\partials\\inline\\inline-js.php",{"file":330,"line":320,"context":254},{"file":330,"line":322,"context":254},{"file":330,"line":324,"context":254},{"file":330,"line":326,"context":254},{"file":330,"line":328,"context":254},{"file":337,"line":158,"context":254},"view\\admin\\parts\\partials\\misc\\define-custom-page.php",{"file":339,"line":276,"context":254},"view\\admin\\parts\\partials\\preload\\preload-css.php",{"file":339,"line":253,"context":254},{"file":339,"line":279,"context":254},{"file":339,"line":281,"context":254},{"file":339,"line":283,"context":254},{"file":339,"line":285,"context":254},{"file":346,"line":276,"context":254},"view\\admin\\parts\\partials\\preload\\preload-font.php",{"file":346,"line":253,"context":254},{"file":346,"line":279,"context":254},{"file":346,"line":281,"context":254},{"file":346,"line":283,"context":254},{"file":346,"line":285,"context":254},{"file":353,"line":276,"context":254},"view\\admin\\parts\\partials\\preload\\preload-js.php",{"file":353,"line":253,"context":254},{"file":353,"line":279,"context":254},{"file":353,"line":281,"context":254},{"file":353,"line":283,"context":254},{"file":353,"line":285,"context":254},{"file":360,"line":276,"context":254},"view\\admin\\parts\\partials\\remove\\remove-css.php",{"file":360,"line":253,"context":254},{"file":360,"line":279,"context":254},{"file":360,"line":281,"context":254},{"file":360,"line":283,"context":254},{"file":360,"line":285,"context":254},{"file":367,"line":276,"context":254},"view\\admin\\parts\\partials\\remove\\remove-js.php",{"file":367,"line":253,"context":254},{"file":367,"line":279,"context":254},{"file":367,"line":281,"context":254},{"file":367,"line":283,"context":254},{"file":367,"line":285,"context":254},{"file":374,"line":375,"context":254},"view\\admin\\settings.php",58,5,[],[379,398],{"entryPoint":380,"graph":381,"unsanitizedCount":28,"severity":397},"import (includes\\classes\\Settings.php:117)",{"nodes":382,"edges":394},[383,388],{"id":384,"type":385,"label":386,"file":231,"line":387},"n0","source","$_FILES",146,{"id":389,"type":390,"label":391,"file":231,"line":392,"wp_function":393},"n1","sink","file_get_contents() [SSRF\u002FLFI]",160,"file_get_contents",[395],{"from":384,"to":389,"sanitized":396},true,"low",{"entryPoint":399,"graph":400,"unsanitizedCount":28,"severity":397},"\u003CSettings> (includes\\classes\\Settings.php:0)",{"nodes":401,"edges":404},[402,403],{"id":384,"type":385,"label":386,"file":231,"line":387},{"id":389,"type":390,"label":391,"file":231,"line":392,"wp_function":393},[405],{"from":384,"to":389,"sanitized":396},{"summary":407,"deductions":408},"The \"optimize-more\" v2.0.3 plugin exhibits a generally good security posture based on the static analysis.  The absence of any entry points like AJAX handlers, REST API routes, shortcodes, or cron events is a significant strength, as it greatly limits the plugin's attack surface. Furthermore, the use of prepared statements for all SQL queries and the presence of nonce and capability checks on all identified flows are positive indicators of secure coding practices.  The plugin also has no recorded vulnerability history, suggesting it has been well-maintained or has not been a target for exploit development.\n\nHowever, a notable concern arises from the output escaping. With 175 total outputs and only 51% being properly escaped, there is a significant risk of Cross-Site Scripting (XSS) vulnerabilities. This means that a substantial portion of the plugin's output could potentially be manipulated by attackers to inject malicious scripts into user sessions. While the taint analysis did not reveal any unsanitized paths, the lack of consistent output escaping for a large percentage of outputs presents a tangible risk that warrants attention.\n\nIn conclusion, the \"optimize-more\" plugin is strong in its limited attack surface and secure data handling for SQL queries. The lack of historical vulnerabilities is also a positive sign. The primary weakness lies in the inconsistent output escaping, which introduces a considerable risk of XSS. Addressing this issue should be the priority to further strengthen the plugin's security.",[409],{"reason":410,"points":411},"Significant portion of outputs not properly escaped",8,"2026-03-16T20:11:22.972Z",{"wat":414,"direct":430},{"assetPaths":415,"generatorPatterns":420,"scriptPaths":421,"versionParams":425},[416,417,418,419],"\u002Fwp-content\u002Fplugins\u002Foptimize-more\u002Fassets\u002Fjs\u002Fadmin-settings.js","\u002Fwp-content\u002Fplugins\u002Foptimize-more\u002Fassets\u002Fjs\u002Fays-beforeunload-shim.js","\u002Fwp-content\u002Fplugins\u002Foptimize-more\u002Fassets\u002Fjs\u002Fjquery-areyousure.js","\u002Fwp-content\u002Fplugins\u002Foptimize-more\u002Fassets\u002Fcss\u002Fadmin-settings.css",[],[422,423,424],"js\u002Fadmin-settings.js","js\u002Fays-beforeunload-shim.js","js\u002Fjquery-areyousure.js",[426,427,428,429],"optimize-more\u002Fassets\u002Fjs\u002Fadmin-settings.js?ver=","optimize-more\u002Fassets\u002Fjs\u002Fays-beforeunload-shim.js?ver=","optimize-more\u002Fassets\u002Fjs\u002Fjquery-areyousure.js?ver=","optimize-more\u002Fassets\u002Fcss\u002Fadmin-settings.css?ver=",{"cssClasses":431,"htmlComments":432,"htmlAttributes":433,"restEndpoints":435,"jsGlobals":436,"shortcodeOutput":438},[],[],[434],"data-page-title=\"Optimize More!\"",[],[437],"opm_instance",[]]