{"id":354733,"date":"2026-09-04T09:31:18","date_gmt":"2026-09-04T09:31:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dm-super-cache\/"},"modified":"2026-09-04T09:31:06","modified_gmt":"2026-09-04T09:31:06","slug":"cachewing","status":"publish","type":"plugin","link":"https:\/\/ru.wordpress.org\/plugins\/cachewing\/","author":23550388,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"CacheWing","header_author":"MD Ahasan","header_description":"A lightweight WordPress performance plugin \u2014 full-page caching, first-party CSS minification, non-critical JavaScript deferral, render-blocking-free Google Fonts loading, and below-the-fold image\/iframe lazy-loading. No bloat, no upsells, just the essentials that move your Core Web Vitals score.","assets_banners_color":"5386ea","last_updated":"2026-09-04 09:31:06","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/dmahasan.com\/tools\/cachewing\/","header_author_uri":"https:\/\/dmahasan.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":42,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"dmahasan","date":"2026-09-04 09:31:06","revision":3680966}},"upgrade_notice":{"1.0.3":"<ul>\n<li>Plugin renamed to CacheWing (was DM Super Cache) per WordPress.org naming policy. Same plugin, same settings, new name only.<\/li>\n<\/ul>","1.0.2":"<ul>\n<li>Security and code-quality hardening for WordPress.org plugin review; no settings changes needed.<\/li>\n<\/ul>","1.0.1":"<ul>\n<li>Updated &quot;Tested up to&quot; to WordPress 7.0.<\/li>\n<li>Minor readme and plugin metadata cleanup.<\/li>\n<\/ul>","1.0.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3680966,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3680966,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3680966,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3680966,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[146,4884,1736,5896,247],"plugin_category":[52,54],"plugin_contributors":[279139],"plugin_business_model":[],"class_list":["post-354733","plugin","type-plugin","status-publish","hentry","plugin_tags-cache","plugin_tags-lazy-load","plugin_tags-minify","plugin_tags-page-speed","plugin_tags-performance","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_contributors-dmahasan","plugin_committers-dmahasan"],"banners":{"banner":"https:\/\/ps.w.org\/cachewing\/assets\/banner-772x250.png?rev=3680966","banner_2x":"https:\/\/ps.w.org\/cachewing\/assets\/banner-1544x500.png?rev=3680966","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/cachewing\/assets\/icon-128x128.png?rev=3680966","icon_2x":"https:\/\/ps.w.org\/cachewing\/assets\/icon-256x256.png?rev=3680966","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>CacheWing<\/strong> is a fast, no-bloat WordPress performance plugin built to improve page speed and Core Web Vitals scores without the complexity of a full-featured caching suite. It does five things, and does them well:<\/p>\n\n<ul>\n<li><strong>Full-Page Caching<\/strong> \u2014 serves static HTML snapshots to logged-out visitors so PHP and the database are skipped entirely on repeat requests.<\/li>\n<li><strong>CSS Minification<\/strong> \u2014 automatically minifies first-party stylesheets and serves the minified version from a local cache.<\/li>\n<li><strong>JavaScript Deferral<\/strong> \u2014 defers non-critical scripts so the browser can paint the page before running them, with an exclude list for scripts that must load immediately.<\/li>\n<li><strong>Font Optimization<\/strong> \u2014 loads Google Fonts asynchronously so web fonts never block the initial render.<\/li>\n<li><strong>Lazy Loading<\/strong> \u2014 adds native lazy-loading to images and iframes below the fold, while protecting your Largest Contentful Paint (LCP) image from being delayed.<\/li>\n<\/ul>\n\n<p>Built for site owners and developers who want a fast, transparent, single-purpose caching plugin \u2014 not a 40-tab settings panel.<\/p>\n\n<h4>Why CacheWing<\/h4>\n\n<p>Most all-in-one caching plugins bundle features you'll never use and settings that are hard to reason about. CacheWing focuses only on the optimizations that move Google PageSpeed Insights and Core Web Vitals scores, with sane defaults that work out of the box.<\/p>\n\n<h4>Features at a glance<\/h4>\n\n<ul>\n<li>One-click cache clearing from the admin bar<\/li>\n<li>Automatic cache purge on publish\/update, new comments, theme switch, and plugin activation\/deactivation<\/li>\n<li>Per-script exclude list for JavaScript deferral<\/li>\n<li>Cache status dashboard (pages cached, disk usage)<\/li>\n<li>Zero external dependencies, zero tracking, zero telemetry<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>cachewing<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the zip directly via Plugins \u2192 Add New \u2192 Upload Plugin.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Go to Settings \u2192 CacheWing to review the default settings (all optimizations are enabled by default).<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20conflict%20with%20another%20caching%20plugin%3F\"><h3>Will this conflict with another caching plugin?<\/h3><\/dt>\n<dd><p>Deactivate any other page-caching plugin before activating CacheWing \u2014 running two full-page cache plugins at once can cause stale content or conflicts.<\/p><\/dd>\n<dt id=\"does%20it%20cache%20pages%20for%20logged-in%20users%3F\"><h3>Does it cache pages for logged-in users?<\/h3><\/dt>\n<dd><p>No. Full-page caching only applies to logged-out visitors, so logged-in editors and admins always see a live, uncached version of the page.<\/p><\/dd>\n<dt id=\"will%20minifying%20my%20css%20break%20my%20design%3F\"><h3>Will minifying my CSS break my design?<\/h3><\/dt>\n<dd><p>CacheWing only minifies first-party stylesheets (files served from your own domain) using safe whitespace\/comment stripping \u2014 it does not restructure selectors, so visual regressions are extremely unlikely. You can turn CSS minification off at any time from the settings page.<\/p><\/dd>\n<dt id=\"how%20do%20i%20exclude%20a%20script%20from%20being%20deferred%3F\"><h3>How do I exclude a script from being deferred?<\/h3><\/dt>\n<dd><p>Add its registered script handle (the name used in <code>wp_enqueue_script()<\/code>) to the \"Exclude handles\" field on the settings page, comma-separated.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Renamed the plugin from \"DM Super Cache\" to \"CacheWing\" at the request of the WordPress.org Plugins Team, since \"Super Cache\" was judged too close to the existing \"WP Super Cache\" plugin name.<\/li>\n<li>Updated text domain to <code>cachewing<\/code> to match the new name.<\/li>\n<li>Fixed the last two WordPress.org Plugin Check findings: moved a misplaced <code>phpcs:ignore<\/code> comment onto the exact flagged line in the font-preload code, and isolated an <code>ABSPATH<\/code> file-path lookup into its own function in the CSS minifier so it no longer trips the ABSPATH\/file-write heuristic check.<\/li>\n<li>No functional changes \u2014 caching, minification, defer, font, and lazy-load behavior is unchanged from 1.0.2.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Updated \"Tested up to\" to WordPress 7.1.<\/li>\n<li>Shortened the readme short description to meet WordPress.org's 150-character limit.<\/li>\n<li>Hardened input handling: all <code>$_SERVER<\/code>\/<code>$_POST<\/code>\/<code>$_REQUEST<\/code> reads are now unslashed and sanitized before use.<\/li>\n<li>Switched cache file read\/write\/delete operations to the WP_Filesystem API instead of raw PHP filesystem calls, only when the \"direct\" filesystem method is available (falls back to safe direct PHP file calls otherwise, so nothing ever prompts for FTP credentials on the front-end).<\/li>\n<li>Replaced <code>parse_url()<\/code> with <code>wp_parse_url()<\/code> and <code>unlink()<\/code> with <code>wp_delete_file()<\/code>.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Updated \"Tested up to\" to WordPress 7.0.<\/li>\n<li>Minor readme and plugin metadata cleanup.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release: full-page cache, CSS minification, JS defer, font optimization, lazy-loading, and admin settings page.<\/li>\n<\/ul>","raw_excerpt":"Lightweight caching plugin: full-page cache, CSS minify, JS defer, font optimization, and image lazy-load \u2014 built for Core Web Vitals.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/354733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=354733"}],"author":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dmahasan"}],"wp:attachment":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=354733"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=354733"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=354733"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=354733"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=354733"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=354733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}