Are your images not showing on your WordPress site? Don’t worry this is a common issue and easy to fix. In this guide, you’ll learn the main reasons behind it and simple steps to get your images displaying properly again.
Why Are Images Not Displaying in WordPress?
Wrong image URLs or paths
Broken links after migrating your website
Incorrect file permissions
4️⃣ Cache or CDN issues
5️⃣ Hotlink protection blocking your images
6️⃣ Corrupted .htaccess file
Before panicking, follow the steps below to fix the issue.
1. Clear Browser and Website Cache
One of the most common reasons images don’t appear is because your browser or caching plugin is showing an outdated version of your website.
How to Fix It:
Clear your browser cache (use Ctrl + F5 on Windows or Command + Shift + R on Mac).
If you’re using a caching plugin like WP Rocket, LiteSpeed Cache, or W3 Total Cache, go to your plugin’s settings.
Click “Clear Cache” or “Purge All Cache.”
2. Clear Browser and Website Cache
Your images are stored in the wp-content/uploads folder. If that folder has incorrect permissions, WordPress can’t access your images, resulting in blank or broken thumbnails.
How to Fix It:
Log in to your cPanel or FTP client.
Go to public_html/wp-content/uploads/.
Right-click the uploads folder and choose File Permissions.
Set the permissions to 755 for folders and 644 for files.
Save the changes and refresh your website.
3. Verify Image URLs
Sometimes images break because they’re loading from a wrong or old domain (for example, after migrating your website).
How to Fix It:
Right-click on a broken image and choose “Open image in new tab.”
Check the URL — if it points to an old domain or staging URL, you’ll need to update all URLs.
Install and activate the Better Search Replace plugin.
Replace old URLs (e.g.,
https://oldsite.com) with your current domain (e.g.,https://newsite.com).
4. Fix Mixed Content (HTTP/HTTPS) Issues
Sometimes images break because they’re loading from a wrong or old domain (for example, after migrating your website).
How to Fix It:
Right-click on a broken image and choose “Open image in new tab.”
Check the URL — if it points to an old domain or staging URL, you’ll need to update all URLs.
Install and activate the Better Search Replace plugin.
Replace old URLs (e.g.,
https://oldsite.com) with your current domain (e.g.,https://newsite.com).
5. Regenerate Thumbnails
Sometimes, when you change themes or image sizes, WordPress fails to generate thumbnails properly.
How to Fix It:
Install and activate the Regenerate Thumbnails plugin.
Go to Tools → Regenerate Thumbnails.
Click “Regenerate Thumbnails for All Attachments.”
Wait for the process to finish and reload your website.
6. Check Hotlink Protection Settings
If your hosting account has Hotlink Protection enabled, it might block your own images from appearing.
How to Fix It:
Go to your hosting cPanel.
Open Security → Hotlink Protection.
Make sure your own domain is listed under “URLs to allow access.”
If it’s not listed, add your site URL (e.g.,
https://yourdomain.com).Disable Hotlink Protection temporarily to test.
7️⃣ Disable Lazy Loading Temporarily
Lazy loading helps improve performance, but sometimes it can conflict with themes or plugins and prevent images from loading.
How to Fix It:
If your theme or optimization plugin (like Jetpack, Smush, or LiteSpeed Cache) has a Lazy Load option, turn it off temporarily.
Reload your page to check if images appear.
If this fixes it, consider switching to another lazy-loading plugin.
8️⃣ Re-upload Missing or Corrupted Images
If specific images are missing or corrupted, re-uploading them is the easiest fix.
How to Fix It:
Go to Media → Library in your WordPress dashboard.
Delete broken images (you’ll see gray boxes or broken icons).
Re-upload the original images from your computer.
9️⃣ Replace the .htaccess File
A misconfigured .htaccess file can block image access on your website.
How to Fix It:
Connect via FTP or cPanel File Manager.
Locate your
.htaccessfile in the public_html folder.Rename it to
.htaccess-old.Go to WordPress Dashboard → Settings → Permalinks and click Save Changes.
WordPress will create a fresh .htaccess file automatically.
🔟 Check CDN (Cloudflare or Others)
If you’re using a CDN (like Cloudflare or BunnyCDN), cached or outdated image files can cause display issues.
How to Fix It:
Log in to your CDN dashboard.
Purge cache or delete old assets.
Disable CDN temporarily to see if images appear.
If yes, adjust caching or re-sync files.
✅ How to Prevent Image Issues in the Future
Always upload images using the Media Library instead of manually via FTP.
Keep WordPress, themes, and plugins updated.
Regularly back up your website.
Use an image optimization plugin to maintain performance (like ShortPixel or Smush).
Avoid renaming or moving your uploads folder.