Практически нереально.
Максимум, что можно сделать - это замедлить парсинг, но это эффективно, только если на сайте большое количество контента.
Тут тебе помогут защиты от парсинга, которые работают при помощи AI. У многих контор по защите от DDoS есть такие сервисы.
Самопальную систему защиты от парсинга тоже можно сделать. Но придется либо отдавать картинки бекэндом (php или другим языком), либо писать модуль на Lua для nginx.
Смысл вот в чем заключается. Для получения картинки, либо же для получения информации о товаре придется проходить "вычислительную капчу". На каждый товарный запрос мы высылаем определенное задание.
Это может быть что-то по типу: Вот тебе случайное число - 124812751, добавь к этому числу символы так, чтобы взяв хеш sha256 от этой строки вначале хеша было первых 4 символа bbbb. Соответственно значения постоянно разные. Дальше, клиент, найдя нужные символы отправляет их на сервер вместе с ID задачи, которые лежат, допустим в Redis. Мы проверяем эту строку, взяв от нее sha256. Видим, что действительно первые 4 символа это bbbb. И пропускаем делать запрос.
Тут придется делать whitelist для подсетей поисковых систем. Также возможны небольшие проблемы с мобильными устройствами (хотя уже сейчас вполне мощные мобильные устройства представлены на рынке)