75 guides published Start a blog Fix my site How we test
FIX IT

Featured Images Stopped Showing

Featured images disappearing usually happens after a theme change, a migration, or a plugin update. The image is almost always still there — something between the database and the page has broken.

The short version

  • Check whether the Featured Image box still appears in the editor.
  • If it does, the image is set and the theme is not displaying it.
  • If the path is wrong, it is a migration problem.
  • Missing sizes need thumbnail regeneration.

1. Does the theme support them?

If the Featured Image panel is missing from the post editor entirely, the active theme has not declared support:

add_theme_support( 'post-thumbnails' );

Put that in your child theme’s functions.php. Most modern themes do this already, but a minimal or custom theme may not.

2. Set but not displayed

If the image is set in the editor and absent on the front end, the template is not outputting it. The theme either does not call it, or a plugin has removed it:

// in the template loop
if ( has_post_thumbnail() ) {
    the_post_thumbnail( 'large' );
}

Check whether a plugin is filtering it away — some SEO and layout plugins hide featured images on single posts to avoid duplication, and the setting is easy to miss.

3. The path is wrong

Common after a migration. Open the image URL directly in a browser. If it 404s, the file is missing or the URL is wrong:

wp search-replace 'http://oldsite.com' 'https://newsite.com' --all-tables --dry-run

If the URL is right but the file is genuinely absent, the uploads directory did not transfer completely. Re-sync it.

4. Missing image sizes

Every theme registers its own sizes. A new theme asks for a size that was never generated for your existing images, so nothing is output:

# regenerate every registered size
wp media regenerate --yes

# just one post's attachments
wp media regenerate 123 --yes

On a large library this takes a long time and consumes significant disk. Run it when you can leave it, and check your inode headroom first.

5. Lazy loading conflict

Two lazy-loading implementations — WordPress core plus a plugin — can produce an image element with no usable source. The symptom is a blank space exactly where the image should be, rather than a broken-image icon.

Disable the plugin’s lazy loading and rely on core, or disable core’s and rely on the plugin. Not both.

// disable core lazy loading if a plugin handles it
add_filter( 'wp_lazy_loading_enabled', '__return_false' );

Diagnosis

SymptomCause
No Featured Image box in the editorTheme support missing
Set in editor, absent on front endTemplate or a plugin filter
Broken image iconWrong path or missing file
Blank space where the image should beLazy loading conflict
Works on some posts onlyMissing sizes for older uploads
Started after a theme changeNew sizes — regenerate thumbnails

Common questions

Will regenerating thumbnails affect SEO?

No. The URLs of existing sizes do not change; new sizes are added.

Can I delete unused sizes?

Yes, and you should — it reclaims disk and inodes. Unregister the size first, then regenerate.

Why only on the archive page?

The archive template requests a different size from the single template. That size is probably missing.

S

Sumit

Writes everything on TechMozz.

More in Fix It