Docs

Import Product Images and Galleries

WooCommerce products use a featured image (main product image) and an optional product gallery. Import WP can download images from remote URLs, local paths, FTP, or reuse items already in the Media Library.

Image imports are one of the most common WooCommerce support topics — especially remote URL downloads, galleries not attaching, and duplicate images on update.

Which section should I use?

SectionUse for
Product GalleryWooCommerce featured image + gallery (recommended for products)
Images & AttachmentsExtra attachments, or featured image using the standard attachment UI

For most product imports, map images in Product Gallery.

Note: Advanced → Is Featured is the WooCommerce “featured product” catalogue flag (starred product). It is not the featured image. Featured images are controlled by Is Featured? on an image/attachment row.

Example CSV

NameSKUPriceImagesImage Title
Simple Product 1simple-one10.99https://example.com/a.webp, https://example.com/b.webpTitle A, Title B
Simple Product 2simple-two12.99https://example.com/c.webpTitle C
  1. Open the Product Gallery section.
  2. Set Location to your images column (comma-separated URLs or paths).
  3. Choose the download / location method (Remote URL, Local filesystem, FTP, or Media Library search).
  4. Set Is Featured? = Yes so the first image becomes the main product image. Remaining images are added to the gallery.
  5. Optionally enable Enable Meta to map alt text and title.

Multiple images in one cell must be separated with a comma (or your configured delimiter). The same delimiter applies to matching meta columns (titles, alt text).

GoalSetting
First image = featured, rest = galleryOne Product Gallery row, Is Featured? = Yes, multiple comma-separated URLs
Featured onlyOne URL, Is Featured? = Yes
Gallery only (no featured change)Map gallery images with Is Featured? = No
Featured via Images & AttachmentsUse Images & Attachments with Is Featured? = Yes

When a Product Gallery row has Is Featured? = Yes, that image is set as the featured image and included in the gallery ID list.

Image meta (alt text and title)

Enable Enable Meta on the gallery/attachment row, then map:

  • Alt Text
  • Title Text

Keep the number of meta values aligned with the number of image URLs when importing multiple images in one field.

Download behaviour and duplicates

Attachment rows include permissions / download options such as:

  • Always download new files — creates a new Media Library item each run (can duplicate images)
  • Search media library (hash / filename based) — reuses an existing attachment when possible

Recommendations:

  • For scheduled updates of the same catalogue, prefer searching the Media Library so the same image is not downloaded repeatedly.
  • If the same image URL is used on many products, Media Library search helps attach one file to multiple products instead of uploading copies.
  • Soft-deleted / “Delete unused records” behaviour can remove media in some setups — test on staging before bulk-deleting products with media cleanup enabled.

Variation images

To set an image on a product variation:

  1. Import the variation row as Product Type variation.
  2. Map an image on that variation (Product Gallery or Images & Attachments with Is Featured? = Yes).

Parent gallery images are separate from per-variation images.

External image URLs (no Media Library upload)

By default Import WP downloads remote images into the WordPress Media Library (recommended for most stores).

If you need to store external URLs without uploading files (hotlinking / external featured image plugins), that usually requires an extra plugin or custom field mapping rather than the standard Product Gallery download flow. Confirm compatibility before purchase if this is a hard requirement.

Common problems

SymptomWhat to check
Images not importingURL reachable from the server (SSL, firewall, 403/404), PHP timeout/memory
Images download but product has no imageMapped to wrong section; Is Featured? not set; permissions blocking product_gallery
Only first image importsDelimiter wrong (not comma); remaining URLs invalid
Duplicate images every updateSwitch from “always download” to Media Library search
Gallery empty after updatePermissions exclude gallery fields on update; or empty image field clears data
Categories import but images don’tSeparate issues — fix image URLs first; see also taxonomy guide
“Unable to download” / cURL errorsServer cannot reach remote host; try downloading the URL from the server CLI