How to Fix Broken Images in WordPress Blog Posts

Seeing a broken image icon or blank space where a photo should be can make a WordPress post look unfinished. The good news is that you can usually find the cause with a few simple checks.
This guide explains how to fix broken images in WordPress blog posts, from checking the image URL to repairing migration and HTTPS issues.
How to Fix Broken Images in WordPress: Quick Checks
- Open the affected post in a private browser window and refresh it.
- Open the image in a new tab. If it returns a 404 error or access-denied message, the image URL or file access is likely the problem.
- Check whether the image is broken in one post or across the whole website.
- Back up your site before running database replacements, editing .htaccess, or changing file permissions.
1. Check the image URL
WordPress posts can contain an image URL that points to a file that has moved, been renamed, or been deleted. In the editor, select the broken image and check its source or replace it by choosing the correct file from the Media Library.
If the image opens a 404 page in a new tab, upload the original file again or update the post to use the correct attachment.

2. Confirm the image exists in the Media Library
Go to Media → Library in your WordPress dashboard. Search for the image and open its attachment details. If the image is present, copy its file URL and compare it with the URL used in the post. If it is missing, upload a fresh copy and replace the broken image in the post.
For more guidance on using WordPress media, see the official WordPress Media Library documentation.
3. Fix images that broke after a site migration
After moving a site to a new domain, host, or folder, old image URLs may still point to the previous location. Compare the broken URL with the current site address and inspect a few affected posts.
If many URLs need changing, use a reputable search-and-replace tool that supports serialized data, and take a full backup first. Do not run a blind database replacement without testing it on a staging copy.

4. Check HTTPS and mixed-content warnings
If your site uses HTTPS but an image still loads over HTTP, the browser may block it or show a security warning. Make sure WordPress Address and Site Address use the correct HTTPS version under Settings → General, then update old image URLs safely. Clear your site, CDN, and browser caches after making changes.
Learn more in the official WordPress HTTPS guide. If only Chrome shows the broken image, test the direct image URL in another browser and check DevTools for mixed-content, 404, or permission errors.

5. Check file permissions and hotlink protection
Images may exist on the server but still fail to load if file or directory permissions are incorrect, or if a security rule blocks requests.
Ask your hosting provider to verify that the uploads directory and its files have appropriate permissions. Avoid setting everything to 777; that can create a security risk. If hotlink protection or a CDN is enabled, check its rules and allow your own domain.
6. Rule out a plugin or theme conflict
If the issue started after installing or updating a plugin or theme, clear caches first. Then, on a staging site if possible, temporarily deactivate cache, image-optimization, lazy-loading, or security plugins one at a time and test again.
Switch to a default WordPress theme only as a controlled diagnostic step. Reactivate each plugin after testing so you can identify the cause without leaving important features disabled.
7. Find broken images across your website
If several posts are affected, crawl your site or use a broken-link checker that can report image URLs and HTTP status codes. Review the results manually: some tools flag temporary errors or images that require authentication. Fix the source URL or restore the missing file rather than simply hiding the broken-image icon.
Start with the official WordPress plugin directory search for broken-link checkers and review each plugin’s current maintenance, compatibility, and privacy details before installing it.
8. Clear caches and retest
After correcting the URL or server setting, clear your WordPress caching plugin, hosting cache, CDN cache, and browser cache as applicable. Open the post in a private window and check the image on both desktop and mobile. Also check the image’s alt text so screen-reader users can understand its purpose.
When to contact your host
Contact your hosting provider if many uploads return 403 or 404 errors, image files disappear after migration, permissions keep changing, or server/CDN rules appear to block image requests. Share one affected image URL, the error code, and the time you tested it.
Final checklist
- Confirm the image file exists.
- Correct outdated or misspelled image URLs.
- Check HTTPS and mixed-content errors.
- Verify permissions, CDN, and hotlink rules.
- Test plugin and theme conflicts carefully.
- Clear caches and retest the post.
For more practical website tutorials, browse WordPress & Blogging Tools on Olaitan.me.
Tip: Fix the root cause first. Replacing every image manually may hide the symptom while leaving the underlying URL, migration, or server problem unresolved.






Reader Discussion
0 Comments