WordPress Images Not Displaying on Website? Here’s How to Fix It

Table of Contents

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?

1️⃣ Wrong image URLs or paths

2️⃣ Broken links after migrating your website

3️⃣ 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:

  1. Clear your browser cache (use Ctrl + F5 on Windows or Command + Shift + R on Mac).

  2. If you’re using a caching plugin like WP Rocket, LiteSpeed Cache, or W3 Total Cache, go to your plugin’s settings.

  3. 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:

  1. Log in to your cPanel or FTP client.

  2. Go to public_html/wp-content/uploads/.

  3. Right-click the uploads folder and choose File Permissions.

  4. Set the permissions to 755 for folders and 644 for files.

  5. 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:

  1. Right-click on a broken image and choose “Open image in new tab.”

  2. Check the URL — if it points to an old domain or staging URL, you’ll need to update all URLs.

  3. Install and activate the Better Search Replace plugin.

  4. 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:

  1. Right-click on a broken image and choose “Open image in new tab.”

  2. Check the URL — if it points to an old domain or staging URL, you’ll need to update all URLs.

  3. Install and activate the Better Search Replace plugin.

  4. 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:

  1. Install and activate the Regenerate Thumbnails plugin.

  2. Go to Tools → Regenerate Thumbnails.

  3. Click “Regenerate Thumbnails for All Attachments.”

  4. 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:

  1. Go to your hosting cPanel.

  2. Open Security → Hotlink Protection.

  3. Make sure your own domain is listed under “URLs to allow access.”

  4. If it’s not listed, add your site URL (e.g., https://yourdomain.com).

  5. 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:

  1. If your theme or optimization plugin (like Jetpack, Smush, or LiteSpeed Cache) has a Lazy Load option, turn it off temporarily.

  2. Reload your page to check if images appear.

  3. 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:

  1. Go to Media → Library in your WordPress dashboard.

  2. Delete broken images (you’ll see gray boxes or broken icons).

  3. 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:

  1. Connect via FTP or cPanel File Manager.

  2. Locate your .htaccess file in the public_html folder.

  3. Rename it to .htaccess-old.

  4. Go to WordPress Dashboard → Settings → Permalinks and click Save Changes.

  5. 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:

  1. Log in to your CDN dashboard.

  2. Purge cache or delete old assets.

  3. Disable CDN temporarily to see if images appear.

  4. 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.

Conclusion

Broken or missing images can be frustrating, but most of the time, the issue is simple to fix. By following the steps above, you can quickly restore all your images and make your WordPress site look perfect again.
Share it
Still Got Stuck? Need Help
Got a Project in Mind?
Schedule a Meeting!