одно и тоже имя оставлять в папках, соответствующих каждому размеру?
Очевидно же что рано или поздно вы перезапишете какую-то фотку, так как такое имя уже будет загружено (типичный пример
без имени(1).jpg). И да - для каждого размера своя папка. Кроме того, часто имена фоток бывают на русском языке, с пробелами, в разном регистре, что для веба не очень хорошо. Фото надо переименовывать. Есть 2-3 варианта, которые зависят от условий. Самый простой и очевидный, подходящий для одной фото на объект - имя будет соответствовать идентификатору объекта (товара в вашем случае). Если их больше одной - можно использовать
а) идентификатор + _микротайм после точки,
б)
хеш микротайма / идентификатора + _микротайма после точки,
в) просто микротайм
г) любой другой алгоритм, гарантирующий высокую уникальность и совместимость с вебстандартами.
Хранить стандартный вариант в жпег, так же можете добавить вебп, на радость гуглу. Для ог лучше использовать жпег, так как не все соцсети нормально понимают вебп, так же все еще есть проблемы с некоторыми браузерами, например сафари не всегда нормально его понимает.
Для вывода изображений используйте
<picture>
, в котором задайте приоритеты вывода и размерность.