🎯 Бесплатно: первая проверка AI-видимости за 5 минут, затем обновление раз в 7 днейПопробовать →

Блог
4 мин чтения

Schema для pricing page: как разметить тарифы, цены и FAQ для AI-ответов

Какая Schema.org разметка нужна странице тарифов: Product, Offer, FAQPage, BreadcrumbList, Organization и JSON-LD для SaaS pricing page.

Schema.orgpricing pageJSON-LDтарифы
Владислав Пучков
Владислав Пучков
Основатель GEO Scout, эксперт по GEO-оптимизации

Pricing page — одна из самых фактозависимых страниц SaaS-сайта. AI-системы используют её для ответов на вопросы «сколько стоит», «есть ли бесплатный тариф», «какой план выбрать», «есть ли trial», «какие лимиты», «подходит ли enterprise». Если страница визуально красивая, но машинно неясная, модель может неверно прочитать цену или взять данные из стороннего обзора.

Schema.org помогает снизить неоднозначность. Она не гарантирует цитирование, но даёт AI и поисковым системам структурированный слой поверх видимого контента.

Какие типы schema нужны

Для pricing page обычно используется граф из нескольких типов:

  • Organization — кто публикует продукт;
  • WebPage — что это страница тарифов;
  • SoftwareApplication или Product — что продаётся;
  • Offer или AggregateOffer — какие есть предложения;
  • FAQPage — ответы на частые вопросы;
  • BreadcrumbList — где страница находится в структуре сайта.

Главный принцип: schema должна соответствовать контенту страницы. Если тариф скрыт в модальном окне, не загружается без JavaScript или не виден пользователю, разметка будет слабым сигналом.

Product или SoftwareApplication

Для SaaS чаще подходит SoftwareApplication, потому что продукт является программным сервисом. Для более широких B2B-сервисов можно использовать Product. В обоих случаях укажите название, описание, URL, производителя или publisher, категорию и offers.

Пример:

{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Example Analytics",
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Web",
  "url": "https://example.com/pricing",
  "description": "Analytics platform for marketing teams.",
  "offers": [
    {
      "@type": "Offer",
      "name": "Pro",
      "price": "49",
      "priceCurrency": "USD",
      "availability": "https://schema.org/InStock",
      "url": "https://example.com/pricing"
    }
  ]
}

Если тарифов несколько, можно добавить массив Offer. Если цены зависят от объёма, лучше явно описать это в видимом тексте и не указывать фальшивую фиксированную цену.

Что указывать в Offer

Для каждого тарифа полезны:

  • название плана;
  • цена;
  • валюта;
  • период оплаты в видимом тексте;
  • URL pricing page или конкретного checkout;
  • availability;
  • trial или free plan в FAQ;
  • ограничения в видимой таблице тарифов.

Schema.org не всегда имеет идеальное поле для каждого SaaS-лимита. Не пытайтесь засунуть все квоты в JSON-LD любой ценой. Лучше сделать читаемую таблицу и FAQ, а schema использовать для основных сущностей.

FAQPage для pricing

FAQ на pricing page должен отвечать на вопросы, которые реально влияют на покупку:

  • есть ли бесплатный тариф;
  • нужен ли credit card для trial;
  • можно ли отменить подписку;
  • что происходит при превышении лимита;
  • есть ли годовая оплата;
  • чем enterprise отличается от business;
  • есть ли документы для бухгалтерии;
  • как работает возврат.

Если эти вопросы видны на странице, их можно разметить как FAQPage. Не добавляйте в JSON-LD вопросы, которых нет в HTML. Это создаёт рассинхронизацию и снижает доверие к странице.

BreadcrumbList помогает AI понять, что pricing page находится в коммерческом слое сайта, а не является случайной статьёй. WebPage можно использовать как контейнер: название, описание, URL, isPartOf, about, mainEntity.

Пример связки:

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebPage",
      "@id": "https://example.com/pricing#webpage",
      "url": "https://example.com/pricing",
      "name": "Pricing",
      "about": { "@id": "https://example.com/#software" }
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://example.com/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Pricing",
          "item": "https://example.com/pricing"
        }
      ]
    }
  ]
}

Enterprise pricing

Многие SaaS-компании не показывают enterprise price. Это нормально. Ошибка — указывать в schema нулевую цену, случайную цену или «от $1», если такого нет на странице. Лучше использовать видимый блок: «Enterprise pricing is custom and depends on seats, usage, security requirements and support level.» В FAQ можно добавить вопрос «How is enterprise pricing calculated?»

AI лучше обработает честную неопределённость, чем ложную точность.

Ошибки внедрения

  • Разметить тарифы, которых нет на странице.
  • Указать старые цены после изменения billing.
  • Не обозначить валюту.
  • Не объяснить период оплаты.
  • Дублировать несколько conflicting JSON-LD блоков из CMS и tag manager.
  • Добавить FAQ в schema, но не показать его пользователю.
  • Использовать Product schema без связи с Organization.
  • Не проверять rendered HTML.

Как измерять эффект

После внедрения проверьте валидность JSON-LD, но не останавливайтесь на этом. Настройте prompts:

  • «сколько стоит [продукт]»;
  • «есть ли free plan у [продукт]»;
  • «какой тариф [продукт] выбрать»;
  • «лимиты тарифа [продукт]»;
  • «[продукт] enterprise pricing».

В GEO Scout можно отслеживать, появляется ли pricing page как cited source и снижается ли число искажений цены. Если AI продолжает ссылаться на обзоры, значит, проблема может быть не только в schema, но и в видимом контенте, внутренней перелинковке или доступности страницы для ботов.

Schema для pricing page работает лучше всего, когда она подтверждает ясную страницу, а не пытается компенсировать её отсутствие.

Частые вопросы

Какая schema подходит для pricing page?
Для SaaS pricing page обычно используют связку Organization, WebPage, Product или SoftwareApplication, Offer или AggregateOffer, FAQPage и BreadcrumbList. Выбор зависит от того, продаётся один продукт или несколько тарифов.
Можно ли размечать каждый тариф как Offer?
Да, если тариф имеет понятную цену, валюту, условия и URL. Важно не указывать в schema то, чего нет на странице или что быстро устаревает.
Нужна ли FAQPage schema на странице тарифов?
Да, если на странице есть видимый FAQ про trial, оплату, лимиты, отмену, поддержку и enterprise. FAQPage помогает AI извлекать короткие ответы на коммерческие вопросы.
Что делать с кастомным enterprise pricing?
Не выдумывайте цену. Укажите, что цена предоставляется по запросу, а в видимом контенте объясните факторы расчёта: объём, пользователи, SLA, безопасность и поддержка.
Как проверить результат внедрения schema?
Проверьте JSON-LD валидаторами, затем отслеживайте prompts про стоимость, тарифы и лимиты. В GEO Scout можно увидеть, начинает ли pricing page чаще попадать в cited sources.