You upload an image to WordPress. You add it to your blog post. You hit publish.
And instead of your beautiful photo, visitors see a broken image icon — a small grey box or a red X where your image should be.
Or worse — you open a post that has been live for months and the images have simply vanished. No error message. Just empty spaces where photos used to be.
WordPress images not showing is one of the most searched WordPress problems — and it is particularly frustrating because it can happen suddenly, without any obvious trigger, on a site that was working perfectly the day before.
This guide covers every cause of WordPress images not showing, how to diagnose which one affects your site, and the exact fixes in order — most of which take under 5 minutes.
The wordpress images not showing problem affects WordPress sites of every size and age — from brand new blogs to established business sites with years of content. What makes wordpress images not showing particularly alarming is that it can affect every single page on your site simultaneously, making the problem appear catastrophic when the actual fix is often just one setting or one deleted file away.

Why Are WordPress Images Not Showing?
When WordPress images not showing happens, the image file itself is almost always still there — safely stored in your /wp-content/uploads/ folder. What broke is the connection between the page and the image file.
WordPress stores image information in two separate places: the actual file on your server, and a database record that tells WordPress where to find it. When either the file path, the URL, the file permissions, or the database record is wrong — WordPress images not showing is the result.
| What You See | Most Likely Cause | Fix |
|---|---|---|
| All images broken on all pages | Wrong site URL or cache | Fix 1 or Fix 5 |
| Images broken after migration | URL mismatch in database | Fix 5 |
| Broken thumbnails in Media Library | Corrupted thumbnails | Fix 3 |
| Images broken after adding SSL | Mixed content (http vs https) | Fix 4 |
| Some images broken, others fine | File permissions or missing file | Fix 2 |
| Images broken after plugin update | Plugin conflict | Fix 6 |
| Images not uploading at all | PHP memory or upload size limit | Fix 7 |
Common Causes of WordPress Images Not Showing
🔴 Cache Serving Old Data
Most common cause. Caching plugins serve a cached version of the page with broken image paths. Purging all cache restores images instantly in most cases.
🔴 Wrong File Permissions
Uploads folder needs 755 permissions. If incorrectly set to 700 or 600, WordPress cannot serve images to visitors — causing broken image icons site-wide.
🟡 Corrupted Thumbnails
WordPress creates multiple image sizes (thumbnail, medium, large) for each upload. If these are corrupted or missing, images show as broken even though the original file is intact.
🟡 Wrong URL After Migration
Moving WordPress to a new domain leaves old URLs in the database. Every image stored with the old domain URL becomes a broken link on the new domain.
🔵 Mixed Content (HTTP/HTTPS)
After adding SSL, image URLs stored in the database still use http:// — causing browsers to block them as insecure mixed content on your https:// pages.
🟢 Plugin or Theme Conflict
Lazy loading plugins, image optimization plugins, and CDN plugins can all interfere with how WordPress loads and displays images — causing them to not show correctly.
How to Disable Comments in WordPress (Complete 2026 Guide)
Stop spam, improve performance, and remove comment sections completely — step-by-step methods with screenshots.
Read Full Guide →Fix 1: Clear All Caches — The 60-Second Solution
The most common cause of WordPress images not showing is stale cache. Caching plugins store snapshots of your pages — and if a snapshot was taken when an image was temporarily unavailable, that broken version keeps serving to visitors even after the image is back.
- Go to WordPress Dashboard → LiteSpeed Cache (top admin bar)
- Click Purge All
- Also go to LiteSpeed → Toolbox → Purge All
- Clear browser cache: Chrome → Ctrl + Shift + Delete → All time → Clear data
- Open your site in a fresh incognito window and check if images are showing
Fix 2: Fix File Permissions on the Uploads Folder
WordPress needs specific file permissions to read and serve images. When WordPress images not showing is caused by permission issues, the images exist on the server but cannot be accessed by visitors. The correct permissions are 755 for folders and 644 for files.
- Open Hostinger hPanel → File Manager → public_html → wp-content
- Right-click the uploads folder → click Change Permissions
- Set to 755 → check Recurse into subdirectories → apply to folders only → Save
- Right-click uploads again → Change Permissions → set to 644 → apply to files only → Save
- Refresh your site and check if images are now visible

Fix 3: Regenerate Thumbnails
When you change your WordPress theme or resize images, the thumbnail versions WordPress created for the old theme become incorrect sizes for the new one. This makes WordPress images not showing in specific areas like featured image slots, archive pages, and product grids — even though the full-size images are intact.

- Go to Plugins → Add New → search for Regenerate Thumbnails → Install → Activate
- Go to Tools → Regen. Thumbnails
- Click Regenerate All Thumbnails
- Wait for the process to complete — this may take several minutes on large sites
- Deactivate and delete the plugin after regeneration is complete

Fix 4: Fix Mixed Content — Images Broken After Adding SSL
After switching your WordPress site from HTTP to HTTPS, the problem is extremely common. The reason: all your image URLs are stored in the database as http://yourdomain.com/wp-content/uploads/… — and modern browsers block these as insecure mixed content when loaded on an https:// page.
Fix Using Better Search Replace Plugin
- Install Better Search Replace plugin (free)
- Go to Tools → Better Search Replace
- In Search for field: http://yourdomain.com
- In Replace with field: https://yourdomain.com
- Select all database tables
- Uncheck Run as dry run → click Run Search/Replace
- Clear all caches → check if broken image icons issue is resolved
Fix 5: Fix Image URLs After Site Migration
Migration is the most common trigger for mass broken images across an entire site. When you move WordPress to a new domain, every image URL stored in the database still points to the old domain — making every single image a broken link on the new domain.
- Go to Settings → General → confirm both WordPress Address and Site Address show your new domain
- Install Better Search Replace plugin (same as Fix 4)
- Search for your old domain URL: https://olddomain.com
- Replace with your new domain: https://newdomain.com
- Run on all tables → clear all caches → verify images are showing

Fix 6: Disable Plugins to Find Conflicts
Image optimization plugins, lazy loading plugins, CDN plugins, and security plugins are all common causes of image issues — particularly after an update that changes how they process or serve image files.
- Go to Plugins → Installed Plugins
- Bulk deactivate all plugins except your caching plugin
- Check if WordPress images are now showing
- If yes — reactivate plugins one at a time, checking images after each activation
- When images stop showing again — that plugin is the cause
- Update the plugin, check for a newer version, or find an alternative
Fix 7: Fix Image Upload Errors — PHP Memory and Upload Size
If broken image icons because they fail to upload entirely, the cause is almost always a PHP memory limit that is too low or an upload file size restriction. WordPress shows an HTTP error during upload when it runs out of memory processing large images.
- Open hPanel → File Manager → public_html → wp-config.php → Edit
- Add these lines before the /* That’s all, stop editing! */ comment:
- Also go to hPanel → PHP Configuration → set upload_max_filesize to 64M and post_max_size to 64M
- Save → try uploading your image again
Recurring broken images? Your hosting may be the bottleneck.
Hostinger Business and Cloud plans include higher PHP memory limits, larger upload sizes, and LiteSpeed servers optimized for WordPress image delivery.
How missing images Affects Your SEO
Most site owners treat this issue as a visual problem. But the SEO consequences are equally serious and accumulate quickly:
- LCP score crashes: Largest Contentful Paint — Google’s most important Core Web Vital — is almost always an image. When image issues occurs, your LCP score registers as a failed load rather than a slow load, causing a significant ranking signal drop.
- Alt text becomes orphaned: Your carefully written alt text now describes an image that visitors cannot see — delivering no value to users or search engines.
- Bounce rate increases: Visitors who land on a page with broken images leave immediately. Higher bounce rate signals lower quality to Google.
- Featured image missing from social shares: When you share a page on social media, the missing image means no thumbnail appears — dramatically reducing click-through rate from social platforms.
Free WordPress Technical Audit — ToolXray
After fixing images — check Core Web Vitals, LCP, PageSpeed and 80+ signals. Free, no signup needed.
How to Prevent the problem
- Always backup before migrating: A full site backup before any migration means you can restore instantly if image URLs break during the move.
- Run Better Search Replace after every domain change: Any time your domain changes — adding SSL, changing www preference, moving to a new domain — immediately run a search-replace on your database to update all image URLs.
- Compress images before uploading: Use Squoosh (free) to compress images below 200KB before uploading. Smaller files process faster, use less memory, and reduce the chance of upload errors that leave broken placeholders.
- Test after every optimization plugin update: Image optimization and lazy loading plugins are the most common plugin cause of broken image icons. After every update to these plugins — open a few posts in incognito and confirm images are loading.
- Monthly technical audit: Run a free audit at ToolXray monthly — catches broken image paths, Core Web Vitals issues, and LCP problems before they affect rankings.
The Bottom Line
broken images is almost never a sign of permanent damage — your images are almost always still on the server. What broke is the connection between the page and the file, and that connection is restored through one of seven identifiable fixes.
Start with Fix 1 — clear all caches. WordPress images not showing is resolved by cache clearing in over 40% of cases. This resolves the majority of missing images cases in under 60 seconds. If wordpress images not showing persists after clearing cache, work through the diagnosis table at the top of this guide to identify your specific cause and apply the right fix directly.
After resolving the wordpress images not showing issue, run a free technical audit to confirm your Core Web Vitals — particularly your LCP score — have recovered from the period when images were missing.
🔍 Free WordPress Technical Audit
Check LCP, Core Web Vitals, broken links, PageSpeed and 80+ signals after fixing your images
Run Free Audit at ToolXray →Related Articles
Fix LCP in WordPress
Images are the #1 LCP element — after fixing missing images, optimize for 90+ LCP scores.
WordPress Speed Optimization
Complete performance guide — image compression, lazy loading, CDN setup and more.
WordPress Memory Limit Fix
HTTP error on image upload? Low PHP memory is the cause — 3 methods to fix it.
WordPress Database Error Fix
Database issues after migration also break image URLs — fix both together.
ERR_TOO_MANY_REDIRECTS Fix
SSL setup causing both redirect loops and broken images? Fix both simultaneously.
WordPress White Screen of Death
Plugin conflict causing both white screen and broken images? Same plugin is likely the cause.
How to Use PageSpeed Insights
Verify your image fix improved your PageSpeed score — read the report correctly.


