Images are the largest thing in most shops.
BEFORE UPLOADING
Resize to around 1200 pixels on the longest side Compress them
Name them descriptively: blue-cotton-shirt-front.jpg
Doing this before upload is far less work than fixing it afterwards.
GENERATED SIZES
WordPress creates several sizes of every image. A thousand products with six images each can generate tens of thousands of files, which consumes inodes as well as disk space.
Reduce the number of generated sizes if your theme does not use them all.
BULK OPTIMISATION
ShortPixel, Imagify or the LiteSpeed optimiser can compress an existing library in bulk. Run it on a copy first if the library is large, and run it at a quiet hour.
REPLACING IMAGES
Replacing an image keeps the URL, which preserves links and ranking. Uploading a new one and deleting the old breaks both.
MONITORING
Watch disk and inode usage in cPanel. Shops hit the inode limit more often than the space limit, and the symptoms are confusing: uploads failing, mail not delivering.