Missing product images look unprofessional and tank conversion — shoppers will not buy what they cannot see. This guide covers the six most common reasons Magento product images stop showing on the storefront, and the fix for each, on a SmartXHosting-hosted Magento store.
Placeholder image showing everywhere • Images uploaded but not rendering • Broken images in Hyva frontend • File permission problems • Media storage path mismatch • Image resize cache corruption • FAQ
Every product shows the generic Magento placeholder. Causes:
pub/media/catalog/product/placeholder/. Confirm the files exist.web/unsecure/base_media_url points to an unreachable location, all images default to placeholder. Check with bin/magento config:show web/unsecure/base_media_url — should be {{unsecure_base_url}}media/ or a CDN URL.You can see the image in Admin but the storefront shows nothing. Usually a reindex or cache issue:
bin/magento catalog:images:resize. This regenerates all cached variants.bin/magento cache:flush full_page.?x=1) to bypass browser cache.The Hyva + Satoshi frontend on SmartXHosting generates responsive image variants via PictureFactory. If the generation step fails, some sizes are missing.
Diagnose:
bin/magento hyva:images:regenerate (if the Hyva CLI is installed).var/log/hyva.log for generation errors — missing ImageMagick, out-of-memory during large image resize.pub/media/catalog/product/cache/ is writable by the web server user.Magento expects specific file permissions. Breaks commonly happen after a manual file upload via FTP that changed ownership.
find pub/media -type d -exec chmod 755 {} \; and find pub/media -type f -exec chmod 644 {} \; to normalise.chown -R www-data:www-data pub/media (or the Plesk web-server user on your environment — check with id).On Plesk-managed SmartXHosting, the Plesk “Fix Permissions” button under Files handles this automatically.
Magento can be configured to serve media from the local filesystem, a CDN or cloud object storage. A mis-pointed configuration shows no images even though files exist.
Under Stores › Configuration › Advanced › System › Storage Configuration for Media:
Default and recommended for SmartXHosting: Filesystem with optional CDN layer via Cloudflare.
Magento stores resized image variants under pub/media/catalog/product/cache/. If this folder is corrupted or partially written, the storefront shows missing sizes.
Clean fix:
rm -rf pub/media/catalog/product/cache/*.bin/magento catalog:images:resize.Magento hosting with CDN-ready media
SmartXHosting Magento plans include Cloudflare CDN routing options for global image delivery, plus NVMe SSD storage for fast local serving.
View Magento plansQ: I uploaded a large TIFF image and nothing shows. Why?
A: Magento supports JPEG, PNG, GIF and WebP. TIFF is not supported. Convert before upload.
Q: My image file size is 15 MB, that’s why it does not display?
A: Possibly. The upload itself succeeds but resize may fail on low-memory PHP. Resize to 2,400px wide at 80% quality JPEG or WebP — typical file size 200–400 KB.
Q: Product page shows the main image but thumbnail is broken.
A: Thumbnail cache is corrupted. Run bin/magento catalog:images:resize. The specific thumbnail variant regenerates.
Q: How do I bulk-replace images?
A: Export products to CSV, update the base_image column with new filenames, upload new images to pub/media/catalog/product/, re-import the CSV.
Q: Why do my WebP images not show in older browsers?
A: WebP is widely supported now (Chrome, Firefox, Edge, Safari 14+, Opera). If a small share of your traffic is on older browsers, keep JPEG fallbacks or use the <picture> element via Hyva’s built-in responsive image output.
Q: Images are slow to load — is that a Magento issue?
A: Usually a layer above. SmartXHosting serves images via NVMe; slow loading suggests large file size, no browser caching headers or a missing CDN. Enable Cloudflare or the Fastly/CloudFront extension.
Q: Can I track which images are missing across the catalogue?
A: Run a Magento CLI script that iterates products and checks file existence on disk. SmartXHosting support can write and run this for you via a support ticket.