Как оформить прайс на сайте, чтобы нейросети брали актуальные цифры

Как оформить прайс

Привет. Я Сергей Язовский, 15 лет в продвижении сайтов, из них три года плотно занимаюсь GEO.

Короткий ответ, без разгона. Чтобы Алиса, Яндекс Нейро и ChatGPT называли ваши сегодняшние цены, прайс должен лежать на живой странице текстом и HTML-таблицей. С датой актуальности. С единицей измерения у каждой цифры. И совпадать с тем, что написано в карточке Яндекс Бизнеса, в 2ГИС и на маркетплейсе.

Всё, что живёт в PDF, JPG или Excel на скачивание, модели либо не видят, либо видят так, что лучше бы не видели.

Сначала история, из которой всё это выросло.

Март прошлого года, клининговая компания в Подмосковье. На сайте уборка квартиры — от 4200 рублей. Спрашиваю голосом у Алисы: «сколько стоит уборка квартиры у [название]». Отвечает: «от 2500 рублей». Полез проверять, откуда цифра. В карточке Яндекс Бизнеса цена стояла с позапрошлого года, её никто не правил после повышения. В 2ГИС — третья цифра. В PDF-прайсе на сайте — четвёртая.

Нейросеть не выбирала, какая цена правильная. Она собрала ответ из того, что нашла.

Владелец потом сказал фразу, которую я цитирую на каждой встрече: «Получается, я сам себе конкурент по цене». Примерно так и есть.

Почему модель называет прошлогодние цифры

Модель не заходит на ваш сайт каждое утро проверять, не изменилась ли стоимость. Она собирает ответ из фрагментов, которые уже лежат в поисковом индексе. По данным Алисы AI, 42% запросов в поиске Яндекса получают ИИ-ответ, и в один ответ в среднем попадает около 10 источников. Верить в то, что одним из них окажетесь вы, можно. Полагаться на это — нельзя.

Внутри всё просто и местами грубо. Страница режется на куски, по смыслу примерно по 200-400 токенов, и каждый кусок потом живёт сам по себе. Модель достаёт фрагмент, где рядом стоят название услуги и число с рублём, и пересказывает его. Если цена в вашей таблице отделена от названия десятком строк — она достанет цифру без привязки. Я ловил Алису на том, что она называла цену стрижки как цену окрашивания. Просто потому что строки стояли рядом.

Поэтому первое правило звучит так: фрагмент с ценой должен читаться в одиночку, как вырванная из контекста цитата. «Стрижка женская, длина до плеч — 1800 ₽» работает. Голая цифра в третьей колонке — нет.

Второй слой — свежесть. У ZipTie.dev в 2026 году вышла цифра, которая многое объясняет: страницы, обновлённые за последние 30 дней, ChatGPT цитирует в 3,2 раза чаще. Нейросети тянутся к тому, у чего есть свежая дата, а не к тому, что лежит в индексе с 2023 года.

И третий слой, про который почти не пишут: у цифры должна быть привязка к месту и времени. Не «4500», а «4500 ₽ за м², действует с 1 марта 2026». Тогда ответ модели совпадёт с тем, что менеджер скажет по телефону. Про механику нарезки и почему чанки решают больше, чем ключевые слова, я подробно писал в разборе про RAG и чанкинг — там же примеры, как фрагменты склеиваются в неверный ответ.

Что показывает Вордстат

Выгрузка по России за последние 30 дней:

ЗапросПоказов в месяц
прайс лист на сайте2 220
оформить прайс1 633
прайс лист на услуги на сайте824
как оформить прайс лист208
оформить прайс онлайн176
как красиво оформить прайс93
оформить прайс на услуги35
как оформить прайс лист образец32

Цифры скромные, и это нормально. Прайс оформляет не покупатель, а тот, у кого бизнес. Такой спрос всегда узкий, зато горячий: человек, который ищет «прайс лист на услуги на сайте», уже понимает, зачем ему это.

Тут есть ловушка, в которую я сам чуть не влез при первом анализе. Половина запросов с формулировкой «оформить прайс онлайн» и «оформить прайс онлайн бесплатно» — это вообще не про бизнес. Люди ищут, как оформить карту Fix Price: «оформить карту фикс прайс онлайн» даёт 123 показа, «фикс прайс оформить заказ» — 99. Мусорный интент, который в Вордстате идёт в одной куче с рабочим.

Широкий фон выглядит солиднее: «расценки» — 974 796, «стоимость услуг» — 190 335, «таблица цен» — 138 624, «прейскурант» — 103 975. Только там уже другая игра: рядом стоят коммерческие страницы, а не статьи. Заходить туда блогом смысла мало.

[карточка-визуал: две колонки — «рабочий спрос» и «мусорный спрос» с цифрами из таблицы]

Форматы прайса: что ИИ читает, а что нет

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

ФорматЧто видит нейросетьЧто делать
Текст на странице («услуга — цена»)Читает и цитируетОснова прайса
HTML-таблица на страницеЧитает, если строка самодостаточнаДублировать текстом
PDF с текстовым слоемИногда достаёт цифры, как источник не цитируетОставить как дополнение
Скан или фото прайса (JPG, PNG)Не видитУбрать со страницы
Excel, CSV на скачиваниеНе видитДля закупок, не для клиентов
Гугл-таблица по ссылкеВ ответы почти не попадаетНе как основной формат
Калькулятор на JavaScriptНе видит: модель не нажимает кнопкиПродублировать текстом
Цены в карточке Яндекс БизнесаВидит и активно берётЗаполнять и обновлять

Самый частый звонок от клиента звучит так: «У нас же есть прайс, почему нейросеть его не видит». Открываю страницу, а там кнопка «Скачать прайс-лист» и JPG, который дизайнер выгрузил из макета. Красиво, читаемо для человека, бесполезно для модели.

Второй по частоте случай — прайс внутри картинки в карточке товара. Тут я однажды наблюдал, как клиент полтора года продвигал свой ассортимент, а ИИ о его ценах не сказал ни слова.

Прайс выезда в кейсе лаборатории анализов на дому решал всё. Именно строка «выезд медсестры — X ₽, в пределах города» определяла, попадёт лаборатория в ответ на вопрос «сколько стоит сдать анализ дома» или нет. Не общее «цены от», не форма записи, а одна конкретная строка, которая читалась сама по себе. Кейс целиком — разбор лаборатории в ответах нейросетей.

Правила оформления, которые реально влияют на ответы

Дата актуальности рядом с цифрами

«Цены действуют с 1 марта 2026 года» — и всё, полдела сделано. Внизу страницы добавьте «Обновлено: 12 марта 2026». Без дат фрагмент с ценой 2024 года и фрагмент с ценой 2026 года для модели равны по весу, и в ответ попадёт случайный. Мне попадались страницы прайсов, где дата стояла в колонтитуле PDF. Толку от неё ноль.

Единица измерения у каждой суммы

«3 500» — это не цена, это загадка. «3 500 ₽ за м²», «3 500 ₽ за час», «3 500 ₽ за выезд». Особенно там, где рядом стоят цены за час и за смену. Модель не угадывает, она цепляется за ближайшее пояснение. Пояснение от соседней строки уедет в ответ вместе с вашей цифрой.

Диапазон вместо одинокого «от»

Совет «пишите от, чтобы не отпугнуть» я слышу постоянно. С нейросетями он срабатывает неожиданно: «от 4500» превращается в ответ «4500 рублей». Слово «от» модель просто отбрасывает. Пишите так: «от 4500 до 7800 ₽, зависит от площади и степени загрязнения». Диапазон с условием пересказывается без потерь.

Что входит в цену

Выезд, диагностика, расходники, монтаж, подъём на этаж. Пять звонков из десяти именно про это. Если в прайсе стоит «монтаж 2500» и рядом нет пометки, что входит, модель достроит ответ сама. Достроит, скорее всего, в вашу пользу, а на объекте клиент узнает другое. Дальше отзыв, а отзывы модели читают тоже.

НДС и условия

«Цены указаны с НДС 20%» или «без НДС». Одна строка, а половина спорных счетов снимается.

«Не является офертой» — и почему это не защита

Юристы советуют фразу «цены не являются публичной офертой». Для договора она работает. Для нейросети нет: модель не различает юридический статус фрагмента, она видит число. Единственная защита — писать условия рядом с цифрой.

Пометка при изменении цен

Меняете цену — не стирайте старое значение молча. Обновите дату и добавьте строку «с 1 апреля стоимость выросла с 4200 до 4800». Свежая публикация перекрывает старую по дате, и постепенно прошлые фрагменты уходят из индекса сами. На страницах с ценами цикл проверки — раз в 2-3 недели, подробный график с триггерами я разбирал в статье как часто обновлять статьи для нейросетей.

Микроразметка: коротко о главном

Разметка помогает роботу понять, что число на странице — это цена, а не площадь или год. Минимальный набор для услуги:

html

<script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Service",  "name": "Генеральная уборка квартиры",  "offers": {    "@type": "Offer",    "price": "4800",    "priceCurrency": "RUB",    "priceValidUntil": "2026-12-31"  }}</script>

Пара предостережений из практики. priceValidUntil — это не «цена действует до», а дата, после которой предложение перестаёт считаться валидным. Не ставьте туда 2035 год, толку не будет. И разметка никогда не заменяет текст: если цена есть в JSON-LD, но не видна на странице, это несоответствие, и доверия сайту оно не добавляет. Сначала текст, потом разметка. Базовые шаблоны для Service, Product и LocalBusiness я собрал в статье про микроразметку schema.org и JSON-LD.

Прайс-лист в Яндекс Бизнесе

Для голосовых запросов карточка в Яндекс Бизнесе — источник номер один. В кабинете есть отдельный раздел с прайс-листом: загружаете услуги с ценами, они показываются в карточке. Официальная инструкция — на справке Яндекса.

Что я вижу в проектах: раздел заполнили при регистрации и забыли. А потом удивляются, почему Алиса называет цену двухлетней давности. Как данные карточки превращаются в ответы голосового ассистента, я разбирал в статье про данные из Яндекс Бизнеса и ответы Алисы, там есть таблица с промптами.

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

Консистентность: сайт, карты, маркетплейс, соцсети

Один из клиентов, мебельное производство, обновил прайс на сайте в феврале. В сообществе во «ВКонтакте» остался пост с прошлогодними цифрами. Алиса назвала цену из поста. Модель не выбирает самый свежий источник, она берёт тот, что чаще подтверждается и лучше совпал с вопросом.

Отсюда правило: либо одна цифра во всех источниках, либо ни одной. Проверка занимает 15 минут. Спросите у Алисы цену своей главной услуги. Потом то же самое в ChatGPT. Потом откройте сайт, карточку Яндекса, 2ГИС, сообщество и маркетплейс. Расхождения будут, гарантирую. Что делать с остальными завалами устаревших данных, я подробно разбирал в материале про то, что делать, если Алиса выдаёт старые данные о компании.

Что я пробовал и бросил

Три подхода, которые выглядят логично, но с нейросетями не работают.

Цена по запросу. Кажется, что так вы защищаетесь от сравнения. На деле модель достаёт цифру из старой версии страницы, из кэша или из чужого отзовика и называет её. Вы теряете контроль над тем, какая цифра прозвучит. Один клиент спрятал цены в декабре 2024-го, а в мае 2026 Алиса всё ещё отвечала «от 12 000» — прошлый фрагмент из индекса жил своей жизнью.

Красивый прайс картинкой. Дизайнер доволен, владелец доволен, модели не видят ничего. Мы вернули таблицу текстом, а картинку оставили рядом, как оформление. Внешний вид не пострадал.

Калькулятор вместо прайса. Человеку удобно, модели бесполезно. Она не подставляет значения в поля и не нажимает «рассчитать».

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

Чек-лист: переоформить прайс за вечер

  1. Цены — текстом и HTML-таблицей на живой странице. PDF и картинки только как дополнение.
  2. Дата актуальности рядом с первой цифрой, дата обновления — внизу страницы.
  3. Единица измерения у каждой суммы.
  4. Диапазон с условием вместо одинокого «от».
  5. Отдельная строка «что входит в цену».
  6. НДС указан явно.
  7. JSON-LD со Service или Product и реальным priceValidUntil.
  8. Прайс-лист заполнен в Яндекс Бизнесе и в 2ГИС, цифры совпадают с сайтом.
  9. После правки — переобход страницы в Яндекс Вебмастере.
  10. Один ответственный за сверку цен раз в 2-3 недели плюс триггер «цена изменилась — все площадки правим за сутки».
  11. На странице прайса — блок вопросов и ответов: входит ли выезд, что с срочностью, как считается площадь. Как такие блоки собирать, я разбирал в тексте про то, где размещать контакты и FAQ, чтобы нейросети их забирали.

Часто задаваемые вопросы

Почему ИИ называет старую цену, если на сайте уже новая?

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

Как оформить прайс, чтобы нейросети его точно видели?

Текстом на странице, продублированным HTML-таблицей, с датой актуальности и единицами измерения. Всё. Остальное — улучшения, а без этого минимума разговор заканчивается ничем.

Нужен ли прайс в PDF?

Как дополнение — да, клиентам удобно. Как единственный формат — нет. Если PDF висит на сайте вместо таблицы, часть моделей цифры всё-таки вытащит, но в качестве источника предпочтёт кого-то другого.

Можно ли написать «цена по запросу»?

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

Как часто проверять цены?

Сверка раз в 2-3 недели и сразу при любом изменении. Для страницы с одним тарифом можно реже. Для прайса на 200 позиций — только регламентом, глазами такое не отслеживается.

Поможет ли микроразметка, если цены на странице нет?

Нет. Разметка описывает то, что уже есть на странице. Пустой Offer без видимой цены только запутает робота.

А если у меня интернет-магазин с десятками тысяч товаров?

Ручной прайс вы не соберёте, и не надо. Работает фид и правильно оформленные карточки: цена, наличие, единица измерения, совпадение разметки с видимой ценой. Логику для магазинов я разбирал в статье про GEO-оптимизацию для интернет-магазина.