plugin-icon

Zealot Bulk Image Assign by SKU for WooCommerce

Von Wpzealot·
Fill entire product galleries and variation images from your media library by SKU. Preview every match before anything is written, and undo it after.
Version
0.10.2
Zuletzt aktualisiert
Aug 10, 2026
Zealot Bulk Image Assign by SKU for WooCommerce

WooCommerce can set one featured image, for one product, at the moment you upload a file whose name is exactly the SKU. That is the whole feature, and if it is all you need, you do not need this plugin.

This plugin is for the rest of it:

  • Full galleries, not one image. <sku>_1.jpg, <sku>_2.jpg become the product gallery, in order.
  • Variation images. Name a file after a variation’s own SKU and it lands on that variation.
  • The library you already have. WooCommerce only matches at upload, so it can never touch the thousands of images already sitting in your media library. This scans all of them.
  • A preview before anything is written, and one-click undo afterwards.

WooCommerce’s own setting lives at Settings -> Products -> Advanced. If you leave it on, both will act on new uploads, and anything it assigns bypasses the preview, the undo and the optional cloud processing here. The plugin notices when it is on and offers to switch it off for you.

It uses the same filename convention Amazon uses for bulk seller uploads:

  • <sku>_main.jpg -> the product’s featured (main) image
  • <sku>_1.jpg, <sku>_2.jpg -> gallery images, in order
  • <sku>.jpg -> featured image (simple fallback)

Matching is case-sensitive: abc123_main.jpg will not match a product whose SKU is ABC123. Copy the SKU exactly as it appears on the product. Only the SKU is strict, so _main and _MAIN mean the same thing. A file that misses on case is listed under „Unmatched images“ after a scan rather than applied to a guess, so you can spot it and rename it.

Product variations

Name the file after the VARIATION’s own SKU, not the parent’s: <variation_sku>.jpg sets that variation’s image. A variation displays a single image, so it has no gallery. If you name several files for one variation (<variation_sku>_1.jpg, _2, _3), the lowest number is used as the variation’s image and the rest are reported as conflicts rather than applied silently. Put extra shots on the parent product, whose gallery does show them.

What else it does

  • Unlimited batches: no 10- or 20-image cap; large catalogs run in safe background batches.
  • Rename-proof matching: survives WordPress’s own -scaled, -768x1024, and duplicate -1 filename changes, and records each image’s original upload name so later optimization (Imagify, ShortPixel, Smush, EWWW) never breaks a match.
  • Preview before applying: see every proposed match and deselect any before anything is written.
  • One-click rollback: revert a completed run.
  • Import straight from your supplier: have the WPZealot service pull images from a URL list, or from your supplier’s SFTP folder (Pro).
  • Optional image resizing/optimization: offload resize + compression to the WPZealot cloud (Pro).

Matching runs entirely on your own server: filename-to-SKU is plain string work, so no images leave your site for the core feature.

Importing from SFTP (Pro)

Most suppliers deliver photography to an SFTP folder rather than a public link. Give the WPZealot service the folder details and it fetches new files for you; the plugin copies them into your media library with their filenames intact, so the usual SKU matching applies.

The connection is made by the WPZealot cloud service, not by your store. Your username and password or key are stored by that service, encrypted, and are used only to reach the server you nominated. Your store never opens an SSH connection and never holds the credential. See „External services“ below.

The service records the server’s host key the first time it connects and pins it. If that key ever changes, the import stops rather than handing your credential to a server that is not the one you set up.

We recommend asking your supplier for key-based access and an account that can do nothing but read that one folder.

External services

The core matching and assignment features run locally and contact no external service.

The OPTIONAL cloud features connect to the WPZealot cloud service (https://images-by-sku.wpzealot.com), operated by WPZealot, and are off by default. The service is contacted only after you press Connect, and never before. When you enable it:

  • Your site URL, WordPress/WooCommerce/PHP versions, and plan usage counts are sent for licensing and batch sizing.
  • Image resizing: the image files you choose to optimize are uploaded to the service, processed, and returned to your store.
  • URL import: the addresses you supply are fetched by the service, which returns the image data to your store.
  • SFTP import: the address, username and password or key of the server YOU nominate are sent to the service and stored there, encrypted, so that it can connect on your behalf and fetch new files. They are used for nothing else, are never returned to your site or shared with any third party, and are deleted when you remove the server in the plugin or disconnect from the service.
  • No customer or order data is ever read or transmitted.

The service’s terms are at https://wpzealot.com/terms and its privacy policy at https://wpzealot.com/privacy.

Source code and build

The admin screen is a React app. Its compiled bundle ships at assets/app/wpz-pis.js and assets/app/wpz-pis.css because a WordPress install has no build step, and the complete, human-readable source that produced it ships alongside it in the src/ folder of this plugin.

To rebuild it, from src/:

npm install npm run build

Vite writes the result back to assets/app/. See src/README.md for detail. Every other file in this plugin is source: nothing else is generated, minified or obfuscated.

Kostenlosmit kostenpflichtigen Tarifen
Mit deiner Installation stimmst du den Geschäftsbedingungen von WordPress.com sowie den Bedingungen für Drittanbieter-Plugins zu.
Getestet bis
WordPress 7.0.3
Dieses Plugin steht für deine -Website zum Download zur Verfügung.