WordPress Images Not Loading After Migration (Fixed)
Migrating a WordPress website to a new host or domain is a common process, but it can sometimes lead to issues, including images not loading properly. This problem can occur due to incorrect file paths, SSL issues, or missing thumbnails.
But don't worry, there are several easy & effective solutions to fix this.
Causes of Images Not Loading After Migration
Before diving into the solutions, it's important to understand why this issue occurs:

- Incorrect File Paths: After migration, media file URLs may still point to the old domain or directory structure.
- SSL and Mixed Content Issues: If your new site uses HTTPS but media URLs still use HTTP, browsers may block the images.
- Missing or Corrupt Thumbnails: The WordPress media library may fail to display images due to missing thumbnail regenerations.
- Permissions and Ownership Issues: If file permissions are incorrect, WordPress may not be able to access media files.
- Cache and CDN Conflicts: Cached data or a misconfigured CDN may prevent images from appearing correctly.
Solutions to Fix WordPress Images Not Loading After Migration
1. Use Regenerate Thumbnails Plugin
After migration, images may not display properly because WordPress hasn’t regenerated their thumbnails. The Regenerate Thumbnails plugin can fix this:

- Install and activate the Regenerate Thumbnails plugin from the WordPress repository.
- Navigate to Tools > Regenerate Thumbnails.
- Click Regenerate Thumbnails for All Attachments and wait for the process to complete.
This ensures that all images are properly resized and appear correctly on your site.

2. Fix SSL and Use Really Simple SSL Plugin
If your site is now on HTTPS but images still load from HTTP, browsers may block them due to mixed content issues. To fix this:

- Install and activate the Really Simple SSL plugin.
- Go to Settings > SSL and enable SSL.
- The plugin automatically updates all URLs to use HTTPS, resolving mixed content issues.
Most of the time image not loading/showing Problem should be fixed by now; if not move for the next options. Don't forget to remove caches after making changes.
3. Update Image URLs in the Database
If images are still referencing the old domain, you need to update the URLs:

- Install the Better Search Replace plugin.
- Go to Tools > Better Search Replace.
- Enter the old URL (e.g.,
http://oldsite.com
) and the new URL (e.g.,https://newsite.com
). - Select the wp_posts and wp_postmeta tables and click Run Search/Replace.
This updates all old image links to the new domain.
4. Check and Correct File Permissions
Incorrect file permissions can prevent images from loading. To fix this:
- Connect to your website via FTP or log into your hosting account's File Manager.
- Navigate to the wp-content/uploads/ directory.
- Right-click the uploads folder and select File Permissions (in FileZilla) or Change Permissions (in cPanel).
- Ensure that directories meaning the upload folder and sub folders are set to 755 and files to 644.
Learn more: How to Edit File and Folder Permissions in WordPress
5. Clear Cache and CDN Settings
If your site uses a caching plugin or a CDN, outdated cache files may prevent images from appearing:
- Clear your browser cache.
- Purge the cache from caching plugins like WP Rocket or W3 Total Cache.
- If using a CDN (e.g., Cloudflare), clear the CDN cache and check the image delivery settings.
6. Verify Media Uploads Directory Path
Ensure WordPress is pointing to the correct media directory:
- Go to Settings > Media and check if the Upload path is correct.
- If missing, add
/wp-content/uploads
. - Save changes and refresh your website.
I know after migrating your WordPress site, images not loading can be frustrating, but it’s often fixable with the right steps. Start with Regenerate Thumbnails and Really Simple SSL (most of the issue should be fixed by now), then update URLs, check permissions, and clear caches if necessary.