Opens in a new tab

Troubleshooting

Most generation issues trace back to one of a handful of causes — here's how to check each one.

Common Issues, and Where to Look

ThumbnailWP never lets one failed generation break anything else — a bad template, a missing font, or a corrupt image is caught and logged, not left to fail silently across your whole site. Here’s what to check when a specific image doesn’t come out right.

On this page

🟦 No image engine detected

Check ThumbnailWP → Dashboard → Server status. If it shows “Unavailable,” neither GD nor Imagick is installed on your server — GD is the mandatory baseline ThumbnailWP needs, so nothing will render until your host enables it. Imagick is used automatically on top of GD when available, but is never required.

🟩 A post never gets an automatic image

Two common reasons, both by design, not bugs: the post already has a featured image (ThumbnailWP never overrides one you’ve set yourself — use the Regenerate button on the post edit screen if you want to replace it on purpose), or no template’s Assignment rules matched it and no template is marked as the fallback.

🟧 Generation fails or produces nothing

Every generation attempt is wrapped in error handling — a failure is logged to your server’s PHP error log rather than breaking the page. Check that log for a line starting with “ThumbnailWP:” for the exact cause (a malformed color value, a missing font file, or similar).

🟥 A dynamic tag resolves to nothing

{{site_logo}} and {{site_icon}} need an image chosen under Settings → Brand identity — they’re never auto-detected from your theme. {{author_photo}} needs the Meta Box/ACF field name set in the same screen; left empty, it never falls back to Gravatar or any other external service, on purpose — ThumbnailWP never makes a third-party network call to resolve a tag.

🟫 Site logo or icon picker won’t let me choose my file

The picker only offers PNG, JPG, GIF, and WebP — SVG is intentionally excluded. Neither GD nor Imagick can read a vector image, so an SVG would silently render nothing with no error shown; restricting the picker avoids that confusion entirely rather than just warning about it.