Error: "Invalid image or unsupported image format"
The error message "Invalid image or unsupported image format " can be sometimes puzzling, especially when the actual image exists and looks good when viewed in a browser.
Here are some of the usual reasons for this and possible solutions:
- Images that actually have errors. A possible solution is to use a plugin like Enable Media Replace to re-upload and replace the images that are broken.
- A firewall that prevents our servers to access your images. Please whitelist our IPs.
- Restrictive rules in the .htaccess file. A quick way to check whether .htaccess is the reason for this issue is to temporary change the file's name to -for example- .htaccess_tmp and then try again to see if the plugin can optimize a newly added image.
- Wrong WP settings. Please check if the URL of your site is correctly set in the WordPress' General Settings.
- Unsupported image formats (e.g. .svg).
- you're using a security plugin that has an option that prevents the images from being properly accessed (e.g. "Long URL strings" option in iThemes Security plugin)
- there are sometimes when the error sounds like this " Could not download file (200 OK)". This happens when instead of an image, the website returns, with HTTP code 200 (which usually means "everything OK"), a HTML file. Basically the file was downloaded OK (200 OK) but it isn't actually an image. From our experience usually this happens when there are some firewall restrictions in Cloudflare, here is a guide on how to debug.