Каталог и данные

Импорт изображений товаров: адреса, имена и потерянные файлы

Как организовать импорт фотографий товаров без перепутанных карточек: привязка к артикулу, проверка адресов, повторная загрузка и восстановление после сбоя.

После импорта у части товаров нет фотографий, а у других стоит изображение соседней позиции. Исправлять каждую карточку вручную дорого, если завтра поставщик пришлёт новый файл. Сначала найдите правило привязки и место, где оно нарушилось. Надёжная загрузка изображений начинается с соответствия товару, а не с массового скачивания файлов.

Выберите устойчивый ключ привязки

Предметная фотография электронных устройств

Определите, как строка источника связывается с карточкой: по внутреннему идентификатору, артикулу или другому согласованному ключу. Название товара для этого ненадёжно: оно меняется и повторяется. Проверьте дубли ключей до загрузки. Для варианта товара укажите, принадлежит фотография всей модели или только определённому цвету.

В условном каталоге светильников у одной модели есть чёрный и белый корпус. Общая фотография упаковки может подходить обоим вариантам, а фотография самого изделия должна соответствовать цвету. Такое правило следует хранить явно. Не поручайте импортёру угадывать вариант по случайному фрагменту имени файла.

Проверьте источник фотографий

Возьмите несколько адресов из файла поставщика и откройте их без входа в его кабинет. Смотрите код ответа, фактический формат и размер. Адрес может вести на страницу просмотра, временную ссылку или файл, который уже удалён. Уточните также право использовать фотографии на вашем сайте и условия их обновления.

Для серверного загрузчика согласуйте разрешённые источники, ограничения размера, времени и перенаправлений. Адрес из импортируемого файла нельзя бесконтрольно использовать для запроса к любому ресурсу, включая внутренние адреса сервера. Проверку источника и результата загрузки разработчик должен встроить в процесс до сохранения картинки.

Разделите скачивание и публикацию

Проверяйте полученный файл до включения в карточку. Нужны подтверждение, что это изображение, допустимый размер и возможность обработки выбранной библиотекой. Расширение имени само по себе недостаточно. Повреждённый JPEG не должен попадать в каталог лишь потому, что сервер вернул успешный ответ.

Создавайте собственное безопасное имя файла и сохраняйте связь с исходным адресом. Не позволяйте совпавшим именам из разных папок незаметно перезаписывать друг друга. Полезно хранить контрольную сумму: она помогает отличить повтор того же файла от действительно новой фотографии и установить, что было опубликовано.

Согласуйте повторный запуск

Повторный импорт не должен каждый раз создавать ещё одну копию одинаковой фотографии. Опишите правило для основной картинки, дополнительных изображений и ручных правок. Если менеджер заменил главное фото, заранее решите, имеет ли очередная выгрузка право его перезаписать. Это решение относится к процессу работы с каталогом.

Отдельно определите, что означает пустая ячейка источника. Она может означать отсутствие обновления, удаление фотографии или ошибку поставщика. Автоматическое удаление всех картинок по пустому полю без такого правила способно испортить готовый каталог. Проверяйте этот сценарий на небольшой тестовой группе.

Сохраните ошибки по конкретным товарам

Журнал должен показывать ключ товара, этап сбоя и понятную причину: адрес недоступен, формат не принят, файл слишком велик или карточка не найдена. Не записывайте секретные параметры временных ссылок в открытый отчёт. Добавьте возможность повторить только неудачные позиции после устранения причины.

При приёмке возьмите товар с одной фотографией, галерею, варианты, одинаковые имена и недоступный адрес. Проверьте карточки на телефоне, порядок картинок и отсутствие увеличенных до размытия миниатюр. Сохраните список замен перед массовой публикацией, чтобы восстановить прошлую привязку, если ошибка обнаружится уже после загрузки.

Связанные материалы

Артикулы и идентификаторы: как выбрать ключ товара для обмена

Неудачный импорт: как предусмотреть откат и журнал изменений

YML-фид: как проверить состав данных перед подключением

Документация для проверки

Защита серверных запросов: OWASP

Ссылки на документацию проверены 8 октября 2026 года. Названия настроек и возможности сервисов могут меняться; перед внедрением сверяйте актуальные условия.

ЕЩЁ НЕСКОЛЬКО ВОПРОСОВ

Коротко о важном

Можно ли сопоставлять фотографии по названию товара?

Для массового импорта лучше использовать устойчивый идентификатор или согласованный артикул. Названия меняются и могут совпадать, поэтому такая привязка легко даёт ошибку.

Нужно ли удалять фото, если в новом файле пустая ячейка?

Только если это явно согласованное правило. Пустота может означать отсутствие обновления или ошибку источника. Проверьте поведение до массового запуска.

Почему повторный импорт создаёт копии изображений?

Проверьте, хранится ли связь с исходным файлом и распознаётся ли повторная загрузка. Импортёру нужно правило обновления, а не только команда скачать каждую ссылку.

Владимир Николаев
Владимир Николаев

Разработка и SEO в QuickLanding. Помогаем разобраться в задаче и выбрать подходящий состав работ.

Об эксперте
ОБСУДИМ ЗАДАЧУ КОМПАНИИ

Расскажите о задаче.
Предложим решение.

Пришлите сайт, пример процесса или описание продукта. Разберём исходные условия, предложим первый этап и объясним состав работ.

НАЧНЁМ С ВАШЕЙ ЗАДАЧИ

Что нужно
вашему бизнесу?

Пару слов о проекте — и обсудим подходящий формат.

Используем данные для ответа на обращение.