WordPress Images Not Showing After Migration: 7 Fixes
Data Recovery Solutions

WordPress Images Not Showing After Migration: 7 Fixes

You moved your site to a new host or domain, and the pages load, but the pictures do not. Blank spaces, broken icons, and an empty Media Library are all signs of the same family of problems. If you have WordPress images not showing after migration, the fix depends on where the chain broke: the files, the database, or the addresses.

WordPress Images Not Showing After Migration: 7 Fixes

Use the seven fixes below in order. Each takes only a few minutes to check.

Fix 1: Check that the uploads folder was copied

WordPress keeps your images in wp-content/uploads, usually in year and month folders. Connect by FTP or your host’s file manager and open that folder on the new server. If it is empty or much smaller than on the old site, the files did not move. Copy them again from the old server or from a backup.

Fix 2: Check whether the Media Library is empty

Go to Media > Library. Two situations look similar but are different.

  • The files exist on the server but the library is empty. The database lost the media entries, so WordPress does not know about the files.
  • The library lists images but they do not display. The entries exist, but the addresses or files are wrong.

This difference tells you which fix to use. For the first case, read our guide on how to rebuild the WordPress media database.

Fix 3: Re-register the files with a recovery plugin

When files are in the uploads folder but missing from the library, a recovery tool can scan the folder and add them back. Media Library Recovery Free recovers up to 10 images at a time from the default uploads folder.

  1. Install and activate the plugin.
  2. Go to Media > Media Recovery.
  3. Select the images you want back.
  4. Click recover, and repeat for the next batch.

Large libraries are easier with Media Library Recovery Pro, which has no file-count limit and recovers other media types such as video, audio, and documents. Our Media Explorer guide shows how to filter and select files faster.

Fix 4: Update old URLs inside your content

Posts and pages store full image addresses. After a domain change they may still point to the old site. Open a broken image in a new tab and read the address. If it shows the old domain, you need to replace it in the database.

Use a search and replace tool to swap the old domain for the new one, and take a database backup first. Our post on how to fix broken image links after import explains the steps.

Fix 5: Fix HTTP and HTTPS mismatches

If your new site uses HTTPS but your content still asks for images over HTTP, browsers can block them. Open the browser console with F12 and look for “mixed content” messages. Replace the HTTP addresses with HTTPS versions in your content. The MDN page on mixed content explains why browsers do this.

Fix 6: Check file permissions

If images exist but return a 403 error, the server may be refusing to serve them. Folders usually need permission 755 and files 644. Ask your host to confirm, or check the WordPress file permissions guide.

Fix 7: Clear caches and rebuild thumbnails

Caches can show an old broken version of a page. Clear your browser, caching plugin, host cache, and CDN. If images load at full size but thumbnails are broken, regenerate thumbnails with a thumbnail plugin so each image size exists again.

Quick diagnosis table

What you seeLikely causeGo to
———
Uploads folder emptyFiles not copiedFix 1
Files exist, library emptyDatabase entries missingFix 2 and 3
Broken image shows old domainOld URLs in contentFix 4
Console shows mixed contentHTTP on HTTPSFix 5
403 on image addressPermissionsFix 6
Works for you, not othersCacheFix 7

Prevent it on the next move

  • Copy the database and the uploads folder together.
  • Keep a backup of the uploads folder. Our help article on backing up your uploads folder shows an easy way.
  • Test on a staging copy before switching DNS.

WordPress images not showing after migration: common questions

Do I have to re-upload all my images?

Usually not. If the files are in the uploads folder, you can fix the addresses or re-register the files. Re-uploading creates duplicates and uses extra space.

Why do the images show for me but not for visitors?

Most often a cache. Your browser may hold a good copy while a CDN or caching plugin serves an old one. Clear all cache layers and test in a private window.

Can I recover images that were never in the library?

If the file is in the uploads folder, a recovery tool can add it. If the file never made it to the new server, copy it over first.

How can I avoid this on my next move?

Move files and database together, keep a separate backup of the uploads folder, and test on a staging copy before you switch DNS.

Conclusion

When you find WordPress images not showing after migration, check the files first, then the Media Library, then the addresses. If the files are safe but the library is empty, a recovery plugin brings them back without re-uploading.

You can try Media Library Recovery Free on your first batch of images and move to Pro for large libraries.

Written by

Krasen Slavov

WordPress plugin developer, blogger, ultra-distance runner, and mountain lover. I have developed and used WordPress since its first steps but recently have started to get involved in the community and have created some open-source plugins.

Visit website

Leave a Reply

Your email address will not be published. Required fields are marked *

Forgot password? 0 View Cart