If your WordPress featured image is not showing, the most likely culprits are plugin conflicts, caching issues, or missing theme support. This problem breaks site design and harms SEO, but it is systematically solvable. By following a linear diagnostic path—from the most common to the more technical causes—you can efficiently identify and resolve the root issue. This guide provides the exact steps used by professional developers to restore post thumbnails without guesswork.
Why Is My Featured Image Not Displaying? (The Diagnostic Path)
A featured image (or post thumbnail) fails to appear due to a break in the chain between its assignment in the database and its rendering in the browser. This break can occur at multiple points: within WordPress core functions, your theme's templates, a conflicting plugin, or your server's configuration. The following vertical flowchart maps the logical, step-by-step troubleshooting process to isolate the failure point.
Step-by-Step Troubleshooting: Cause and Corresponding Solution
Follow this sequence. Do not skip steps, as they are ordered by probability and complexity.
1. Cause: The Featured Image is Not Assigned or Cache is Serving an Old Page
Often, the image was never set for that specific post/page, or a caching layer is preventing the updated content from being visible to visitors.
Solution: Verify Assignment and Flush Caches.
Edit the Post/Page: In your WordPress admin, edit the affected content.
Locate the Meta Box: In the right sidebar, find the "Featured Image" meta panel. If missing, click "Screen Options" at the top right and ensure "Featured Image" is checked.
Set/Confirm the Image: Click "Set featured image" or verify the correct image is selected. Click "Update" to save.
Clear Caches Systematically:
Browser Cache: Perform a hard refresh (
Ctrl + F5on Windows,Cmd + Shift + Ron Mac).Caching Plugin: Clear all caches via your plugin (e.g., W3 Total Cache, WP Rocket).
CDN Cache: Purge the cache in your CDN dashboard (e.g., Cloudflare).
Server Cache: If your host has object caching (e.g., Redis, Memcached), flush it via the hosting control panel.
Check the front end again.
2. Cause: Plugin Conflict
A plugin may be incorrectly interfering with the post thumbnail query, the image output, or the page's HTML/CSS.
Solution: Perform a Conflict Test.
Deactivate All Plugins: Navigate to Plugins > Installed Plugins, select all, choose "Deactivate" from the bulk actions menu, and apply.
Test Your Site: Check if the featured image now appears. If it does, a plugin is the cause.
Identify the Culprit: Reactivate plugins one by one (or in groups), checking your site after each activation. When the image disappears, the last activated plugin is the source of conflict.
Resolve: Update the conflicting plugin, check its settings for image-related options, contact its support, or find a replacement.
3. Cause: Active Theme Lacks Support or Has Faulty Code
Your theme must explicitly support featured images and correctly call them in template files.
Solution: Enable Theme Support and Audit Templates.
Check Theme Support:
Access your
themefolder via FTP/cPanel (/wp-content/themes/your-theme/).Open the
functions.phpfile.Look for:
add_theme_support('post-thumbnails');If missing, add it. For specific post types:
add_theme_support('post-thumbnails', array('post', 'page', 'portfolio'));
Warning: Always use a child theme when modifying theme files. Direct edits to a parent theme will be lost on update.
Check Template Files:
Open your theme's main template files (e.g.,
single.php,archive.php,home.php).Inside "The Loop," look for the function that displays the featured image:
the_post_thumbnail();orget_the_post_thumbnail();.Ensure this function call exists and is placed correctly within the loop. To specify a size:
the_post_thumbnail('large');.
4. Cause: Incorrect File Permissions or Server Configuration
The web server (e.g., Apache, Nginx) must have read permissions for your image files. Incorrect rules can also block access.
Solution: Correct Permissions and Server Rules.
Set Proper File Permissions via FTP/SFTP or your host's file manager:
Set all directories to
755(drwxr-xr-x).Set all files to
644(-rw-r--r--).The command for the
uploadsfolder is often:chmod -R 755 wp-content/uploads/(for directories) andfind wp-content/uploads/ -type f -exec chmod 644 {} \;.
Check Server Configuration:
For Apache, ensure your
.htaccessfile is intact and not blocking image requests.For Nginx, ensure the location block for images is correct (typically, no special config is needed, but check for restrictive rules).
Test Direct File Access: Try to access the image file directly by its URL (found in the Media Library). A
403 Forbiddenerror indicates a permission/server issue.
5. Cause: Corrupted or Regenerated Image Sizes
The specific image file or its registered thumbnail sizes may be missing or corrupted.
Solution: Re-upload and Regenerate Thumbnails.
Re-upload the Image: Delete the featured image from the Media Library and upload it again. Reassign it to the post.
Use a Regeneration Plugin: If images are distorted or the wrong size, your theme's registered image sizes may not exist for old uploads.
Install and activate the "Regenerate Thumbnails" plugin.
Go to Tools > Regenerate Thumbnails.
Run the tool to recreate all thumbnail sizes for your media library.
Advanced Considerations for Developers
Custom Queries: If using
WP_Query, ensurethe_post()is called within the loop to set up global post data before callingthe_post_thumbnail().Debugging: Enable
WP_DEBUGinwp-config.phpto log PHP errors that might relate to image functions.Database Inspection: In rare cases of site migration, database URLs in
wp_postsorwp_postmetatables may be incorrect. Use a safe search-and-replace plugin like "Better Search Replace" to fix them.

