{"id":337380,"date":"2026-07-28T20:31:47","date_gmt":"2026-07-28T20:31:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/empirical-responsive-images\/"},"modified":"2026-07-31T18:28:36","modified_gmt":"2026-07-31T18:28:36","slug":"empirical-responsive-images","status":"publish","type":"plugin","link":"https:\/\/hu.wordpress.org\/plugins\/empirical-responsive-images\/","author":16884138,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.3.7","stable_tag":"0.3.7","tested":"7.0.2","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"Empirical Responsive Images","header_author":"WeSolvers","header_description":"Measures real image slots, registers matching sizes, regenerates thumbnails, and serves WebP\/AVIF variants.","assets_banners_color":"333b59","last_updated":"2026-07-31 18:28:36","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/gsusI\/empirical-responsive-images","header_author_uri":"https:\/\/wesolvers.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":168,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.0":{"tag":"0.2.0","author":"jesusinica","date":"2026-07-28 20:31:27"},"0.3.0":{"tag":"0.3.0","author":"jesusinica","date":"2026-07-30 20:23:11"},"0.3.2":{"tag":"0.3.2","author":"jesusinica","date":"2026-07-31 09:04:20"},"0.3.3":{"tag":"0.3.3","author":"jesusinica","date":"2026-07-31 10:06:34"},"0.3.4":{"tag":"0.3.4","author":"jesusinica","date":"2026-07-31 10:40:45"},"0.3.5":{"tag":"0.3.5","author":"jesusinica","date":"2026-07-31 10:48:54"},"0.3.6":{"tag":"0.3.6","author":"jesusinica","date":"2026-07-31 10:56:48"},"0.3.7":{"tag":"0.3.7","author":"jesusinica","date":"2026-07-31 18:28:36"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3626416,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3626416,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3626431,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3626431,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.0","0.3.0","0.3.2","0.3.3","0.3.4","0.3.5","0.3.6","0.3.7"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3629806,"resolution":"1","location":"assets","locale":"","width":1600,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3629806,"resolution":"2","location":"assets","locale":"","width":1600,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3629806,"resolution":"3","location":"assets","locale":"","width":1600,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3629806,"resolution":"4","location":"assets","locale":"","width":1600,"height":1100},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3629806,"resolution":"5","location":"assets","locale":"","width":1600,"height":1100},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3629806,"resolution":"6","location":"assets","locale":"","width":1600,"height":1100}},"screenshots":{"1":"Simple workflow: observe real image spaces, confirm demand, and create useful WordPress image sizes in the background.","2":"Mobile Lighthouse and PageSpeed result on one test page before and after right-sized image optimization. Scores vary by site and test run.","3":"Privacy summary with observation totals and WebP\/AVIF support status.","4":"Local images with the widths and spaces seen on real pages.","5":"Learning queue showing recent demand and image-generation status.","6":"Learned image sizes with usage totals, screen sizes, and how each size was confirmed."}},"plugin_section":[],"plugin_tags":[194661,29161,3473,2698,15376],"plugin_category":[50],"plugin_contributors":[217064],"plugin_business_model":[],"class_list":["post-337380","plugin","type-plugin","status-publish","hentry","plugin_tags-avif","plugin_tags-image-optimization","plugin_tags-image-sizes","plugin_tags-responsive-images","plugin_tags-webp","plugin_category-media","plugin_contributors-jesusinica","plugin_committers-jesusinica"],"banners":{"banner":"https:\/\/ps.w.org\/empirical-responsive-images\/assets\/banner-772x250.png?rev=3626431","banner_2x":"https:\/\/ps.w.org\/empirical-responsive-images\/assets\/banner-1544x500.png?rev=3626431","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/empirical-responsive-images\/assets\/icon-128x128.png?rev=3626416","icon_2x":"https:\/\/ps.w.org\/empirical-responsive-images\/assets\/icon-256x256.png?rev=3626416","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/empirical-responsive-images\/assets\/screenshot-1.png?rev=3629806","caption":"Simple workflow: observe real image spaces, confirm demand, and create useful WordPress image sizes in the background."},{"src":"https:\/\/ps.w.org\/empirical-responsive-images\/assets\/screenshot-2.png?rev=3629806","caption":"Mobile Lighthouse and PageSpeed result on one test page before and after right-sized image optimization. Scores vary by site and test run."},{"src":"https:\/\/ps.w.org\/empirical-responsive-images\/assets\/screenshot-3.png?rev=3629806","caption":"Privacy summary with observation totals and WebP\/AVIF support status."},{"src":"https:\/\/ps.w.org\/empirical-responsive-images\/assets\/screenshot-4.png?rev=3629806","caption":"Local images with the widths and spaces seen on real pages."},{"src":"https:\/\/ps.w.org\/empirical-responsive-images\/assets\/screenshot-5.png?rev=3629806","caption":"Learning queue showing recent demand and image-generation status."},{"src":"https:\/\/ps.w.org\/empirical-responsive-images\/assets\/screenshot-6.png?rev=3629806","caption":"Learned image sizes with usage totals, screen sizes, and how each size was confirmed."}],"raw_content":"<!--section=description-->\n<p>Empirical Responsive Images helps WordPress send each visitor an image closer to the size shown on their screen. Smaller, better-sized images can mean less data to download and faster-looking pages.<\/p>\n\n<p>Instead of guessing which image sizes your site might need, the plugin learns from real page layouts. When it repeatedly finds a missing size, it creates that thumbnail in the background. It can also create WebP and AVIF versions when your server supports them.<\/p>\n\n<p>This directly targets common PageSpeed Insights messages such as \"Improve image delivery,\" \"Properly size images,\" and \"Serve images in next-gen formats.\" Results still depend on your theme, original images, cache, hosting, and other plugins.<\/p>\n\n<h4>Why image size matters<\/h4>\n\n<p>A large image may be displayed in a small space. If WordPress has no close match, the browser may download far more image data than it needs.<\/p>\n\n<p>Empirical Responsive Images gives WordPress more useful choices. Your existing responsive image system stays in place; the plugin fills proven gaps instead of replacing it.<\/p>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>After a page loads, a small browser check compares displayed images with the sizes already available.<\/li>\n<li>Images with a good match are ignored and send no report.<\/li>\n<li>Missing sizes must be confirmed before any work is scheduled.<\/li>\n<li>WordPress creates the needed image files later, as a background task.<\/li>\n<li>Future visitors can receive a closer image size.<\/li>\n<\/ol>\n\n<p>No resizing happens in the visitor's browser. No image is generated while a visitor waits for the page.<\/p>\n\n<h4>What it can improve<\/h4>\n\n<ul>\n<li>Better-sized responsive images for phones, tablets, laptops, and high-density screens.<\/li>\n<li>New thumbnails for WordPress Media Library images.<\/li>\n<li>Responsive versions of manageable local theme and plugin images.<\/li>\n<li>WebP and AVIF versions when supported by the server.<\/li>\n<li>Better image choices through WordPress's normal responsive image markup.<\/li>\n<li>Automatic cache refresh after new image files are ready.<\/li>\n<li>Clear status tables under Tools &gt; Responsive Images.<\/li>\n<li>Optional maintenance commands for advanced users.<\/li>\n<\/ul>\n\n<p>The plugin keeps existing custom image choices, crops, and picture layouts. It does not send images to a content delivery network (CDN) or outside image service.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>Automatic learning reports only what the plugin needs to identify a local image and a rounded missing size. It may also include a general screen size and the space used by the image so WordPress can make a better choice next time.<\/p>\n\n<p>These reports do not store the page URL, visitor identity, IP address, browser details, or referring page. Reports from logged-out visitors and Subscribers do not send cookies.<\/p>\n\n<p>An optional detailed view is available only to site administrators. It can store combined image measurements and page paths for troubleshooting. Query strings and raw IP addresses are not saved.<\/p>\n\n<p>Everything stays on your WordPress site. Nothing is sent to an external service.<\/p>\n\n<p>Settings, learned size records, and generated images remain after uninstall by default. You can enable full cleanup under Tools &gt; Responsive Images before uninstalling.<\/p>\n\n<h3>Protection against abuse<\/h3>\n\n<p>The plugin accepts work only for images that belong to your site and were marked by the plugin. Visitors cannot submit any image URL or invent unlimited custom sizes.<\/p>\n\n<p>Normal visitors must confirm the same missing size over time. Hard limits on requests, waiting jobs, retries, image size, daily work, and free disk space keep everything under control. Repeated or invalid reports do not gain priority.<\/p>\n\n<h3>Advanced commands<\/h3>\n\n<p>List learned image sizes:<\/p>\n\n<pre><code>wp empirical-responsive-images sizes\n<\/code><\/pre>\n\n<p>Generate thumbnails and modern image versions:<\/p>\n\n<pre><code>wp empirical-responsive-images regenerate --batch-size=10\n<\/code><\/pre>\n\n<p>Force a rebuild:<\/p>\n\n<pre><code>wp empirical-responsive-images regenerate --force\n<\/code><\/pre>\n\n<!--section=installation-->\n<ol>\n<li>Upload <code>empirical-responsive-images<\/code> to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Done. It starts learning missing local image sizes and creates confirmed sizes in the background.<\/li>\n<\/ol>\n\n<p>Tools &gt; Responsive Images shows progress and advanced settings. You do not need to approve each size manually.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20this%20improve%20%22improve%20image%20delivery%22%20or%20%22properly%20size%20images%22%20in%20pagespeed%20insights%3F\"><h3>Can this improve \"Improve image delivery\" or \"Properly size images\" in PageSpeed Insights?<\/h3><\/dt>\n<dd><p>It can help when PageSpeed finds images that are much larger than the space where they appear. The plugin creates closer size choices and can add WebP\/AVIF versions.<\/p>\n\n<p>It does not heavily compress original images or turn animated GIFs into videos, so some recommendations may remain. One test page improved from 75 to 99 and its Largest Contentful Paint (LCP) improved from 7.2 seconds to 2.3 seconds. Scores vary; no PageSpeed or Core Web Vitals result is guaranteed.<\/p><\/dd>\n<dt id=\"is%20this%20different%20from%20an%20image%20compression%20plugin%3F\"><h3>Is this different from an image compression plugin?<\/h3><\/dt>\n<dd><p>Yes. Compression plugins mainly make image files smaller. Empirical Responsive Images mainly creates the image dimensions your layouts need. Both jobs can be useful.<\/p><\/dd>\n<dt id=\"can%20i%20use%20it%20with%20another%20image%20optimization%20plugin%3F\"><h3>Can I use it with another image optimization plugin?<\/h3><\/dt>\n<dd><p>Usually. Let the other plugin compress originals and let this plugin create responsive sizes. If both plugins create WebP\/AVIF versions, enable that feature in only one. Test the combination on a copy of your site before using it on a live store or busy site.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20caching%20plugins%20and%20cdns%3F\"><h3>Does it work with caching plugins and CDNs?<\/h3><\/dt>\n<dd><p>The plugin can refresh caches from WP Rocket, W3 Total Cache, WP Super Cache, LiteSpeed Cache, Breeze, Autoptimize, and SiteGround Speed Optimizer after creating images.<\/p>\n\n<p>It can still learn WordPress images when a CDN changes their public URLs. If a separate CDN keeps its own page cache, that CDN or its WordPress plugin must also clear the cached page.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20lazy%20loading%20and%20page%20builders%3F\"><h3>Does it work with lazy loading and page builders?<\/h3><\/dt>\n<dd><p>Usually, when they produce normal WordPress image elements. The plugin rechecks lazy images after they load and watches images added after the page opens.<\/p>\n\n<p>CSS background images, drawing canvases, remote images, and heavily customized JavaScript galleries may not be eligible.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20visitors%3F\"><h3>Will it slow down visitors?<\/h3><\/dt>\n<dd><p>Image checks run during spare browser time. Missing files are created later by WordPress background tasks. Visitors do not wait for resizing or WebP\/AVIF generation.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20approve%20every%20new%20size%3F\"><h3>Do I need to approve every new size?<\/h3><\/dt>\n<dd><p>No. Confirmed gaps are queued, created, retried when necessary, and used automatically. The administration page shows progress; it is not an approval queue.<\/p><\/dd>\n<dt id=\"do%20logged-in%20users%20need%20the%20same%20repeated%20visits%3F\"><h3>Do logged-in users need the same repeated visits?<\/h3><\/dt>\n<dd><p>Subscribers do. By default, a logged-in Contributor, Author, Editor, or Administrator can confirm a valid missing size sooner. Regular visitors must confirm the same gap in three separate 15-minute periods by default.<\/p><\/dd>\n<dt id=\"what%20visitor%20information%20is%20collected%3F\"><h3>What visitor information is collected?<\/h3><\/dt>\n<dd><p>Only a secure code pointing to a local image and rounded size information needed to find a missing choice. The plugin does not store a visitor's identity, IP address, browser details, referring page, or the URL of the page they visited.<\/p><\/dd>\n<dt id=\"can%20bots%20create%20endless%20image%20sizes%3F\"><h3>Can bots create endless image sizes?<\/h3><\/dt>\n<dd><p>No. Only marked local images and a fixed list of sizes are accepted. Near matches count as covered, and strict queue, retry, storage, and daily work limits keep generation bounded.<\/p><\/dd>\n<dt id=\"will%20it%20work%20on%20my%20hosting%3F\"><h3>Will it work on my hosting?<\/h3><\/dt>\n<dd><p>Most standard WordPress hosts should work if uploads are writable, WordPress background tasks run normally, and the server can create the requested image format. If background tasks are disabled, queued work waits until the host runs them.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.3.7<\/h4>\n\n<ul>\n<li>Rewrite the public WordPress.org description and FAQs in plain language while preserving privacy details, compatibility guidance, and performance caveats.<\/li>\n<\/ul>","raw_excerpt":"Learns which image sizes visitors need, then creates responsive WordPress thumbnails and WebP\/AVIF versions in the background.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/337380","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=337380"}],"author":[{"embeddable":true,"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jesusinica"}],"wp:attachment":[{"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=337380"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=337380"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=337380"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=337380"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=337380"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=337380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}