Короткий ответ
Product описывает товар как сущность, а Offer — конкретное предложение продавца: цену, валюту, наличие и URL. Обычно Offer вкладывается в Product через свойство offers.
Что проверить на практике
- Товарную страницу размечают как Product, а коммерческое предложение передают вложенным Offer или AggregateOffer.
- Разметка должна собираться из тех же цены, наличия, названия и изображения, которые видит пользователь на странице.
- Offer подходит конкретному предложению, AggregateOffer — диапазону нескольких предложений; их нельзя выбирать только ради устранения предупреждения валидатора.

