Why Are Images Missing After a WooCommerce CSV Import?
How the WooCommerce Importer Handles Images
The import process doesn't accept image files directly within the CSV — it reads a URL string from the designated image column and makes an HTTP request to fetch that image during import, attaching it to the new product if successful. Anything preventing that fetch from succeeding (a bad URL, a source that blocks the request) means the image step fails, but the rest of the product import typically still completes, producing a product with no image and no obvious error unless the import log is checked.
Common Causes of Missing Images
- A local file path (like
C:\Images\product1.jpg) instead of a real, publicly accessible URL — the importer has no way to reach a path on your own computer. - A broken or expired URL, particularly if the CSV was prepared some time before the actual import and the source images moved or were deleted in the meantime.
- Hotlink protection on the source server, blocking the automated request WooCommerce's import process makes to fetch the image, even though the URL works fine when opened directly in a browser.
- A very large image file exceeding a server timeout or memory limit during the fetch-and-process step, particularly on a shared hosting environment with tighter resource limits.
How to Get the Images Imported
- Confirm every image URL in the CSV is a genuine, publicly accessible link, testing a sample directly in a browser.
- Host images somewhere without hotlink protection if that's the issue, or adjust the source server's settings to allow the import request.
- Check the import's completion log for specific errors related to image fetching, if available.
- Re-run the import for affected products, or manually add images to the specific products that failed.
Need help troubleshooting a bulk import with missing data? See custom WooCommerce development.