{"id":305134,"date":"2026-06-29T22:32:51","date_gmt":"2026-06-29T22:32:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ultracache\/"},"modified":"2026-06-29T22:32:33","modified_gmt":"2026-06-29T22:32:33","slug":"ultracache","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ultracache\/","author":16905330,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.59.07.08","stable_tag":"2.59.07.08","tested":"7.0","requires":"6.9","requires_php":"8.1","requires_plugins":null,"header_name":"UltraCache","header_author":"Byron Iniotakis","header_description":"WordPress page cache, object cache, media optimization, Varnish purge tools, warm-up, and performance diagnostics.","assets_banners_color":"031b2c","last_updated":"2026-06-29 22:32:33","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/iniotakis.com\/","header_plugin_uri":"https:\/\/github.com\/orloxgr\/ultracache","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":189,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.59.07.08":{"tag":"2.59.07.08","author":"orloxgr","date":"2026-06-29 22:32:33"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3590662,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3590662,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3590662,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3590662,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.59.07.08"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3590662,"resolution":"1","location":"assets","locale":"","width":1243,"height":836},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3590662,"resolution":"2","location":"assets","locale":"","width":1232,"height":1171},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3590662,"resolution":"3","location":"assets","locale":"","width":1233,"height":898}},"screenshots":{"1":"UltraCache dashboard overview.","2":"Cache engine and object cache controls.","3":"Media, CSS, fonts, warm-up, and diagnostics panels."}},"plugin_section":[],"plugin_tags":[194661,146,45952,3886,15376],"plugin_category":[52],"plugin_contributors":[269520],"plugin_business_model":[],"class_list":["post-305134","plugin","type-plugin","status-publish","hentry","plugin_tags-avif","plugin_tags-cache","plugin_tags-redis","plugin_tags-varnish","plugin_tags-webp","plugin_category-performance","plugin_contributors-orloxgr","plugin_committers-orloxgr"],"banners":{"banner":"https:\/\/ps.w.org\/ultracache\/assets\/banner-772x250.png?rev=3590662","banner_2x":"https:\/\/ps.w.org\/ultracache\/assets\/banner-1544x500.png?rev=3590662","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ultracache\/assets\/icon-128x128.png?rev=3590662","icon_2x":"https:\/\/ps.w.org\/ultracache\/assets\/icon-256x256.png?rev=3590662","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ultracache\/assets\/screenshot-1.png?rev=3590662","caption":"UltraCache dashboard overview."},{"src":"https:\/\/ps.w.org\/ultracache\/assets\/screenshot-2.png?rev=3590662","caption":"Cache engine and object cache controls."},{"src":"https:\/\/ps.w.org\/ultracache\/assets\/screenshot-3.png?rev=3590662","caption":"Media, CSS, fonts, warm-up, and diagnostics panels."}],"raw_content":"<!--section=description-->\n<p>UltraCache is a WordPress performance plugin for site owners who want fast public page delivery with visible controls.<\/p>\n\n<p>It provides WordPress page caching, Redis\/APCu object caching, AVIF\/WebP media tools, CSS\/font optimization, smart JavaScript error fixing, warm-up, Varnish helpers, and diagnostics from one dashboard.<\/p>\n\n<h4>Main features<\/h4>\n\n<ul>\n<li>HTML page cache for eligible anonymous public requests.<\/li>\n<li>Object-cache drop-in with Redis and APCu backends, a runtime-only fallback, and an advanced disk backend.<\/li>\n<li>Media Rewrite for AVIF\/WebP URLs according to the selected output policy.<\/li>\n<li>Batch media conversion, generation on upload, and background generation of missing image variants.<\/li>\n<li>Google Fonts localization and self-hosted font CSS optimization.<\/li>\n<li>Optional delayed icon-font loading.<\/li>\n<li>CSS bundling with visible exclusions and bundle summaries.<\/li>\n<li>LCP image priority and slider\/hero support.<\/li>\n<li>Lazy image loading, CLS image dimensions, Main Thread Relief, and Critical Request Chain Relief controls.<\/li>\n<li>Smart JavaScript Error Fixer with browser runtime scans and pasted console-error analysis for generating <code>Defer Instead of Delay<\/code> and <code>Do Not Defer or Delay<\/code> fixes.<\/li>\n<li>Scheduled and manual warm-up for the homepage, menu URLs, selected URLs, and full-site queues.<\/li>\n<li>Optional Varnish purge\/test helpers for configured Varnish environments.<\/li>\n<li>Dashboard diagnostics for page cache, object cache, media, CSS, storage, OPcache\/APCu, Varnish, and STORE profiles.<\/li>\n<\/ul>\n\n<h4>Page cache<\/h4>\n\n<p>UltraCache manages the WordPress <code>advanced-cache.php<\/code> drop-in. Page-cache files are stored in <code>ultracache\/cache\/<\/code> below the active WordPress uploads directory. Optional disk object-cache data is stored separately in <code>ultracache\/object-cache\/<\/code>, while generated optimization assets use dedicated directories below the same <code>ultracache\/<\/code> root.<\/p>\n\n<p>The page cache is intended for anonymous public pages. Logged-in users, admin paths, cart\/checkout\/account flows, unsafe cookies, unsafe query strings, and configured exclusions are bypassed.<\/p>\n\n<h4>Object cache<\/h4>\n\n<p>UltraCache can install and manage an <code>object-cache.php<\/code> drop-in.<\/p>\n\n<p>Recommended backend order:<\/p>\n\n<ol>\n<li>Redis<\/li>\n<li>APCu<\/li>\n<li>Runtime-only fallback<\/li>\n<li>Disk only for advanced\/debug use<\/li>\n<\/ol>\n\n<p>Redis fallback behavior is shown in the dashboard so the active backend is visible.<\/p>\n\n<h4>Secret constants<\/h4>\n\n<p>UltraCache does not store Redis or Varnish passwords in plugin settings or generated sidecar files. An administrator with plugin-management permission can enter or remove passwords from the UltraCache dashboard; UltraCache writes them only to its managed constants block in the active <code>wp-config.php<\/code> through the WordPress Filesystem API:<\/p>\n\n<pre><code>define( 'WP_REDIS_PASSWORD', 'redis-password' );\ndefine( 'ULTRACACHE_VARNISH_PASSWORD', 'varnish-password' );\n<\/code><\/pre>\n\n<p>An existing constant defined outside the UltraCache-managed block remains externally managed and read-only in the dashboard. Redis ACL credentials are also supported when <code>WP_REDIS_PASSWORD<\/code> is defined externally as an array containing the username and password. Password values are never returned to the browser, stored in plugin options, exposed through REST or WP-CLI output, or written to diagnostics and logs.<\/p>\n\n<p>UltraCache derives its internal early-runtime control token from the existing WordPress authentication keys and salts. No standalone runtime-secret PHP file is created.<\/p>\n\n<h4>Media Rewrite<\/h4>\n\n<p>Media Rewrite changes frontend image URLs to AVIF\/WebP variants when those files exist and match the selected output policy.<\/p>\n\n<p>WebP is the default output for fresh installations. AVIF generation and delivery are enabled only after UltraCache successfully encodes, decodes, and validates both its bundled opaque JPEG and transparent RGBA test images. The test runs again when the relevant PHP or image-processing environment changes.<\/p>\n\n<p>Actual media files are generated by batch conversion, generation on upload, or the missing-media queue. Normal frontend requests stay lookup-only and do not encode images.<\/p>\n\n<h4>CSS, JavaScript, and fonts<\/h4>\n\n<p>UltraCache includes CSS bundling, async CSS controls, JavaScript defer\/delay tools, Google Fonts localization, self-hosted font CSS optimization, optional delayed icon-font loading, and an advanced runtime font CSS rewrite switch.<\/p>\n\n<p>The Smart JavaScript Error Fixer can scan a selected frontend URL for browser runtime errors or analyze console errors pasted by an administrator. It uses missing globals, missing jQuery plugin methods, stack-trace URLs, and dependency clues to identify related scripts and generate fixes for <code>Defer Instead of Delay<\/code> or <code>Do Not Defer or Delay<\/code>.<\/p>\n\n<p>Riskier optimization features remain controlled by visible switches and exclusion lists.<\/p>\n\n<h4>Warm-up and diagnostics<\/h4>\n\n<p>Warm-up tools can build cache for the homepage, menu URLs, selected URLs, or full-site queues.<\/p>\n\n<p>Warm-up media buckets follow the current Media Rewrite\/output policy.<\/p>\n\n<p>Diagnostics include cache status, storage summaries, object-cache backend truth, CSS bundle summaries, media queue status, Varnish checks, OPcache\/APCu visibility, and STORE profiles.<\/p>\n\n<h3>WP-CLI<\/h3>\n\n<p>UltraCache includes WP-CLI commands for status, purge, warm-up, object-cache flush, media queue work, CSS diagnostics, Google Fonts rebuilds, Varnish helpers, settings, stats, cleanup, and STORE profiles.<\/p>\n\n<p>Examples:<\/p>\n\n<ul>\n<li><code>wp ultracache status --format=json<\/code><\/li>\n<li><code>wp ultracache purge --all<\/code><\/li>\n<li><code>wp ultracache warm_frontpage_html_css<\/code><\/li>\n<li><code>wp ultracache media status --media-format=both --format=json<\/code><\/li>\n<li><code>wp ultracache flush_object_cache<\/code><\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>UltraCache does not require an external SaaS account and does not send visitor data to an UltraCache-owned service.<\/p>\n\n<h4>Google Fonts<\/h4>\n\n<p>When Local Google Fonts Optimization is enabled by an administrator, UltraCache may request CSS and font files from Google Fonts in order to build local copies in <code>ultracache\/google-fonts\/<\/code> below the active WordPress uploads directory.<\/p>\n\n<p>UltraCache may also add or preserve Google Fonts parameters such as <code>display=swap<\/code> on Google Fonts URLs that already exist on the site. UltraCache does not add Google Fonts to a site by itself unless the administrator has enabled the local Google Fonts optimization feature or the site already uses Google Fonts through the active theme\/plugins.<\/p>\n\n<p>This may contact:<\/p>\n\n<ul>\n<li><code>fonts.googleapis.com<\/code><\/li>\n<li><code>fonts.gstatic.com<\/code><\/li>\n<\/ul>\n\n<p>Data sent: the server makes HTTP requests for the configured Google Fonts CSS\/font files. UltraCache does not intentionally send visitor personal data to Google Fonts.<\/p>\n\n<p>Service provider: Google LLC<br \/>\nTerms: https:\/\/policies.google.com\/terms<br \/>\nPrivacy: https:\/\/policies.google.com\/privacy<br \/>\nGoogle Fonts privacy FAQ: https:\/\/developers.google.com\/fonts\/faq\/privacy<\/p>\n\n<h4>Varnish<\/h4>\n\n<p>Optional Varnish integration can send purge and connectivity-test requests to the reverse proxy endpoint configured by the administrator.<\/p>\n\n<h4>Optional support and donation links<\/h4>\n\n<p>The dashboard includes optional support\/donation links shown only to administrators. If an administrator opens a PayPal link, PayPal receives the normal browser request for that visit.<\/p>\n\n<p>Service provider: PayPal<br \/>\nTerms: https:\/\/www.paypal.com\/us\/legalhub\/paypal\/useragreement-full<br \/>\nPrivacy: https:\/\/www.paypal.com\/us\/legalhub\/paypal\/privacy-full<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>UltraCache stores cache files, generated assets, settings, queue records, and diagnostics locally on the WordPress installation.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the ZIP from the WordPress Plugins screen, or place the <code>ultracache<\/code> folder in the active WordPress plugins directory.<\/li>\n<li>Activate UltraCache.<\/li>\n<li>Open the UltraCache dashboard.<\/li>\n<li>Enable Page Cache and save settings.<\/li>\n<li>Purge cache.<\/li>\n<li>Warm the homepage or selected URLs.<\/li>\n<li>Visit the site as a logged-out visitor and confirm cache behavior from headers\/diagnostics.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20are%20cache%20files%20stored%3F\"><h3>Where are cache files stored?<\/h3><\/dt>\n<dd><p>Page-cache files are stored in <code>ultracache\/cache\/<\/code> below the active WordPress uploads directory. Optional disk object-cache data is stored in <code>ultracache\/object-cache\/<\/code>. Generated optimization assets use dedicated directories below the same root, including optimized image variants in <code>ultracache\/images\/<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.59.07.08<\/h4>\n\n<ul>\n<li>Initial WordPress.org release.<\/li>\n<\/ul>","raw_excerpt":"WordPress page cache and Redis\/APCu object cache, AVIF\/WebP, CSS\/font optimization, smart JavaScript error fixing, warm-up, Varnish, and diagnostics.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/305134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=305134"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/orloxgr"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=305134"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=305134"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=305134"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=305134"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=305134"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=305134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}