{"id":35268,"date":"2026-06-24T08:19:08","date_gmt":"2026-06-24T08:19:08","guid":{"rendered":"https:\/\/thumbpress.co\/?p=35268"},"modified":"2026-06-24T08:19:10","modified_gmt":"2026-06-24T08:19:10","slug":"woocommerce-product-image-size","status":"publish","type":"post","link":"https:\/\/thumbpress.co\/blog\/woocommerce-product-image-size\/","title":{"rendered":"WooCommerce Product Image Size: A Complete Guide"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">You uploaded your product photos. They looked great on your phone. Now they&#8217;re blurry on the shop page, or stretched on one product but squashed on another, or the entire shop page loads painfully slow.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Most of this comes down to one thing: WooCommerce product image size.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WooCommerce generates multiple versions of every image you upload. Each version serves a different part of your store. If you don&#8217;t understand what those sizes are, how to set them, and what to do after you change them, you&#8217;ll keep running into the same problems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide covers all of it. Default sizes, recommended dimensions, step-by-step configuration, thumbnail regeneration, image optimization, and the most common image issues WooCommerce store owners run into. Let&#8217;s get into it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:28px\" id=\"codex-heading-1\">How WooCommerce Handles Product Images<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1536\" height=\"1024\" src=\"https:\/\/thumbpress.co\/wp-content\/uploads\/2026\/06\/Recommended-WooCommerce-Product-Image-Sizes.webp\" alt=\"Recommended WooCommerce Product Image Sizes\" class=\"has-border-color wp-image-35277\" style=\"border-color:#0693e3;border-width:2px;border-radius:8px\" srcset=\"https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/Recommended-WooCommerce-Product-Image-Sizes.webp 1536w, https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/Recommended-WooCommerce-Product-Image-Sizes-300x200.webp 300w, https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/Recommended-WooCommerce-Product-Image-Sizes-1024x683.webp 1024w, https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/Recommended-WooCommerce-Product-Image-Sizes-768x512.webp 768w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-2\">Three WooCommerce Image Size Slots<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">WooCommerce registers three image sizes for every store. Per the official WooCommerce developer documentation:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>woocommerce_thumbnail<\/strong> &#8211; defaults to 300px width, square cropped. Used in product grids: the shop page, category pages, related products, upsells, and cross-sells.<\/li>\n\n\n\n<li><strong>woocommerce_single<\/strong> &#8211; defaults to 600px width, always uncropped. Used on single product pages for the main product image.<\/li>\n\n\n\n<li><strong>woocommerce_gallery_thumbnail<\/strong> &#8211; always 100\u00d7100px, always square-cropped. Used for the small navigation thumbnails below the main image in the product gallery.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong><a href=\"https:\/\/developer.woocommerce.com\/docs\/theming\/theme-development\/image-sizes\/\" target=\"_blank\" rel=\"noreferrer noopener\">WooCommerce developer docs<\/a><\/strong> also note that themes can declare their own image sizes, which means a theme can override these defaults entirely via <strong>add_theme_support()<\/strong>. When that happens, the width controls disappear from your Customizer. You can still adjust cropping, but the widths are locked in code.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-3\">Why WooCommerce Creates Multiple Image Versions?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Every time you upload a product image, WooCommerce runs a background job to generate all three sizes. If your theme and plugins have registered additional sizes on top of those three, the number goes higher still. On a busy WooCommerce store, a single product photo upload can silently create 10 or more separate image files in your media library, most of which are never shown to a single customer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is worth understanding because it explains two things: why your media library fills up faster than expected, and why changing your size settings does not automatically fix existing images.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:28px\" id=\"codex-heading-4\">Recommended WooCommerce Product Image Sizes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-5\">The Dimensions Most Stores Should Use<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">There&#8217;s no single correct WooCommerce product image size that works for every store. But there are solid starting points based on how WooCommerce displays images.<\/p>\n\n\n\n<div class=\"wp-block-group has-border-color has-background is-layout-constrained wp-container-core-group-is-layout-dc275078 wp-block-group-is-layout-constrained\" style=\"border-color:#0693e3;border-width:2px;border-radius:8px;background-color:#e6f6ff;margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40);padding-top:var(--wp--preset--spacing--40);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)\">\n<p class=\"wp-block-paragraph\">For <strong>single product images<\/strong>, upload at a minimum of 1200\u00d71200px. WooCommerce displays these at 600px by default, but having a larger source file powers the zoom feature on the product page. If your source image is the same width as the display size, the zoom feature won&#8217;t work. You need headroom.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For <strong>catalog thumbnails<\/strong> (the shop page grid), WooCommerce defaults to 300px, but that looks soft on modern high-resolution displays. Most store owners raise this to 600\u2013800px for a sharper grid.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For <strong>gallery thumbnails<\/strong>, leave them at 100\u00d7100px. These are navigation-only. Customers tap them to switch the main image, not to inspect detail.<\/p>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">For a broader look at sizing across eCommerce platforms, this guide on <a href=\"https:\/\/thumbpress.co\/blog\/best-image-size-for-e-commerce-website\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>best image sizes for ecommerce websites<\/strong><\/a> covers recommended dimensions for <strong>WooCommerce, Shopify, and Amazon<\/strong> in one place.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-6\">How Your Theme Affects the Ideal Size<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Your theme&#8217;s CSS controls the actual display dimensions on screen. What WooCommerce generates and what your theme renders can be two different numbers. Astra, Flatsome, and Storefront all render product grids at different widths.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The most reliable way to find your theme&#8217;s actual rendered size: open your shop page in a browser, right-click a product image, and select Inspect. Your browser dev tools will show the rendered width and height. Per <strong><a href=\"https:\/\/woocommerce.com\/document\/fixing-blurry-product-images\/\" target=\"_blank\" rel=\"noreferrer noopener\">WooCommerce&#8217;s official image guide<\/a><\/strong>, set your Main image width to match or exceed that rendered size. For retina or HiDPI screens, double it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:28px\" id=\"codex-heading-7\">How to Change WooCommerce Product Image Sizes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-8\">1. Using the WordPress Customizer<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You don&#8217;t need a plugin for this. WooCommerce builds the controls directly into the WordPress Customizer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per the <strong><a href=\"https:\/\/developer.woocommerce.com\/docs\/theming\/theme-development\/image-sizes\/\" target=\"_blank\" rel=\"noreferrer noopener\">official WooCommerce image sizing documentation<\/a><\/strong>, here are the steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li style=\"font-size:17px\">Go to <strong>Appearance \u2192 Customize<\/strong><\/li>\n\n\n\n<li style=\"font-size:17px\">Click <strong>WooCommerce \u2192 Product Images<\/strong><\/li>\n\n\n\n<li style=\"font-size:17px\">Set <strong>Main image width<\/strong> &#8211; this controls the single product page image<\/li>\n\n\n\n<li style=\"font-size:17px\">Set <strong>Thumbnail width<\/strong> &#8211; this controls the shop and category page grids<\/li>\n\n\n\n<li style=\"font-size:17px\">Choose your <strong>Thumbnail cropping<\/strong> setting<\/li>\n\n\n\n<li style=\"font-size:17px\">Click <strong>Publish<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">One thing to know &#8211; you only set the width. Height is calculated automatically from the uploaded image&#8217;s aspect ratio. WooCommerce removed the height control intentionally to prevent distorted images.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-9\">Understanding the Three Thumbnail Cropping Options<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The cropping option controls the shape of thumbnails on your shop and category pages. <strong><a href=\"https:\/\/developer.woocommerce.com\/docs\/theming\/theme-development\/image-sizes\/\" target=\"_blank\" rel=\"noreferrer noopener\">WooCommerce documents three choices<\/a><\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1522\" height=\"1033\" src=\"https:\/\/thumbpress.co\/wp-content\/uploads\/2026\/06\/Thumbnail-Cropping-Options.webp\" alt=\"Thumbnail Cropping Options\" class=\"has-border-color wp-image-35279\" style=\"border-color:#0693e3;border-width:2px;border-radius:8px\" srcset=\"https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/Thumbnail-Cropping-Options.webp 1522w, https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/Thumbnail-Cropping-Options-300x204.webp 300w, https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/Thumbnail-Cropping-Options-1024x695.webp 1024w, https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/Thumbnail-Cropping-Options-768x521.webp 768w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>1:1 (Square)<\/strong> &#8211; thumbnails are square-cropped. The most common choice is because it keeps the product grid uniform, regardless of what aspect ratio your photos were shot in.<\/li>\n\n\n\n<li><strong>Custom<\/strong> &#8211; you set a specific ratio (for example, 4:5 for portrait fashion photography, or 16:9 for wide product layouts).<\/li>\n\n\n\n<li><strong>Uncropped<\/strong> &#8211; images display at their original uploaded aspect ratio. Only use this if every single product image in your catalog was photographed at exactly the same ratio. Otherwise, your shop grid will look uneven.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note: <\/strong>The main featured image on the single product page is always uncropped. WooCommerce removed crop controls for that slot several versions ago.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-10\">What to Do If Your Theme Locks Image Sizes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Some themes use add_theme_support() to declare fixed image widths in code. When this happens,<strong><a href=\"https:\/\/developer.woocommerce.com\/docs\/theming\/theme-development\/image-sizes\/\" target=\"_blank\" rel=\"noreferrer noopener\"> WooCommerce&#8217;s developer documentation states<\/a><\/strong> that the store owner can no longer change the declared widths &#8211; only the cropping setting remains visible in the Customizer. Check your theme&#8217;s documentation to find what sizes it sets, then make sure your source images are at least as large as those dimensions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:28px\" id=\"codex-heading-11\">Regenerating Thumbnails After a Size Change<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-12\">Why Existing Images Don&#8217;t Update on Their Own<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is the most common source of confusion after a size change. When you update your settings and hit Publish, WooCommerce applies those new dimensions only to images uploaded from that point forward. Photos already in your media library keep their old sizes and crops.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per <strong><a href=\"https:\/\/woocommerce.com\/document\/fixing-blurry-product-images\/\" target=\"_blank\" rel=\"noreferrer noopener\">WooCommerce&#8217;s official blurry image documentation<\/a><\/strong>, &#8220;Any time you activate a new theme or change image dimension settings, you need to regenerate previously created thumbnails.&#8221; Skipping this step is why store owners end up with a shop grid that&#8217;s half new thumbnails and half old ones &#8211; inconsistent sizes, inconsistent cropping.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-13\">Two Ways to Regenerate Thumbnails<\/h3>\n\n\n\n<div class=\"wp-block-group has-border-color has-background is-layout-constrained wp-container-core-group-is-layout-dc275078 wp-block-group-is-layout-constrained\" style=\"border-color:#0693e3;border-width:2px;border-radius:8px;background-color:#eff9ff;margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40);padding-top:var(--wp--preset--spacing--40);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)\">\n<h4 class=\"wp-block-heading\" style=\"font-size:20px\">Option 1: WooCommerce built-in tool:<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">WooCommerce introduced background thumbnail regeneration in version 3.3. Per the <strong><a href=\"https:\/\/developer.woocommerce.com\/docs\/theming\/theme-development\/thumbnail-image-regeneration\/\" target=\"_blank\" rel=\"noreferrer noopener\">WooCommerce thumbnail regeneration documentation<\/a><\/strong>: &#8220;When you make changes to image sizes\/aspect ratios in the customiser, WC will detect these changes and queue a background regeneration job.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you need to trigger it manually, go to <strong>WooCommerce \u2192 Status \u2192 Tools<\/strong> and click <strong>Regenerate<\/strong> next to &#8220;Regenerate shop thumbnails.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To check progress, go to <strong>WooCommerce \u2192 Status \u2192 Logs<\/strong> and filter for entries beginning with wc-image-regeneration.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" style=\"font-size:20px\">Option 2: Regenerate Thumbnails using a free plugin:<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong><a href=\"https:\/\/thumbpress.co\/modules\/regenerate-thumbnails\/\" target=\"_blank\" rel=\"noreferrer noopener\">free Regenerate Thumbn<\/a><\/strong><a href=\"https:\/\/thumbpress.co\/modules\/regenerate-thumbnails\/\"><strong>ails plugin<\/strong><\/a> by <strong>Codexpert, Inc<\/strong>., handles all WordPress-registered image sizes, not just WooCommerce ones. This matters when multiple plugins have registered their own size slots that are also out of sync. After you install the plugin, go to <strong>Thumbnails \u2192 Regenerate Thumbnails<\/strong> and run it across all images.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"543\" src=\"https:\/\/thumbpress.co\/wp-content\/uploads\/2026\/06\/regenerate-thumbnails-1024x543.webp\" alt=\"\" class=\"wp-image-35284\" srcset=\"https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/regenerate-thumbnails-1024x543.webp 1024w, https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/regenerate-thumbnails-300x159.webp 300w, https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/regenerate-thumbnails-768x407.webp 768w, https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/regenerate-thumbnails-1536x814.webp 1536w, https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/regenerate-thumbnails.webp 1723w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">In a small store, regeneration finishes in a few minutes. In a store with thousands of products, you can use the option to run in the background; you don&#8217;t need to keep the page open.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:28px\" id=\"codex-heading-14\">WooCommerce Product Image Optimization<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-15\">Why Pixel Dimensions Are Only Half the Job<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Getting the right dimensions is the foundation. But a correctly sized JPEG at 3MB still drags your shop page down.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><a href=\"https:\/\/www.thinkwithgoogle.com\/marketing-strategies\/app-and-mobile\/mobile-page-speed-new-industry-benchmarks\/\" target=\"_blank\" rel=\"noreferrer noopener\">According to Google&#8217;s mobile page speed research<\/a><\/strong>, 53% of mobile users abandon a site that takes more than 3 seconds to load. For a WooCommerce store running paid ads, that means budget wasted before a single product is seen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Product images are almost always the largest contributor to page weight on a WooCommerce shop page. If you want to understand the full financial picture behind this, the breakdown of <a href=\"https:\/\/thumbpress.co\/unoptimized-wordpress-images\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>the hidden revenue cost of unoptimized images<\/strong><\/a> connects the dots between image performance and lost revenue directly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"codex-heading-16\">File Size Targets to Aim For<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Single product images:<\/strong> under 200KB<\/li>\n\n\n\n<li><strong>Catalog thumbnails:<\/strong> under 50KB<\/li>\n\n\n\n<li>A 1200\u00d71200px image converted to WebP typically hits both targets with no visible quality loss for most product types<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"codex-heading-17\">WebP Is the Right Format in 2026<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">WebP lossless images are 26% smaller than equivalent PNGs. Lossy WebP images are 25\u201334% smaller than comparable JPEGs at equivalent visual quality. For a WooCommerce catalog with hundreds of product images, switching to WebP is one of the largest single reductions in page weight you can make.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ThumbPress converts existing product images to WebP and handles new uploads automatically, without sending your images to a third-party server. It also detects oversized images sitting in your media library, so you can address the bloated DSLR photos that slipped through before optimization was set up. The step-by-step process for how to <strong><a href=\"https:\/\/thumbpress.co\/compress-images-in-wordpress\/\" target=\"_blank\" rel=\"noreferrer noopener\">compress images in WordPress<\/a><\/strong> covers the full workflow if you want to understand the approach first.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:28px\" id=\"codex-heading-18\">3 Common WooCommerce Image Problems (and How to Fix Them)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-19\">1. Blurry Product Images<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Blurry product images are &#8220;usually caused by theme styling that specifies image dimensions incompatible with your uploaded images.&#8221; Your theme is trying to display images at a larger size than what WooCommerce generated.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1168\" height=\"784\" src=\"https:\/\/thumbpress.co\/wp-content\/uploads\/2026\/06\/Blurry-Product-Images.webp\" alt=\"Blurry Product Images\" class=\"wp-image-35281\" srcset=\"https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/Blurry-Product-Images.webp 1168w, https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/Blurry-Product-Images-300x201.webp 300w, https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/Blurry-Product-Images-1024x687.webp 1024w, https:\/\/thumbpress.co\/blog\/wp-content\/uploads\/2026\/06\/Blurry-Product-Images-768x516.webp 768w\" sizes=\"auto, (max-width: 1168px) 100vw, 1168px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The fix:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Inspect your shop page with browser dev tools. Note the rendered image dimensions.<\/li>\n\n\n\n<li>Go to <strong>Appearance \u2192 Customize \u2192 WooCommerce \u2192 Product Images<\/strong> and set Main image width to match or exceed that number.<\/li>\n\n\n\n<li>Regenerate thumbnails.<\/li>\n\n\n\n<li>For retina screens, double the rendered size.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">For a broader look at image display problems in WordPress, the <strong><a href=\"https:\/\/thumbpress.co\/blog\/fix-common-image-issues-in-wordpress\/\" target=\"_blank\" rel=\"noreferrer noopener\">guide to fixing common image issues in WordPress<\/a><\/strong> covers blurry images alongside duplicate images, broken gallery thumbnails, and other recurring problems.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-20\">2. Inconsistent Shop Grid Thumbnails<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Two causes. <\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>First: <\/strong>product images were uploaded at different aspect ratios, and cropping is set to Uncropped, so each thumbnail is a different shape. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Second:<\/strong> you changed image size settings but didn&#8217;t regenerate thumbnails, so old and new images have different crops sitting side by side.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fix the first by switching Thumbnail cropping to 1:1 and regenerating. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fix the second by regenerating after every settings change. If your source images vary dramatically in shape, normalize them before uploading.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-21\">3. Product Images Slowing Down the Shop Page<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A shop page showing 24 products, each with an uncompressed JPEG at 500KB, is loading 12MB of images before any other page assets. <strong><a href=\"https:\/\/developer.woocommerce.com\/docs\/best-practices\/performance\/performance-optimization\/\" target=\"_blank\" rel=\"noreferrer noopener\">WooCommerce&#8217;s own performance optimization documentation<\/a><\/strong> lists image optimization as a primary recommendation for improving store speed and increasing conversion rates.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The combination of compression, <a href=\"https:\/\/thumbpress.co\/modules\/convert-images-to-webp\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>WebP conversion<\/strong><\/a>, and <a href=\"https:\/\/thumbpress.co\/modules\/detect-unused-images\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>removing unused thumbnail sizes<\/strong><\/a> makes the biggest difference. ThumbPress&#8217;s thumbnail manager lets you disable size slots your theme never actually displays. Every registered size you stop generating is disk space and page weight removed on every future upload. You can also use ThumbPress to <strong><a href=\"https:\/\/thumbpress.co\/blog\/woocommerce-delete-unused-images\/\" target=\"_blank\" rel=\"noreferrer noopener\">delete unused WooCommerce images<\/a><\/strong> that have built up in your media library over time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:28px\" id=\"codex-heading-22\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WooCommerce product image size is one of those things that&#8217;s easy to get wrong once and then spend time wondering why the shop looks off.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The short version, upload source images at 1200\u00d71200px minimum. Set your Customizer thumbnail widths to match your theme&#8217;s actual rendered dimensions, not the WooCommerce defaults. Regenerate thumbnails every time you change settings. And compress everything before it reaches your media library.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Get the dimensions right, then compress and convert to WebP. Those two steps together keep a growing product catalog from becoming a performance problem as your store scales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ThumbPress handles WebP conversion, bulk compression, thumbnail management, and unused image cleanup in one plugin. No stacking separate tools, no jumping between dashboards. <a href=\"https:\/\/wordpress.org\/plugins\/image-sizes\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Download the free version on WordPress.org<\/strong><\/a> and start with WebP conversion and thumbnail control &#8211; the impact shows up on your first PageSpeed run.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:28px\" id=\"codex-heading-23\">Frequently Asked Questions<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-24\">What image size should I upload for WooCommerce products?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Upload at 1200\u00d71200px minimum for most products. WooCommerce generates its three registered thumbnail sizes from the source file you upload, so starting larger means all three come out sharp. It also gives the zoom feature on the single product page something to work with. Compress the file to under 200KB before uploading, and convert to WebP if your setup supports it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"codex-heading-25\">Why do my WooCommerce images look blurry after changing the size settings?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You need to regenerate thumbnails. Changing size settings in the Customizer only applies to images uploaded after you save. Previously uploaded images keep their old crops until you regenerate. Use <strong><a href=\"https:\/\/thumbpress.co\" target=\"_blank\" rel=\"noreferrer noopener\">ThumbPress<\/a><\/strong> to regenerate thumbnails for your WooCommerce store.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:26px\" id=\"codex-heading-26\">Does WooCommerce product image size affect SEO?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, in two direct ways. Oversized image files slow page load, which increases LCP (Largest Contentful Paint). Per <a href=\"https:\/\/developers.google.com\/search\/docs\/appearance\/page-experience\" target=\"_blank\" rel=\"noopener\"><strong>Google Search Central<\/strong><\/a>, Core Web Vitals including LCP are used as signals in Google Search ranking. Faster, properly sized product images reduce LCP, which can improve your store&#8217;s position in search results. Blurry or broken product images also hurt engagement metrics, which are indirect ranking signals over time.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn the right WooCommerce product image sizes, how to change them in 3 steps, fix blurry thumbnails, and optimize product images for faster load times.<\/p>\n","protected":false},"author":6,"featured_media":35273,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[35],"tags":[24],"class_list":["post-35268","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-woocommerce","tag-optimize-images"],"_links":{"self":[{"href":"https:\/\/thumbpress.co\/blog\/wp-json\/wp\/v2\/posts\/35268","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thumbpress.co\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thumbpress.co\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thumbpress.co\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/thumbpress.co\/blog\/wp-json\/wp\/v2\/comments?post=35268"}],"version-history":[{"count":10,"href":"https:\/\/thumbpress.co\/blog\/wp-json\/wp\/v2\/posts\/35268\/revisions"}],"predecessor-version":[{"id":35286,"href":"https:\/\/thumbpress.co\/blog\/wp-json\/wp\/v2\/posts\/35268\/revisions\/35286"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thumbpress.co\/blog\/wp-json\/wp\/v2\/media\/35273"}],"wp:attachment":[{"href":"https:\/\/thumbpress.co\/blog\/wp-json\/wp\/v2\/media?parent=35268"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thumbpress.co\/blog\/wp-json\/wp\/v2\/categories?post=35268"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thumbpress.co\/blog\/wp-json\/wp\/v2\/tags?post=35268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}