{"id":217452,"date":"2025-02-24T10:16:29","date_gmt":"2025-02-24T10:16:29","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/performance-optimisation\/"},"modified":"2026-04-14T13:14:21","modified_gmt":"2026-04-14T13:14:21","slug":"performance-optimisation","status":"publish","type":"plugin","link":"https:\/\/sl.wordpress.org\/plugins\/performance-optimisation\/","author":23191642,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2.3","stable_tag":"1.2.3","tested":"6.9.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Performance Optimisation","header_author":"Nilesh kanzariya","header_description":"A Performance Optimisation plugin for WordPress.","assets_banners_color":"","last_updated":"2026-04-14 13:14:21","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":5,"author_block_rating":0,"active_installs":0,"downloads":969,"num_ratings":4,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"nilesh912","date":"2025-02-24 10:18:15"},"1.1.0":{"tag":"1.1.0","author":"nilesh912","date":"2026-04-05 16:32:43"},"1.1.1":{"tag":"1.1.1","author":"nilesh912","date":"2026-04-06 07:44:21"},"1.1.2":{"tag":"1.1.2","author":"nilesh912","date":"2026-04-07 17:44:22"},"1.1.3":{"tag":"1.1.3","author":"nilesh912","date":"2026-04-07 18:49:44"},"1.1.4":{"tag":"1.1.4","author":"nilesh912","date":"2026-04-08 14:56:24"},"1.2.0":{"tag":"1.2.0","author":"nilesh912","date":"2026-04-13 17:24:00"},"1.2.1":{"tag":"1.2.1","author":"nilesh912","date":"2026-04-14 12:21:36"},"1.2.2":{"tag":"1.2.2","author":"nilesh912","date":"2026-04-14 12:30:36"},"1.2.3":{"tag":"1.2.3","author":"nilesh912","date":"2026-04-14 13:14:21"}},"upgrade_notice":{"1.2.3 (2026-04-14)":"<p>Stability and performance release: Fixed a fatal error during activation\/admin notices, implemented lazy loading for cache handlers to reduce overhead, and aligned documentation with official directory limits.<\/p>","1.2.0 (2026-04-13)":"<p>Major feature release completing the &quot;Cache Core&quot; milestone: .htaccess automation, CDN URL rewriting, and smart cache purging. Includes a full Design System v2.0 with WordPress admin color scheme sync, confirmation dialogs, and polished form controls. Significant security and performance improvements throughout.<\/p>","1.1.4 (2026-04-08)":"<p>Security release with path traversal fixes, image queue performance improvements, and accessibility fixes.<\/p>","1.1.3 (2026-04-07)":"<p>Maintenance release to fix vendor file exclusion in build packages.<\/p>","1.1.1 (2026-04-06)":"<p>Minor release with JS performance optimizations and security hardening.<\/p>","1.1.0 (2026-04-05)":"<p>Stable v1.1.0 release with security hardening and user interface refinements.<\/p>","1.0.0 (2024-12-18)":"<p>Initial release with core performance features.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":4},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3499224,"resolution":"128x128","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.2.0","1.2.1","1.2.2","1.2.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3506046,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3506046,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3506046,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3506046,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3506046,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3506046,"resolution":"6","location":"assets","locale":""}},"screenshots":{"1":"<strong>Dashboard<\/strong>: Comprehensive overview of cache status, file optimization metrics, and recent activity log.","2":"<strong>File Optimization<\/strong>: Minification settings for JavaScript, CSS, and HTML with Basic, Advanced, E-commerce, and Network tab configurations.","3":"<strong>Preload Settings<\/strong>: Granular controls for cache warm-up, connection prediction (DNS\/Preconnect), and critical asset prioritization (Fonts\/CSS).","4":"<strong>Image Optimization<\/strong>: Automated Next-Gen format conversion (WebP\/AVIF), smart lazy loading with SVG placeholders, and intelligent LCP preloading.","5":"<strong>Database Optimization<\/strong>: Safe maintenance tools to clean post revisions, auto-drafts, spam comments, and expired transients.","6":"<strong>Tools<\/strong>: Simplified interface for exporting and importing your performance configurations across environments."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[146,125378,1736,187,247],"plugin_category":[52,54],"plugin_contributors":[238689],"plugin_business_model":[],"class_list":["post-217452","plugin","type-plugin","status-publish","hentry","plugin_tags-cache","plugin_tags-image-optimisation","plugin_tags-minify","plugin_tags-optimization","plugin_tags-performance","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_contributors-nilesh912","plugin_committers-nilesh912"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/performance-optimisation\/assets\/icon-128x128.png?rev=3499224","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/performance-optimisation\/assets\/screenshot-1.png?rev=3506046","caption":"<strong>Dashboard<\/strong>: Comprehensive overview of cache status, file optimization metrics, and recent activity log."},{"src":"https:\/\/ps.w.org\/performance-optimisation\/assets\/screenshot-2.png?rev=3506046","caption":"<strong>File Optimization<\/strong>: Minification settings for JavaScript, CSS, and HTML with Basic, Advanced, E-commerce, and Network tab configurations."},{"src":"https:\/\/ps.w.org\/performance-optimisation\/assets\/screenshot-3.png?rev=3506046","caption":"<strong>Preload Settings<\/strong>: Granular controls for cache warm-up, connection prediction (DNS\/Preconnect), and critical asset prioritization (Fonts\/CSS)."},{"src":"https:\/\/ps.w.org\/performance-optimisation\/assets\/screenshot-4.png?rev=3506046","caption":"<strong>Image Optimization<\/strong>: Automated Next-Gen format conversion (WebP\/AVIF), smart lazy loading with SVG placeholders, and intelligent LCP preloading."},{"src":"https:\/\/ps.w.org\/performance-optimisation\/assets\/screenshot-5.png?rev=3506046","caption":"<strong>Database Optimization<\/strong>: Safe maintenance tools to clean post revisions, auto-drafts, spam comments, and expired transients."},{"src":"https:\/\/ps.w.org\/performance-optimisation\/assets\/screenshot-6.png?rev=3506046","caption":"<strong>Tools<\/strong>: Simplified interface for exporting and importing your performance configurations across environments."}],"raw_content":"<!--section=description-->\n<p>Performance Optimisation helps you speed up your site with cache management, JavaScript and CSS minification, image conversion (WebP and AVIF), lazy loading, preload hints, and a modern admin UI. It is designed to stay <strong>off by default<\/strong> for aggressive options (defer\/delay JS, WooCommerce asset removal, server rules) so you can enable features gradually and test as you go\u2014similar to how you would tune Autoptimize or a caching stack, but with a focused, dashboard-first workflow.<\/p>\n\n<p><strong>Why use this plugin?<\/strong><\/p>\n\n<ul>\n<li><strong>Clear scope:<\/strong> One place for cache stats, file optimisation, images, preload, and tools\u2014without bundling unrelated features.<\/li>\n<li><strong>Safety-first UX:<\/strong> Advanced toggles show warnings; WooCommerce-related options remind you to test cart and checkout.<\/li>\n<li><strong>Core Web Vitals &amp; PageSpeed:<\/strong> Lazy loading, minification, preconnect\/prefetch, and image formats help real-world metrics\u2014not just a higher score on a single lab test.<\/li>\n<\/ul>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Dashboard with an overview of cache, JavaScript, CSS, and image optimisation status.<\/li>\n<li>Cache management tools, including size display and a \"Clear Cache\" button.<\/li>\n<li>JavaScript &amp; CSS Optimization: Minify, combine, defer\/delay (opt-in), and exclude specific files.<\/li>\n<li>Image optimization: Convert images to WebP and AVIF formats.<\/li>\n<li>Preload settings for cache, fonts, DNS, and images.<\/li>\n<li>Advanced lazy loading options.<\/li>\n<li>Import\/export plugin settings.<\/li>\n<\/ul>\n\n<h3>Usage<\/h3>\n\n<ol>\n<li><p><strong>Dashboard Overview<\/strong><\/p>\n\n<ul>\n<li>View cache size and clear cache.  <\/li>\n<li>Check the number of minified JavaScript and CSS files.  <\/li>\n<li>Monitor image optimisation (WebP\/AVIF status).  <\/li>\n<li>Review recent plugin activities.  <\/li>\n<\/ul><\/li>\n<li><p><strong>File Optimization Settings<\/strong><\/p>\n\n<ul>\n<li>Minify JavaScript, CSS, and HTML.  <\/li>\n<li>Combine CSS and exclude specific files.  <\/li>\n<li>Defer and delay JavaScript loading.  <\/li>\n<\/ul><\/li>\n<li><p><strong>Preload Settings<\/strong><\/p>\n\n<ul>\n<li>Enable cache preloading.  <\/li>\n<li>Preconnect to origins and prefetch DNS.  <\/li>\n<li>Preload fonts, CSS, and images.  <\/li>\n<\/ul><\/li>\n<li><p><strong>Image Optimisation Settings<\/strong><\/p>\n\n<ul>\n<li>Lazy load images with SVG placeholders.  <\/li>\n<li>Convert images to WebP\/AVIF formats and exclude specific images.  <\/li>\n<li>Preload feature images for selected post types.  <\/li>\n<\/ul><\/li>\n<li><p><strong>Tools<\/strong><\/p>\n\n<ul>\n<li>Import\/export plugin settings for quick setup.<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<h3>Composer Libraries<\/h3>\n\n<p>This plugin uses the following composer libraries:<\/p>\n\n<ul>\n<li><code>voku\/html-min<\/code> - For HTML minification.<\/li>\n<li><code>matthiasmullie\/minify<\/code> - For JavaScript and CSS minification.<\/li>\n<\/ul>\n\n<p>Composer configuration:<\/p>\n\n<pre><code>{\n    \"name\": \"nilesh\/performance-optimisation\",\n    \"description\": \"A package for performance optimization, including HTML minification and code minification tools.\",\n    \"license\": \"GPL-2.0-or-later\",\n    \"authors\": [\n        {\n            \"name\": \"nilesh\",\n            \"email\": \"nilesh.kanzariya912@gmail.com\"\n        }\n    ],\n    \"require\": {\n        \"voku\/html-min\": \"^4.5\",\n        \"matthiasmullie\/minify\": \"^1.3\"\n    },\n    \"extra\": {\n        \"cleanup\": {\n            \"dirs\": [\"bin\", \"tests\", \"docs\"],\n            \"exclude\": [\"*.md\", \"*.yml\", \"*.xml\", \"tests\", \"docs\"]\n        }\n    }\n}\n<\/code><\/pre>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/performance-optimisation<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Configure the settings via the <strong>Performance Optimisation<\/strong> menu in the WordPress admin panel.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20work%20with%20woocommerce%3F\"><h3>Will this work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce-specific asset removal is <strong>optional<\/strong> and off by default. If you enable it, test cart, checkout, and product pages\u2014incorrect URL or handle exclusions can break the storefront.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20with%20another%20cache%20plugin%20%28wp%20super%20cache%2C%20litespeed%2C%20wp%20rocket%2C%20etc.%29%3F\"><h3>Can I use this with another cache plugin (WP Super Cache, LiteSpeed, WP Rocket, etc.)?<\/h3><\/dt>\n<dd><p>You should run <strong>one<\/strong> full-page caching solution. This plugin can install a <code>advanced-cache.php<\/code> drop-in when appropriate; if another plugin or your host already manages that file, Performance Optimisation will not replace it and may show an admin notice. Minify\/image features may still be usable depending on your stack\u2014test carefully.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20improve%20core%20web%20vitals%20or%20pagespeed%20insights%3F\"><h3>Does this plugin improve Core Web Vitals or PageSpeed Insights?<\/h3><\/dt>\n<dd><p>It can help when you enable features that address LCP, CLS, and JS blocking (lazy load, minify, preload, modern image formats). Results depend on your theme and other plugins; always measure before and after.<\/p><\/dd>\n<dt id=\"how%20do%20i%20optimize%20images%20using%20this%20plugin%3F\"><h3>How do I optimize images using this plugin?<\/h3><\/dt>\n<dd><p>Go to the Image Optimisation Settings tab, enable image conversion, and choose the format (WebP, AVIF, or both). Click \"Optimize Now\" to start the process.<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20specific%20javascript%20or%20css%20files%20from%20minification%3F\"><h3>Can I exclude specific JavaScript or CSS files from minification?<\/h3><\/dt>\n<dd><p>Yes, in the File Optimization Settings tab, use the provided text areas to list files you want to exclude.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20support%20lazy%20loading%20for%20images%3F\"><h3>Does the plugin support lazy loading for images?<\/h3><\/dt>\n<dd><p>Yes, lazy loading can be enabled in the Image Optimisation Settings tab. You can also use SVG placeholders for better performance.<\/p><\/dd>\n<dt id=\"how%20can%20i%20import%2Fexport%20plugin%20settings%3F\"><h3>How can I import\/export plugin settings?<\/h3><\/dt>\n<dd><p>Use the Tools section to export your current settings or import settings from another instance.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.3 (2026-04-14)<\/h4>\n\n<ul>\n<li>Fix: Resolved fatal error where <code>Advanced_Cache_Handler<\/code> was not found during activation or admin notice checks.<\/li>\n<li>Performance: Refactored <code>Advanced_Cache_Handler<\/code> to use lazy loading (\"require when needed\") to reduce memory footprint.<\/li>\n<li>Fix: Shortened plugin short description to meet WordPress.org's 150-character limit.<\/li>\n<\/ul>\n\n<h4>1.2.1 (2026-04-14)<\/h4>\n\n<ul>\n<li>Fix: Implemented handle whitelisting in Metabox to prevent unauthorized script\/style handle persistence.<\/li>\n<li>Fix: Support parent directory locations for <code>wp-config.php<\/code> (core-mirroring behavior).<\/li>\n<li>Fix: Properly handle transient deletion and <code>WP_CACHE<\/code> constant guards during activation.<\/li>\n<li>Fix: Alignment and escaping in admin notices for WPCS compliance.<\/li>\n<li>Fix: Add <code>WP_CACHE<\/code> to wp-config.php when the constant was previously undefined (correct activation logic).<\/li>\n<li>Safety: <code>advanced-cache.php<\/code> includes a plugin marker; do not overwrite or delete another plugin\u2019s drop-in.<\/li>\n<li>UX: Admin notices for foreign drop-in, wp-config issues, competing full-page cache plugins, and a short post-activation welcome notice.<\/li>\n<li>UI: Stronger warning when enabling WooCommerce asset removal.<\/li>\n<li>Docs: Expanded readme description, FAQ, and screenshot placeholders.<\/li>\n<li>Meta: Plugin header <code>Requires at least<\/code> now matches readme.txt (6.2).<\/li>\n<\/ul>\n\n<h4>1.2.0 (2026-04-13)<\/h4>\n\n<ul>\n<li>New: Automatic Gzip compression and browser caching for faster page loads.<\/li>\n<li>New: CDN support \u2014 serve static assets from your own CDN domain.<\/li>\n<li>New: Smarter cache clearing \u2014 related pages update automatically when you edit content.<\/li>\n<li>New: Safety prompts before deleting data, removing images, or importing settings.<\/li>\n<li>New: Helpful warnings when enabling advanced options like Defer JS or Server Rules.<\/li>\n<li>New: Plugin UI matches your chosen WordPress admin color scheme.<\/li>\n<li>Improvement: Faster loading \u2014 removed external font dependency.<\/li>\n<li>Improvement: Better form inputs, loading indicators, and keyboard navigation.<\/li>\n<li>Improvement: Faster database operations for image processing.<\/li>\n<li>Security: Fixed several file path security issues.<\/li>\n<li>Compatibility: Tested up to WordPress 6.9.<\/li>\n<\/ul>\n\n<h4>1.1.4 (2026-04-08)<\/h4>\n\n<ul>\n<li>Security: Fixed path traversal vulnerability in the Image Optimisation REST endpoint.<\/li>\n<li>Security: Added directory traversal protection in URL-to-path resolution.<\/li>\n<li>Performance: Optimized image queue database writes by caching in memory and flushing once on shutdown.<\/li>\n<li>Fix: Updated CheckboxOption component to use unique IDs for proper accessibility (label\/input association, aria-describedby).<\/li>\n<\/ul>\n\n<h4>1.1.3 (2026-04-07)<\/h4>\n\n<ul>\n<li>Fix: Anchored build paths in .distignore to prevent accidental exclusion of vendor files.<\/li>\n<\/ul>\n\n<h4>1.1.2 (2026-04-07)<\/h4>\n\n<ul>\n<li>Fix: Cache the Img_Converter instance to reduce PHP overhead during image conversion.<\/li>\n<li>Fix: Validate and sanitize imported REST API settings before saving.<\/li>\n<li>Fix: Improve sidebar accessibility and keyboard navigation in the admin UI.<\/li>\n<li>Update: Use <code>@wordpress\/element<\/code> for React rendering compatibility in WordPress.<\/li>\n<\/ul>\n\n<h4>1.1.1 (2026-04-06)<\/h4>\n\n<ul>\n<li>Improvement: Optimized JS Defer and Delay loading by caching exclusion lists.<\/li>\n<li>Improvement: Enhanced backend performance by reducing redundant string parsing.<\/li>\n<li>Security: Implemented protection against potential directory traversal vulnerabilities.<\/li>\n<li>Fix: Standardized REST API key sanitization to prevent settings synchronization issues.<\/li>\n<li>Localization: Added translated ARIA labels for sidebar accessibility.<\/li>\n<\/ul>\n\n<h4>1.1.0 (2026-04-05)<\/h4>\n\n<ul>\n<li>Improvement: Visually enhanced the 'File Optimization' settings for easier configuration.<\/li>\n<li>Improvement: Hardened overall plugin security and input validation.<\/li>\n<li>Fix: Automatically clear cache when changing permalink settings or switching themes.<\/li>\n<li>Fix: Prevented unnecessary CSS files from generating on 404 error pages.<\/li>\n<li>Update: Improved image lazy loading reliability for smoother page rendering.<\/li>\n<\/ul>\n\n<h4>1.0.0 (2024-12-18)<\/h4>\n\n<p>Initial release with full functionality:\nDashboard overview.\nCache management.\nJavaScript, CSS, and HTML optimization.\nAdvanced image optimisation and lazy loading.\nPreloading settings for cache, fonts, and images.\nImport\/export settings tools.<\/p>","raw_excerpt":"Lightweight performance toolkit: cache, file minification, WebP\/AVIF conversion, and Core Web Vitals tools with safe defaults.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/217452","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/sl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/sl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=217452"}],"author":[{"embeddable":true,"href":"https:\/\/sl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/nilesh912"}],"wp:attachment":[{"href":"https:\/\/sl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=217452"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/sl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=217452"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/sl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=217452"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/sl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=217452"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/sl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=217452"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/sl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=217452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}