Блог
5 мин чтения
Schema.org

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

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

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

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

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

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

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

  • 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 страницы с тарифами или конкретного checkout;
  • availability;
  • trial или free plan в FAQ;
  • ограничения в видимой таблице тарифов.

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

FAQPage для тарифы

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

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

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

BreadcrumbList помогает AI понять, что страница с тарифами находится в коммерческом слое сайта, а не является случайной статьёй. 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 тарифы

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

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

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

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

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

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

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

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

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

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

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