Прайс-лист на сайте услуг по умолчанию не оферта: пункт 1 статьи 437 ГК РФ прямо называет предложения неопределённому кругу лиц «приглашением делать оферты, если иное прямо не указано в предложении». Отсюда два практических следствия. Открытые цены сами по себе не обязывают вас обслужить любого по этой цене. И подпись «не является публичной офертой» под таблицей не добавляет к закону почти ничего — она лишь повторяет то, что в нём уже написано.
Дальше — что я измерил. Я открыл десять статей, которые отвечают на запрос «прайс-лист на сайте», и восемь живых страниц цен в шести нишах услуг, вытащил из них формат подачи и дословные формулировки дисклеймеров и свёл в таблицы. Заодно нашёл две вещи, которых нет ни в одной из десяти статей: машинное представление «цены от» в разметке и запрет на диапазон в прайсе Яндекс Карт.
01Прайс — приглашение делать оферты, а не оферта
Публичной офертой прайс становится по пункту 2 статьи 437, и для этого нужны два условия одновременно. Предложение должно содержать «все существенные условия договора», и из него должна усматриваться «воля лица, делающего предложение, заключить договор на указанных в предложении условиях с любым, кто отзовется».
Для услуг оба условия сходятся редко. Существенные условия договора возмездного оказания услуг — это предмет и объём работ, а они у стоматолога, автомеханика и клинера определяются после осмотра. Строка «лечение кариеса — 4 500 ₽» не описывает, сколько поверхностей зуба лечат и какой материал ставят, то есть существенные условия в ней не полны.
Отдельно живёт статья 494 ГК, из-за которой в теме так много путаницы. Её пункт 2 говорит, что предоставление сведений о товарах «в месте их продажи или в сети „Интернет“ признается публичной офертой независимо от того, указаны ли цена и другие существенные условия договора розничной купли-продажи». Звучит как переворот всей логики — но норма стоит в главе 30 ГК, в параграфе про розничную куплю-продажу товаров. На возмездное оказание услуг она напрямую не распространяется, и для прайса ветклиники работает общее правило статьи 437, а не это исключение.
02Закон требует назвать цену в рублях, но не требует сайта
Вторая половина вопроса — обязанность. Пункт 2 статьи 10 закона «О защите прав потребителей» требует, чтобы информация в обязательном порядке содержала «цену в рублях и условия приобретения товаров (работ, услуг)». Это про цену, а не про сайт.
Способ доведения описан в пункте 3 той же статьи: информация доводится «в технической документации, прилагаемой к товарам (работам, услугам), на этикетках, маркировкой или иным способом, принятым для отдельных видов товаров (работ, услуг)». Сайта в перечне нет. Там же, в пункте 1, оговорка: «По отдельным видам товаров (работ, услуг) перечень и способы доведения информации до потребителя устанавливаются Правительством Российской Федерации» — и вот это уже бывает жёстче. У медицинских организаций состав обязательных сведений на сайте задан отдельно, и прайс в нём есть; у клининга или автосервиса такого требования нет.
Вывод, который стоит проговорить честно: «обязан ли я показывать цены на сайте» — вопрос не общего потребительского закона, а вашей отрасли. Общая норма обязывает назвать цену, а не опубликовать её на конкретной странице.
03Семь статей из десяти пишут про файл, а не про раздел сайта
Выдачу Яндекса по этому запросу измерить не удалось: поиск отдаёт SmartCaptcha, и позиции получить нечем. Поэтому ниже не позиции, а пул из десяти статей, которые отвечают на запрос, собранный по владельческим формулировкам. Объём считал по тексту страниц с вырезанными скриптами и навигацией, заголовки H2 вынимал из исходного HTML.
| Издатель | Объём | Таблиц | Про оферту | Про что текст |
|---|---|---|---|---|
| vzlet.media | ~3 500 сл. | 3 | 9 упоминаний | файл и его виды, единственный разбирает право |
| kokoc.com | ~3 100 сл. | 2 | 1 | файл, шаблоны, сервисы |
| 1ps.ru | не измерен | 0 | 0 | 32 приёма оформления цены на странице |
| mediakod.ru | ~2 400 сл. | 1 | 0 | модель цены под сложность услуги |
| remarka.agency | ~2 100 сл. | 1 | 1 | файл, пошаговая инструкция |
| planado.ru | ~1 900 сл. | 0 | 0 | прайс выездного сервиса |
| trinet.ru | ~1 500 сл. | 0 | 1 | раздел «Цены» клиники, 10 ошибок |
| saygona.ru | ~1 500 сл. | 1 | 2 | словарная статья |
| sberbusiness.live | ~1 300 сл. | 0 | 1 | обзор для малого бизнеса |
| up-im.ru | ~1 000 сл. | 0 | 5 | «цены по запросу» дороже, чем кажется |
Главное в этой таблице — последний столбец. Семь текстов из десяти объясняют, как сделать прайс-лист как файл: Excel, PDF, шаблон, рассылка клиенту. Про раздел «Цены» на сайте пишут три — 1ps.ru, mediakod.ru и trinet.ru, причём последний только про клиники. Человек, который ищет, что поставить на страницу своего сайта, попадает в статьи про документооборот.
Про оферту говорят шесть из десяти, но текст нормы не приводит ни один. Статью 10 закона о защите прав потребителей не упоминает никто. Разметку цены — тоже никто: ни одного упоминания Schema.org во всех десяти. Ограничение Яндекс Бизнеса не знает ни один. И ни у кого нет критерия, когда расчёт по объекту оправдан, а когда это просто страх назвать число, — ближе всех подходит mediakod с разделом «Не используйте слово „от“ как замену объяснения», но до критерия не доводит.
04Восемь живых прайсов: таблица есть у половины, дисклеймер — у всех
Второй замер — не статьи, а практика. Я открыл восемь страниц цен в шести нишах услуг и считал по исходному HTML: есть ли настоящая таблица, сколько конструкций «от N», есть ли калькулятор, есть ли PDF, есть ли разметка цены.
| Ниша и адрес | Как подана цена | «от N» | Дисклеймер |
|---|---|---|---|
| Стоматология, moyzubnoy.ru | карточки без таблицы, 139 сумм, две цены подряд — обычная и акционная | 3 раза | «Не является публичной офертой.» |
| Стоматология, prezi-dent.ru | списки без таблицы, 178 сумм, 25 упоминаний «индивидуально / уточняйте» | 179 раз | «…носит исключительно информационный характер и ни при каких условиях не является публичной офертой» |
| Автосервис, japauto.ru | 33 таблицы, самый табличный пример выборки | 183 раза | «…не является публичной офертой определяемой положениями Ст 437(2) ГК РФ» |
| Сантехника, slesar24.ru | 16 таблиц, 162 суммы, под каждой кнопки «подробнее / заказать» | 113 раз | «Опубликованный прайс-лист носит информационный характер (не является публичной офертой)» |
| Ветклиника, vet39.ru | без таблицы, 25 сумм | 19 раз | объясняющий: перечисляет, от чего зависит сумма |
| Клининг, expertsc.ru | 1 таблица, 17 сумм с единицей измерения — «от 100 руб. за м²» | 10 раз | сноска-звёздочка: «* — не является публичной офертой» |
| Клининг, cleacom.ru | 1 таблица, цены пакетами, выезд отдельной строкой | 3 раза | отдельной страницей в меню, а не подписью под прайсом |
| Юруслуги, urcompany.org | прайс подгружается скриптом, в исходном HTML цен нет | 0 раз | «…с указанием примерной стоимости… не является публичной офертой по смыслу ст. 437 ГК РФ» |
Что в этой таблице видно. Настоящая таблица — у четырёх из восьми; остальные верстают прайс карточками и списками, и для мобильного экрана это чаще оказывается удачнее. Конструкция «от» есть у семи из восьми, у двух она покрывает почти весь прайс — 179 и 183 позиции. PDF-прайса нет ни у одного из восьми: ни одной ссылки на .pdf. Совет блогеров «положите кнопку „Скачать прайс-лист“» живая практика услуг не подтверждает. Калькулятор есть у трёх, и всегда в дополнение к прайсу, а не вместо него — если вы думаете, в каких случаях калькулятор на сайте приносит заявки, а в каких мешает, то вот практический ответ: он не заменяет цены, он их объясняет.
И последнее: разметки цены я не нашёл ни на одной из восьми страниц. Ни itemprop="price", ни Offer. То есть рекомендация Яндекса, о которой ниже, в этих нишах не применяется вообще.
приносит заявки,
или
разбор рекламы, которая
их не приносит?
Ответьте на три вопроса — посчитаем стоимость под вашу нишу и пришлём расчёт.
- Сайт под рекламу с нуля
- Яндекс Директ с отчётом по заявкам
- Разбор рекламы, которая
не работает
05«Не является публичной офертой»: один шаблон на всех
Дисклеймер нашёлся на всех восьми страницах — редкое единодушие. Но формулировка у семи из восьми одна и та же, и местами совпадает почти побуквенно: «данный сайт, а также вся информация о товарах и ценах, предоставленная на нём, носит исключительно информационный характер и ни при каких условиях не является публичной офертой, определяемой положениями Статьи 437 Гражданского кодекса Российской Федерации».
Эта фраза делает ровно одно: пользуется оговоркой «если иное прямо не указано в предложении» из пункта 1 статьи 437. То есть прямо подтверждает статус, который прайс и так имеет по умолчанию. Чего она не делает — не превращает оферту в не-оферту. Если на странице стоят все существенные условия и явно выражена готовность заключить договор с любым, подпись снизу этого не отменит.
Единственный содержательный дисклеймер в выборке — у ветклиники, и он устроен иначе: «Стоимость услуги рассчитывается индивидуально в зависимости от множества факторов: размера и вида животного, диагноза, проведенных манипуляций, количества медикаментов, анестезии и использованных расходных материалов. Расходные материалы, медикаменты и анестезия оплачиваются отдельно, если не входят в стоимость услуги». Здесь написано не «мы ни за что не отвечаем», а «вот от чего зависит ваш счёт» — и это снимает ровно то возражение, с которым человек уходит со страницы цен.
Если вы оставляете на странице одну фразу, оставляйте вторую: назовите три-четыре фактора, которые двигают сумму, и укажите, что оплачивается отдельно.
06Когда «от» работает, а когда это страх назвать число
«От» законно: формулировки «цена от» в законе «О рекламе» нет вовсе, он её не запрещает и формат её не задаёт. Но два края у неё есть, и оба в статье 5.
Часть 3 признаёт недостоверной рекламу, содержащую не соответствующие действительности сведения «о стоимости или цене товара, порядке его оплаты, размере скидок, тарифов и других условиях приобретения товара». Минимум, которого нельзя получить ни при каком заказе, попадает сюда. Часть 7 запрещает рекламу, в которой «отсутствует часть существенной информации о рекламируемом товаре, об условиях его приобретения или использования, если при этом искажается смысл информации и вводятся в заблуждение потребители рекламы» — это про обязательные доплаты, о которых умолчали.
Отсюда рабочая проверка «от» из двух вопросов. Первый: есть ли хотя бы один реальный заказ, который закрывается этой суммой? Второй: названо ли рядом то, что добавляется к ней всегда? Клининговый пример из выборки показывает, как это выглядит правильно: «от 100 руб. за м²» — здесь к «от» приделана единица измерения, и читатель может умножить. А строка «от 2 500 — „по факту“», которая встретилась в прайсе автосервиса, не отвечает ни на один из двух вопросов.
Если на этом месте вы понимаете, что страницу цен придётся переделывать целиком, имеет смысл отдать сборку раздела «Цены» с таблицей, единицами измерения и разметкой, которую понимает Яндекс в одни руки, потому что три эти слоя проектируются вместе: от единицы измерения зависит, что можно разметить, а от разметки — что попадёт в сниппет.
07У «цены от» есть машинное представление, и Яндекс сам его описал
Это та часть, которой нет ни в одной из десяти статей пула. Справка Яндекс Вебмастера про разметку товаров перечисляет свойства Offer или AggregateOffer так: «price … или lowPrice … — цена товара», priceCurrency — валюта, availability — доступность. И сразу за списком стоит прямой ответ про «от»:
При использовании
lowPriceцена в сниппете отображается как «от N руб». Рекомендуем указывать минимальную цену, если у товара нет фиксированной цены и она зависит от объема, размера или других параметров.
То есть «цена от» — не просто типографский приём, у неё есть поле в разметке, и Яндекс сам советует его для случая, когда фиксированной цены нет. Валюта при этом указывается кодом по ISO 4217, рубли — как RUB. Для формирования сниппета нужны минимум две схемы: Product и Offer либо Product и AggregateOffer. Как это ставится на страницу и что потом видно в выдаче, разобрано в отдельном материале про то, как микроразметка выводит цену и телефон прямо в результаты поиска, и начинать стоит с валидатора Яндекса, а не с правок шаблона.
Две оговорки, без которых это знание становится вредным. Первая: страница справки называется «Информация о товарах» и адресована интернет-магазину; гарантии, что сниппет «от N руб» сформируется для страницы услуг, Яндекс не даёт — там же сказано, что он «может на свое усмотрение использовать или не использовать информацию, размеченную в формате Schema.org». Вторая: у самого Schema.org AggregateOffer описан как агрегация нескольких предложений — «когда один товар связан с несколькими предложениями (например, одна и та же пара обуви предлагается разными продавцами)». Вилка цены одной услуги — это не то, что имели в виду авторы стандарта. Широкое прочтение lowPrice — рекомендация Яндекса, а не семантика схемы.
ваш сайт бесплатно
Посмотрю страницу и рекламу, найду,
где теряются заявки, и пришлю план,
что поменять.
- 1Где теряются заявкипуть от объявления до формы
- 2Что поправить на сайтепервый экран, оффер, формы
- 3Что поменять в рекламезапросы, объявления, бюджет

08Яндекс Бизнес диапазон не принимает вообще
Второй сюрприз живёт в карточке организации, и для локального бизнеса он решающий. Справка Яндекс Бизнеса про поле цены в прайс-листе формулирует без вариантов:
Стоимость товара или услуги, до 20 символов. Можно использовать только цифры и разделительные знаки (точку или запятую). Валюта будет добавлена при публикации в зависимости от местоположения компании. Цену можно указать только точную, диапазон цен указать не получится.
И рядом: «Товар или услуга с ценой „0“ или без цены не будут опубликованы в карточке». Обязательных полей в позиции два — название и цена; категория, описание и фото необязательны. Прайс заполняется вручную либо загружается файлом XLS, XLSX или YML, причём новая загрузка стирает данные старого прайса целиком.
Практический вывод из этого такой. Прайс на сайте и прайс в Картах — два разных списка, и сводить их в один нельзя. Позиция «комплексная уборка от 4 300 ₽» в карточку не поедет: либо вы называете точную цену за понятную единицу — «уборка после ремонта, 250 ₽ за м²» — либо этой позиции в Картах нет. Поэтому для карточки отбирают услуги с фиксированной ценой за единицу, а сложные работы остаются только на сайте. Что ещё заполняется в карточке и как это связано со звонками, собрано в разборе про то, какие поля карточки в Яндекс Картах реально двигают обращения, и прайс там один из блоков, а не единственный.
09Цена по объекту: что ставить вместо числа
Остаётся случай, ради которого половина рынка и прячет цены: работа считается по объекту, и честного числа заранее нет. Он действительно существует — у ремонта, у проектирования, у юридического спора. Но его слишком часто используют как ширму.
Критерий, который я предлагаю, простой и проверяемый вами же за один вечер. Посмотрите последние десять счетов по этой услуге. Если разброс внутри неё меньше двух раз — цена есть, и её можно назвать числом или узким диапазоном. Если больше двух раз — у вас не одна услуга, а несколько разных работ под одним названием, и правильный ход не «цена по запросу», а разбиение на позиции с единицами измерения.
Когда расчёт по объекту остаётся, вместо числа на странице должны стоять четыре вещи: единица, в которой считается работа; что входит в эту единицу и что нет; минимальный заказ, если он есть; и срок, за который вы называете точную сумму после осмотра. Это и есть ответ читателю. Заметьте, что ровно так устроен единственный содержательный дисклеймер из выборки — ветклиника перечисляет факторы вместо того, чтобы прятаться за «информационным характером».
| Разброс по последним счетам | Что ставить на страницу | Что обязательно рядом |
|---|---|---|
| Цена фиксирована | число за позицию | единица: приём, зуб, услуга |
| Меньше двух раз | число с «от» или узкий диапазон | единица измерения и что в неё входит |
| Больше двух раз | разбивка на позиции, у каждой своя цена | что оплачивается отдельно |
| Считается по объёму | цена за единицу объёма | минимальный заказ |
| Считается по объекту | единица расчёта и срок ответа | три-четыре фактора, двигающих сумму |
| Разовый уникальный проект | вилка по прошлым работам | что меняет сумму в разы |
И отдельно про вёрстку, раз прайс чаще всего читают с телефона. Если сайт на Тильде, таблица собирается блоком «Таблица» из категории «Колонки» — CL46; в контенте столбцы разделяются точкой с запятой, а строки переносом строки. В настройках есть галочка «Разрешить изменение ширины таблицы на мобильных устройствах», и справка Tilda советует включать сжатие «для таблиц с небольшим количеством столбцов (2-3) и небольшим количеством контента (цифры, короткие фразы)». Прайс на шесть столбцов на мобильном не сжимается в читаемое — это и есть причина, по которой половина выборки отказалась от таблиц в пользу карточек.
10Что сделать со своим разделом цен за один вечер
Порядок действий, который следует из всего замера:
- Выписать последние десять счетов по каждой услуге и посчитать разброс. Это даёт формат подачи по таблице выше, и это единственный шаг, который нельзя пропустить.
- Для каждой позиции назвать единицу: за приём, за зуб, за м², за час, за документ. Позиция без единицы не читается и не размечается.
- Заменить общий дисклеймер объясняющим: три-четыре фактора, двигающие сумму, и перечень того, что оплачивается отдельно.
- Проверить каждое «от» двумя вопросами: продаётся ли что-то по этой цене и названы ли обязательные доплаты.
- Отобрать позиции с точной ценой за единицу для прайса в Яндекс Бизнесе — «от» туда не попадёт.
- Разметить страницу через Offer или AggregateOffer и прогнать её через валидатор микроразметки Яндекса.
Разброс в этих шагах — ваша собственная цифра, и именно с неё начинается решение. Если считать её не на чем или результат получается странным, можно прислать свой прайс и разобрать по строкам, какие позиции уже можно открыть числом, а какие честнее оставить с единицей расчёта и сроком ответа — разбор занимает один вечер и держится на ваших счетах, а не на чужой практике.
Частые вопросы
Является ли прайс-лист на сайте публичной офертой?
По умолчанию нет. Пункт 1 статьи 437 ГК РФ: «Реклама и иные предложения, адресованные неопределенному кругу лиц, рассматриваются как приглашение делать оферты, если иное прямо не указано в предложении». Офертой прайс становится по пункту 2 той же статьи — когда он содержит все существенные условия договора и из него усматривается воля заключить договор с любым, кто отзовётся. Для услуг это редкий случай: предмет и объём работ обычно определяются после осмотра или консультации, то есть существенные условия в прайсе не полны. Отдельно стоит знать про статью 494 ГК — там действительно сказано, что сведения о товарах в сети «Интернет» признаются публичной офертой независимо от того, указана ли цена, но эта норма живёт в главе про розничную куплю-продажу товаров и на возмездное оказание услуг напрямую не распространяется.
Обязан ли я публиковать цены на сайте?
Из статьи 10 закона «О защите прав потребителей» это прямо не следует. Пункт 2 требует доводить «цену в рублях и условия приобретения товаров (работ, услуг)», но пункт 3 говорит, что информация доводится «в технической документации, прилагаемой к товарам (работам, услугам), на этикетках, маркировкой или иным способом, принятым для отдельных видов товаров (работ, услуг)». Сайт как единственный обязательный канал там не назван. Для отдельных видов деятельности перечень и способ устанавливает Правительство, и там требования бывают жёстче — медицинским организациям, например, перечень обязательных сведений на сайте задан отдельно. Так что ответ зависит от отрасли, а не от общей нормы.
Можно ли писать «цена от» и не нарушить закон о рекламе?
Можно: формулировки «цена от» в законе «О рекламе» нет вовсе, он её не запрещает и не предписывает её формат. Опасны два края. Часть 3 пункт 4 статьи 5 признаёт недостоверной рекламу с не соответствующими действительности сведениями «о стоимости или цене товара, порядке его оплаты, размере скидок, тарифов и других условиях приобретения товара» — то есть «от 900 ₽», недостижимое ни при каком заказе, это проблема. Часть 7 той же статьи запрещает рекламу, в которой «отсутствует часть существенной информации о рекламируемом товаре, об условиях его приобретения или использования, если при этом искажается смысл информации и вводятся в заблуждение потребители рекламы» — это про умолчание о обязательных доплатах. Проверка простая: минимум из «от» должен быть реально продаваемым, а всё, что к нему всегда добавляется, названо рядом.
Зачем на прайсе пишут «не является публичной офертой» и нужна ли эта фраза?
Юридически она только подтверждает то, что и так следует из пункта 1 статьи 437 ГК, — оговорку «если иное прямо не указано в предложении». Защиты, которой от неё ждут, она не даёт: если прайс содержит все существенные условия и явную готовность заключить договор с любым, подпись «не оферта» это не отменяет. Я собрал формулировки с восьми живых прайсов — семь из них повторяют один и тот же шаблон про «исключительно информационный характер», и только один объясняет причину, перечисляя, от чего зависит итоговая сумма. Полезна вторая версия: она отвечает на вопрос читателя, а не на воображаемый вопрос юриста.
Почему прайс на сайте и прайс в Яндекс Картах приходится вести по-разному?
Потому что карточка организации диапазон не принимает. Справка Яндекс Бизнеса про цену позиции говорит буквально: «Цену можно указать только точную, диапазон цен указать не получится», и там же — «Товар или услуга с ценой „0“ или без цены не будут опубликованы в карточке». То есть позиция с «от 3 000 ₽» в карточку не переносится: либо вы называете точную цену за единицу, либо позиции в прайсе Карт просто нет. На сайте при этом «от» допустимо. Отсюда практический вывод: для Карт отбирают те услуги, у которых есть фиксированная цена за понятную единицу, а сложные работы остаются только на сайте.
Источники · 20
- ГК РФ, статья 437: приглашение делать оферты, публичная оферта
- ГК РФ, статья 437 (независимая сверка текста)
- ГК РФ, статья 494: публичная оферта товара
- Закон «О защите прав потребителей» № 2300-1, статья 10: информация о товарах, работах, услугах
- Закон «О защите прав потребителей», статья 10 (независимая сверка текста)
- Закон «О защите прав потребителей», статья 26.1: дистанционный способ продажи товара
- ФЗ «О рекламе» № 38-ФЗ, статья 5: общие требования к рекламе
- Справка Яндекс Вебмастера: информация о товарах, разметка цены
- Валидатор микроразметки Яндекса
- Справка Яндекс Бизнеса: прайс-лист компании
- Schema.org: тип Offer, свойства price и priceCurrency
- Schema.org: тип AggregateOffer, свойства lowPrice и highPrice
- Справочный центр Tilda: работа с таблицами, блок CL46
- Tilda: как добавить таблицу на страницу
- vzlet.media: прайс-лист — что это и как составить
- Mediakod: указывать цену на сайте или нет
- 1PS.RU: 32 способа оформления цены на сайте
- Trinet: как оформить раздел «Цены» для медицинской клиники
- Прайс автосервиса с таблицами и ссылкой на статью 437 ГК в дисклеймере
- Прайс ветклиники с объясняющим дисклеймером

«Делаем сайты и запускаем Яндекс Директ так, чтобы
сайт приносил заявки, а не просто был»















