WordPress images not loading after a migration can mean missing files, outdated URLs, absent thumbnails or access rules at the new host. Start with one broken image and compare its requested URL with the file that should exist.
Keep a recovery copy before changing database values or media files. Our hosting migration checklist covers the wider cutover, while the WordPress backup guidance explains the files and database needed for recovery.
Start by confirming that the expected files exist in the new site’s uploads directory. A migration can copy the database successfully while missing part of the media library. Compare a broken image URL with the folder structure on the server and check whether the relevant year and month directory exists. If the files are present, the problem is more likely to involve URLs, permissions or web-server rules than missing media.
WordPress content can contain absolute image URLs from the previous domain or staging address. A proper database search-and-replace may be required after migration, but serialized data should be handled with WordPress-aware tools rather than a blind text replacement. Also check for mixed-content problems where the page uses HTTPS but an image still points to HTTP.
The original image may exist while generated thumbnail sizes are missing. Regenerating thumbnails can help after theme or image-size changes. File and directory permissions also need to allow the web server to read media without making the uploads directory unnecessarily writable.
Clear relevant caches and inspect several pages rather than checking only the media library. Responsive image markup can reference multiple generated sizes, so a desktop image appearing correctly does not guarantee every mobile variant is fixed. Finally, open a few image URLs directly and confirm they return the expected file instead of a redirect, access-denied response or placeholder.
Record whether the cause was a missing upload, an old URL, a generated image size or an access rule. Verify the affected page and representative mobile sizes after the repair, then retain the steps with the migration record.
A missing-file response suggests a different investigation from an access-denied response. Record the exact image URL and response before changing permissions or replacing media. If the original loads but a smaller version does not, compare the requested filename with the generated sizes.
Test one representative repair first. A broad database replacement can affect more than image links, so keep a backup and use an appropriate migration tool. Once the cause is clear, apply the correction consistently and check the affected layouts on both phone and desktop. Avoid re-uploading every image when the existing files are present and only their references need attention.