Bulk Image Workflow for 100+ Listings: The Complete SOP

One photo is a task. Two hundred photos are a system. This is the standard operating procedure we use for large catalogues: a folder structure that survives a year, a naming convention that never collides, a metadata map per field, a compression matrix, and a QA gate before anything is uploaded.

1. Folder structure that survives 500 photos

Copy between stages; do not move. Disk is cheap; a lost original is not. If a step needs to be repeated, you go back one folder, not back to the camera.

  • 00_originals — untouched camera or export files. Never edited, never overwritten.
  • 01_selected — the shots chosen for this batch, still full resolution.
  • 02_renamed — keyword filenames applied, nothing else changed.
  • 03_metadata — injected masters, ready for upload.
  • 04_export — resized and compressed copies for a specific destination.
  • 05_published — exactly what was uploaded, plus the date in the folder name.

2. A naming convention with no collisions

Do not repeat the keyword five times. “leather-tote-bag-leather-tote-bag-black.jpg” reads as spam to humans and adds nothing to machines. One clear phrase plus one differentiator is the pattern that scales.

PatternExampleUse for
{product}-{primary-keyword}leather-tote-bag.jpgMain image
{product}-{detail}leather-tote-bag-brass-zipper.jpgDetail shot
{product}-{context}leather-tote-bag-desk-lifestyle.jpgLifestyle
{product}-{scale}leather-tote-bag-laptop-13-inch.jpgScale reference
{product}-{variant}leather-tote-bag-black.jpgColour variant

3. Source keywords from buyers, not from tools

Open an incognito window and type what a shopper would type. The autocomplete list is real query data. Collect 10–30 phrases per product family, then split them into one primary term and a few variants. The primary term goes in filenames and the title; variants go in alt text and tags.

Avoid internal jargon. If buyers search “boho wall hanging” and your files say “macrame-artisanal-tapestry”, you have described the object accurately and matched no one. Use the buyer’s words, then add the technical detail.

4. A metadata map per field

Keep the Comments field boring and useful: batch date, rights line, and maybe the photographer. It is the field you will thank yourself for when an image turns up somewhere unexpected.

FieldWhat to writeExample
TitleProduct + primary keywordHandmade ceramic coffee mug
SubjectMaterial / useSpeckled stoneware, 350 ml
Tags / Keywords3–6 buyer phrases, comma separatedceramic mug, handmade mug, coffee cup
CommentsBatch marker + rightsBatch 2026-10-22 · © your shop

5. The resize and compress matrix

Compress after resizing, never before. Exporting a 6000 px file at quality 70 and then shrinking it throws away detail you could have kept, and produces a softer result than resizing first.

DestinationLongest sideFormatQuality
Etsy listing2000–3000 pxJPG (sRGB)80–85
Own store hero1600–2000 pxWEBP75–80
Own store thumbnail400–600 pxWEBP70–75
Email / newsletter1200 pxJPG75–80
Print or archiveOriginalPNG / TIFF / original RAWLossless

6. The QA gate before upload

Run these checks on a sample of five files from every batch, not on all of them. Five is enough to catch a systematic error; checking 200 by hand is how batches get delayed and mistakes still slip through.

  • Filenames are unique and contain the intended keyword once.
  • No file still says IMG_, DSC_, or a camera sequence number.
  • Every image opens without corruption and has the expected dimensions.
  • Metadata fields are populated in the exported files, not only the masters.
  • Colour looks the same as the original (no accidental CMYK or profile shift).
  • Transparency was not flattened onto black.
  • File sizes are within the destination’s limit.
  • The five sample thumbnails are distinguishable at 200 px.

7. Automate the boring parts, not the judgement

Automate renaming, resizing, compression and field injection — these are deterministic. Do not automate the choice of hero image, the crop, or the primary keyword; those need a human looking at the product.

A reliable pattern is: one manual selection pass, then one automated batch across the selected folder, then one manual QA sample. That keeps throughput high without turning the catalogue into machine output.

8. When a batch fails

Log the failure and the fix next to the batch folder. The second time the same batch type fails, the log turns into a checklist item — and the third time, into an automated guard.

SymptomLikely causeFix
Names collideSame base name for variantsAdd a differentiator (colour, angle)
Metadata empty in outputField disabled, or re-encoded after injectionCheck the master, then the export step
Images look softerCompressed before resizingResize first, then compress
Some files oversizedMixed sources in one folderGroup by source before batching
Transparent PNGs turned blackExported to JPGKeep PNG/WEBP for transparency
Upload rejectedDestination format or size limitCheck the marketplace table before exporting

Frequently asked questions

How many images can I process at once?

Our tools handle 50 per batch. Larger catalogues should be split by product family so a failure is contained and re-running is cheap.

Should filenames include the shop name?

No. It wastes characters that could describe the product, and it does not help buyers or search engines.

Is it worth renaming images that are already indexed?

Only if the current names are meaningless and you can redirect the old URLs. Otherwise the redirect cost outweighs the benefit.

What is the best batch size for QA?

Five files per batch, chosen at random, plus any file that failed processing.

Can I reuse the same keywords for every product?

No. Shared keywords blur the catalogue and create internal competition. Use one primary term per product family, with variants.

About BulkImageSEO

BulkImageSEO is a free image SEO toolkit maintained by Salah Berrehou. It renames files with keyword-rich names, injects Title, Subject, Tags and Comments metadata, compresses images for Core Web Vitals and converts formats. Uploaded files are deleted after 60 minutes and no account is required. Read more about the author, the step-by-step guide, or contact us.