Главная Статьи SEO

Paywall и SEO: как индексировать платный контент без клоакинга

Одинаковый документ с открытым превью и размеченной платной частью для читателя и поискового робота

Платная статья решает две противоположные задачи: показать поисковой системе достаточно содержания для понимания документа и сохранить коммерческую ценность подписки. Ошибка в любую сторону дорого стоит. Полностью закрытый HTML может не дать поиску материала для индексации, а скрытая только визуально статья способна оказаться доступной без оплаты. Отдельный риск — показать роботу полный текст, а обычному человеку лишь заглушку без честного объяснения.

Google поддерживает структурированные данные для подписного и платного контента. Свойства isAccessibleForFree и hasPart помогают обозначить закрытые фрагменты и отличить такую модель от клоакинга. Разметка не выдаёт сайту исключение из поисковых правил: документ всё равно должен быть качественным, доступным Googlebot и соответствовать тому, что получит пользователь с законным доступом.

Рабочая схема начинается не с JSON-LD, а с продукта. Издатель определяет, что бесплатно, где возникает ограничение, сколько материалов можно прочитать, как авторизуется подписчик и что произойдёт при сбое оплаты. Затем разработчик реализует одинаковую смысловую модель для браузера и робота, размечает закрытую область, ограничивает сниппет при необходимости и проверяет реальные ответы. Общие способы управления индексацией описаны в руководстве про noindex и nofollow.

Какие модели paywall существуют

Жёсткий paywall закрывает почти весь материал и требует подписку сразу. Он подходит контенту, ценность которого уже понятна аудитории: специализированным базам, исследованиям, профессиональным данным. Для органического поиска такая модель требует особенно ясного заголовка, описания, открытого контекста и корректного доступа робота, иначе система видит мало признаков, по которым можно понять документ.

Мягкий paywall оставляет начало статьи открытым, а продолжение закрывает. Metered-модель разрешает несколько полных материалов за период и затем просит оформить доступ. Freemium делит публикации на бесплатные и премиальные. Registration wall просит создать аккаунт без оплаты. Эти варианты различаются для бизнеса и пользователя, но поисковая задача одинакова: не скрывать сам факт ограничения и не создавать роботу особую улучшенную версию, недоступную законному читателю.

Гибридная редакция может использовать несколько моделей. Новости остаются бесплатными, аналитика — платной, авторская колонка — доступной после регистрации, а редкий отчёт продаётся отдельно. Зафиксируйте тип на уровне материала в CMS. Если шаблон угадывает модель по рубрике или цене, миграция легко оставит статью с неверным статусом и разметкой.

Не выбирайте объём превью по мифической норме символов. Он должен дать человеку честное понимание темы и качества, но не заменить платную ценность. Для поискового интента «что произошло» короткое вступление может уже закрыть вопрос, тогда подписка не объяснена. Для исследования полезны открытые постановка задачи, метод и основные ограничения, а подробные данные, таблицы и выводы могут входить в продукт.

Экономика модели важнее технического трюка. Сравнивайте доход подписки, удержание, жалобы, органический охват и стоимость поддержки. Контент, который люди не хотят оплачивать, не станет ценным после добавления разметки. Подход к качеству и авторству полезно сверить со статьёй об E-E-A-T, особенно для финансовых, медицинских и профессиональных материалов.

Что должны видеть пользователь и Googlebot

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

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

Проверьте три состояния: гость, подписчик и Googlebot. У всех должен совпадать URL, основной заголовок, автор, дата, предмет статьи и каноническая версия. Гость видит, какая часть закрыта и на каких условиях можно продолжить. Подписчик получает полный материал без создания второго публичного URL. Робот получает доступный для обработки документ с точной разметкой закрытых частей.

Согласованная модель платной статьи для гостя, подписчика и Googlebot Один канонический URL передает общие заголовок, автора и открытое превью; гость видит предложение подписки, подписчик полный текст, Googlebot полный индексируемый документ с явной разметкой платного фрагмента. Один канонический URL статьи заголовок · автор · дата · открытое превью Гость превью и честная цена закрытая область обозначена вход и покупка работают Подписчик тот же URL и полный текст без дубля и смены canonical доступ по действующему праву Googlebot доступный полный документ isAccessibleForFree=false hasPart и cssSelector Одинаковый предмет и честное ограничение разметка объясняет paywall, но не гарантирует индексацию или показ
Интерфейсы различаются по праву доступа, но статья, её URL и смысл остаются общими; поисковому роботу не создают рекламную «секретную» версию.

Если полный текст нельзя отдавать браузеру гостя из соображений защиты, сервер должен контролировать авторизацию и не включать закрытый фрагмент в клиентский ответ. Для Googlebot применяют документированный доступ и разметку, а не легко подделываемый User-Agent без проверки инфраструктуры. Нельзя полагаться только на CSS blur: скрытый визуально текст остаётся в HTML и может быть прочитан любым посетителем.

Состояние ошибки тоже проектируют заранее. При недоступной системе подписок действующий пользователь не должен получать вечную заглушку, а робот — пустой ответ 200. Верните понятный интерфейс, сохраните корректный HTTP-код и не индексируйте текст аварии как статью. Значение кодов подробно объясняет руководство по HTTP-ответам.

Как разметить платный фрагмент

У материала используется подходящий тип CreativeWork, чаще Article, NewsArticle или BlogPosting. На уровне объекта isAccessibleForFree: false сообщает, что материал не полностью бесплатен. Свойство hasPart описывает закрытую область как WebPageElement, у которой также указано isAccessibleForFree: false.

cssSelector связывает объект с классом элемента в HTML, например .paywall. Google требует использовать селекторы классов и не вкладывать закрытые секции друг в друга. Класс должен стоять на фактическом платном контейнере, а не на всей странице из-за удобства разработчика. При нескольких раздельных областях их можно перечислить, сохраняя простую структуру.

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Как устроен рынок подписных сервисов",
  "datePublished": "2026-07-30T09:00:00+03:00",
  "author": {"@type": "Person", "name": "Анна Орлова"},
  "isAccessibleForFree": false,
  "hasPart": {
    "@type": "WebPageElement",
    "isAccessibleForFree": false,
    "cssSelector": ".paywall"
  }
}

Разметка обязана отражать DOM. Если класс переименован, но JSON-LD остался старым, связь потеряна. Если один и тот же класс используется для рекламы, комментариев и подписного текста, описание становится неверным. Добавьте тест, который на каждой платной странице находит указанный селектор и проверяет, что он содержит ожидаемую часть материала.

Не размечайте бесплатную статью как платную только из-за формы регистрации на рассылку. Не ставьте false на весь сайт, если ограничен лишь архив данных. И наоборот, баннер «поддержите редакцию» не заменяет маркировку реального закрытого контента. Основы корректной структуры JSON-LD разобраны в статье о микроразметке Schema.org.

Добавьте обычные свойства статьи: заголовок, автор, даты и изображение, если они соответствуют странице. Paywall не освобождает от качества базовой модели. При обновлении платного отчёта синхронизируйте видимую дату и dateModified только после существенной редакции; правила честной свежести собраны в руководстве о датах публикации.

Как выбрать объём бесплатного превью

Google больше не задаёт универсальное число бесплатных материалов или абзацев, подходящее всем. Издатель выбирает модель с учётом продукта и пользователей. Это не означает, что любое превью одинаково полезно. Слишком короткая заглушка не объясняет ценность и тему; слишком длинная может закрыть простой интент и лишить человека причины подписываться.

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

Разные аудитории можно тестировать, но нельзя создавать роботу превью, более привлекательное, чем людям. Если новый посетитель получает один бесплатный материал, а зарегистрированный — три, это продуктовая сегментация. Условия должны быть понятны, а канонический документ и разметка — стабильны. Не меняйте доступ хаотично по рефереру поисковой системы: такой механизм трудно объяснить и проверить.

Управляйте сниппетом отдельно от paywall. Страница может индексироваться, но издатель вправе ограничить длину текстового фрагмента или исключить отдельный блок из сниппета. Эти механизмы не закрывают сам URL и подробно разобраны в статье про nosnippet и data-nosnippet. Не ставьте общий nosnippet автоматически на весь платный архив, не оценив потерю понятности результата.

Проверяйте превью на мобильном устройстве и медленном соединении. Человек должен увидеть начало материала до тяжёлого модального окна, понять цену и закрыть предложение без ловушки. Если баннер перекрывает весь экран и не даёт прочитать обещанный фрагмент, формально открытая часть не выполняет задачу. Оптимизируйте путь к подписке как обычную конверсионную воронку, а не как препятствие.

Как реализовать серверный и клиентский доступ

Серверный paywall проверяет сессию до формирования ответа и отдаёт гостю только открытый фрагмент. Это лучше защищает платный текст, потому что закрытая часть не попадает в HTML и API-ответ браузера. Для поискового обхода требуется корректно организованный доступ Googlebot в соответствии с официальной документацией и разметить закрытые области. Реализация должна защищаться от поддельных заголовков, а правила доступа — журналироваться.

Клиентский paywall загружает полный текст, затем скрывает его JavaScript или CSS. Он проще для интерфейса, но не является надёжной защитой: содержимое можно найти в исходном коде, состоянии приложения или сетевом ответе. Если ценность требует настоящего ограничения, не отправляйте закрытые данные незарегистрированному браузеру. Особенности рендеринга полезно сверить с материалом о SEO JavaScript-сайтов.

Некоторые проекты отдают оболочку, а текст загружают API после входа. Проверьте, что Google получает индексируемую версию предусмотренным способом, а не пустой контейнер. HTML должен содержать стабильные метаданные и открытый фрагмент. Ошибка API не должна превращать тысячи статей в одинаковую страницу «войдите позже» с кодом 200.

Кеширование учитывает статус доступа. CDN не должен сохранить полный ответ подписчика и отдать его гостю или, наоборот, закешировать заглушку для Googlebot и всех авторизованных. Ключ кеша включает только необходимые признаки, а приватные ответы получают подходящие директивы. После изменения правил очистите варианты и проверьте несколько точек без специальных cookies.

Не передавайте токены подписки в URL: они попадут в историю, аналитику, логи и внешние ссылки. Используйте защищённые cookies и серверную проверку. В платном тексте не размещайте персональные данные одного подписчика. Поисковая версия должна быть общим редакционным документом, а не снимком персонализированного кабинета.

Перед выпуском создайте матрицу состояний: новый гость, исчерпавший лимит, зарегистрированный без оплаты, действующий подписчик, отменённая подписка, Googlebot, обычный бот и отказ сервиса платежей. Для каждого зафиксируйте код, видимый текст, наличие разметки, canonical и доступные действия. Матрица превращает спорное слово «работает» в проверяемый контракт.

Как применять robots и ограничения сниппета

Если материал должен участвовать в поиске, не ставьте на него noindex. Разрешение обхода в robots.txt также важно: закрытый от обхода URL не позволит Google увидеть метатег, разметку и содержимое. Paywall сам по себе не является причиной исключать страницу. Решение принимают по ценности документа, доступному содержанию и продуктовой стратегии.

max-snippet ограничивает длину текстового сниппета, nosnippet запрещает текстовый сниппет целиком, а data-nosnippet исключает отмеченные фрагменты. Эти средства управляют представлением и не являются защитой платного текста. Если закрытая часть уже отправлена в браузер, запрет сниппета не мешает посетителю прочитать исходный ответ.

Не закрывайте CSS и JavaScript, необходимые для понимания страницы и интерфейса доступа. Google должен увидеть, что контент ограничен, а человек — получить работающую форму. Одновременно не делайте авторизацию зависимой от исполнения стороннего рекламного скрипта: блокировщик не должен случайно открывать или навсегда закрывать материал.

Каноническая версия сохраняется общей для гостя и подписчика. Параметры входа, кампаний и возврата после оплаты не должны создавать индексируемые копии. Если печатная или AMP-версия существует, она обязана отражать ту же модель доступа и согласованный canonical. Подробная работа с дублями описана в статье про rel=canonical.

После снятия материала выберите честный статус. Если публикация удалена навсегда и замены нет, возвращайте 404 или 410; если перенесена — 301 на релевантный документ; если временно недоступен сервис, не меняйте статью на постоянную ошибку. Не используйте paywall как способ спрятать юридически удалённый текст, оставив его полную версию роботу.

Как связать подписку, вход и canonical

Аккаунт и право доступа — разные сущности. Пользователь может войти, но не иметь активной подписки; организация может купить несколько мест; доступ к одному отчёту может действовать без общей подписки. Сервер принимает решение по актуальному праву, а интерфейс объясняет его причину без раскрытия лишних данных. Ошибка «вы не вошли» после успешной авторизации разрушает доверие сильнее, чем отсутствие SEO-разметки.

Возврат после оплаты ведёт на исходный URL, а не на новую копию /paid/article. Так ссылки, история и аналитика относятся к одному документу. Служебные страницы входа, восстановления и оплаты имеют собственные задачи и обычно не должны конкурировать с публикацией в поиске. Закрывайте их осознанно, сохраняя доступ поисковому роботу к основной статье.

Для корпоративных подписок не генерируйте публичный URL на каждого клиента. Персональные заметки, лимиты и история чтения остаются в кабинете. Основной материал имеет один canonical и общий редакционный текст. Если клиент получает действительно отдельный отчёт с конфиденциальными данными, он не является публичной SEO-страницей и защищается авторизацией независимо от robots.txt.

Объясните правила до регистрации: цена, период, автоматическое продление, отмена и состав доступа. Поисковая оптимизация не должна вести человека на скрытую стоимость. Ясный оффер и короткий путь повышают вероятность подписки; общие принципы проверки интерфейса собраны в статье о повышении конверсии.

События аналитики не должны содержать email, токен или название закрытого документа, если это создаёт риск раскрытия. Передавайте технический идентификатор, тип модели и результат шага: показ paywall, начало входа, успешная авторизация, начало оплаты, покупка, ошибка. Так команда видит воронку, не превращая систему измерения в копию базы подписчиков.

Как проверить paywall до публикации

Сначала проверьте HTML и JSON-LD валидатором Schema.org и инструментами Google. Убедитесь, что isAccessibleForFree имеет логическое значение, hasPart относится к WebPageElement, а cssSelector находит фактический контейнер. Отсутствие синтаксической ошибки не подтверждает правильность доступа и не гарантирует индексацию.

Откройте страницу в чистом браузере как гость, затем как подписчик. Сравните заголовок, автора, дату, canonical, открытое начало и полный текст. Проверьте цену, вход, восстановление пароля, оплату, отмену модального окна и возврат к месту чтения. На мобильном устройстве paywall не должен создавать бесконечную прокрутку или перекрывать системную кнопку назад.

Отдельно получите страницу как подтверждённый Googlebot по безопасной процедуре и как клиент с поддельным User-Agent. Подделка не должна получать привилегию. Проверяйте не только видимость текста, но и код, редиректы, заголовки кеша, canonical, robots meta и наличие структурированных данных. Логи помогают доказать фактический запрос, а не только результат лабораторного инструмента.

URL Inspection показывает, доступна ли страница Google и что система знает о ней. После изменения запросите переобход нескольких эталонных URL, но не отправляйте весь архив до проверки шаблона. Отсутствие страницы в индексе может иметь множество причин; тонкий открытый фрагмент, слабая ценность и дубли не исправляются одной разметкой. Оценку малоценных страниц раскрывает материал о тонком контенте.

Добавьте автоматический smoke-тест после релиза. Он проверяет по одному URL каждой модели и состояния, сравнивает критичные поля и сигнализирует о массовой заглушке. Не сохраняйте в тестовых журналах действующий токен подписчика. Для постоянных проверок и алертов используйте регламент из статьи про SEO-мониторинг.

Числовой пример аудита издания

Издание проверило 1 200 канонических материалов. Из них 600 полностью бесплатны, 360 работают по metered-модели, 180 имеют жёсткий paywall и 60 требуют бесплатной регистрации. Группы не пересекаются: 600 + 360 + 180 + 60 = 1 200. Для каждого типа заранее определили HTML гостя, доступ робота и ожидаемую разметку.

Аудит назначал одному URL одну основную ошибку. У 96 страниц закрытый текст находился в клиентском ответе без защиты, у 72 отсутствовала либо не совпадала paywall-разметка, у 45 стоял случайный noindex, у 27 Googlebot получал отличающийся рекламный текст. Всего 240 проблем: 96 + 72 + 45 + 27 = 240. Без найденных нарушений осталось 960 страниц: 1 200 − 240 = 960.

Основные ошибки paywall на 1 200 страницах до и после исправления
Основная ошибкаДоПослеИсправление
Полный текст в ответе гостя968Перенесли проверку доступа на сервер
Нет или неверна разметка726Связали модель CMS с hasPart
Случайный noindex453Исправили шаблон и добавили тест
Отличающийся текст для робота273Убрали специальную рекламную версию
Итого24020Остаток оставили в ручной очереди

Исходная доля ошибок составляла 240 / 1 200 × 100 = 20%. После исправления осталось 20 страниц, или 20 / 1 200 × 100 ≈ 1,67%. Число проблем уменьшилось на 220: 240 − 20 = 220. Относительное снижение равно 220 / 240 × 100 ≈ 91,67%. Это результат технической проверки, а не доказательство роста трафика или подписок.

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

Как измерять поиск и подписку

Технический слой отвечает на вопрос, работает ли система: доля URL с правильным кодом, canonical и разметкой; доступность Googlebot; число шаблонных ошибок; время восстановления; совпадение состояний гостя и подписчика. Эти показатели реагируют сразу и помогают остановить массовый дефект до того, как изменится поисковая статистика.

Поисковый слой включает показы, клики, CTR, запросы, индексирование и посадочные страницы. Сегментируйте бесплатные, metered и жёсткие материалы, потому что их продуктовая роль различается. Не складывайте динамику с изменением спроса и не объявляйте падение санкцией без диагностики. Платная страница может иметь меньше кликов, но приводить более ценную аудиторию.

Продуктовый слой измеряет показ paywall, начало входа, начало оплаты, успешную подписку, отказ, возврат, удержание и доход. Знаменателем для конверсии служат люди, действительно увидевшие предложение, а не все показы в поиске. Повторные открытия одного читателя отделяйте от новых потенциальных подписчиков. Для редакционного продукта полезны также дочтения открытой части и возврат к статье после оплаты.

Используйте когорты и достаточный период. Новость живёт несколько дней, исследование — месяцы; одинаковое окно исказит сравнение. Изменение цены, рекламная кампания, крупная публикация и сбой оплаты фиксируются в журнале. Один график до и после не доказывает причинность. Если тестируете объём превью, сохраняйте одинаковые технические сигналы и не создавайте нестабильный контент для робота.

Качественные данные дополняют числа. Жалобы объясняют непонятную цену, записи поддержки — проблему входа, опрос отмены — несоответствие ожиданий. SEO приводит человека к обещанию, но удерживает его полезность продукта. Редакции стоит связывать поисковые страницы с общей стратегией из материала по SEO для блога, а не оценивать paywall изолированно.

Собирайте отчёт по одной и той же классификации материалов. Если вчера жёсткий paywall считался отдельно, а сегодня его объединили с регистрацией, динамика потеряет смысл. Храните дату смены модели и пересчитывайте только те показатели, для которых доступна сопоставимая история. В отчёте показывайте абсолютные значения и доли: рост конверсии с одного до двух платежей выглядит как сто процентов, но остаётся слишком малой выборкой для уверенного решения.

Определите защитные показатели. Эксперимент с более коротким превью не должен резко увеличивать возвраты, обращения «не понимаю, что покупаю» или долю страниц с недостаточным открытым содержанием. Улучшение клика по кнопке не считается победой, если падает успешная оплата или удержание. Для каждой гипотезы заранее запишите целевую метрику, минимальный период, сегмент, допустимые побочные эффекты и условие остановки. Такой паспорт не гарантирует причинный вывод, но не позволяет выбирать удобную цифру после завершения теста.

Как поддерживать систему после запуска

Назначьте владельцев модели доступа, редакционного шаблона, подписочной платформы, разметки и аналитики. Каждое изменение цены, лимита или способа входа проходит согласованный релиз. Документация хранит ожидаемое поведение гостя, подписчика и робота. Без владельца временное исключение быстро становится постоянным и расходится между страницами.

Ежедневно контролируйте ошибки авторизации, платежей и массовые изменения кодов. Еженедельно проверяйте выборку новых и популярных материалов во всех состояниях. Ежемесячно сравнивайте поисковые и продуктовые сегменты, а также долю страниц с корректной разметкой. После обновления CMS, CDN или системы входа запускайте расширенную регрессию.

Не меняйте доступ к уже купленному материалу без ясных условий. Если архив переводится в новую модель, сообщите пользователям, сохраните законные права доступа и обновите разметку одновременно. При снятии paywall удалите isAccessibleForFree: false и закрытый контейнер, а не оставляйте устаревший JSON-LD.

Заведите контрольную подборку из разных шаблонов: свежая публикация, архив, материал с регистрацией, полностью платная статья и временно открытая страница. После каждого релиза команда проходит их как гость, новый подписчик и действующий клиент, затем сверяет видимый текст, исходный HTML, canonical и данные доступа. Такая небольшая матрица обнаруживает системную ошибку раньше, чем она распространится на весь архив. Результат проверки записывайте вместе с версией шаблона и датой: это позволяет быстро установить, какой релиз изменил индексацию или покупку.

Чек-лист платной статьи

  • Модель доступа и бесплатное превью утверждены как продукт
  • Гость сразу понимает ограничение, цену и следующий шаг
  • Подписчик получает полный текст на том же canonical URL
  • Googlebot видит индексируемый документ без рекламной подмены
  • Платная область точно связана с hasPart и cssSelector
  • Сервер не отправляет защищённый текст браузеру гостя
  • robots, noindex и сниппет-контроли применены осознанно
  • Кеш различает состояния и не раскрывает полный ответ
  • Вход, оплата, отмена и аварийный сценарий протестированы
  • Метрики поиска отделены от конверсии и удержания

При инциденте остановите опасный шаблон, сохраните примеры ответов и определите затронутые модели. Утечку полного текста гостям и рекламную подмену для робота исправляют раньше косметики. После восстановления повторите матрицу состояний, запросите переобход эталонных URL и задокументируйте причину, чтобы дефект превратился в постоянный тест.

Официальные источники

Главный вывод

Paywall совместим с поиском, когда ограничение является честной частью продукта, а не способом показать роботу улучшенную версию. Сохраните один канонический документ, дайте Googlebot доступ по правилам, точно обозначьте платную область и защитите текст на сервере. Проверяйте гостя, подписчика и робота как разные состояния одной статьи. Корректная разметка объясняет модель, но не гарантирует индексацию, позиции, клики или продажи подписки.

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

Можно ли индексировать статью за paywall?
Да, если Googlebot может получить контент, который вы хотите индексировать, платная область корректно размечена, а страница соблюдает общие поисковые правила. Наличие разметки не гарантирует индексацию: Google всё равно оценивает качество, доступность и другие сигналы.
Считается ли доступ полного текста для Googlebot клоакингом?
Не сам по себе. Google документирует способ обозначать подписной контент, чтобы отличать модель доступа от клоакинга. Нельзя давать роботу рекламно улучшенный или иной по смыслу текст, которого не получает пользователь с законным доступом.
Достаточно ли скрыть платную часть через CSS?
Нет. Если полный текст уже отправлен в HTML или API-ответ гостя, его можно прочитать без оплаты. Для настоящей защиты проверяйте право доступа на сервере и не отправляйте закрытые данные браузеру без действующей подписки.
Сколько текста нужно оставить бесплатным?
Универсальной нормы нет. Превью должно честно объяснять тему, качество и пользу продолжения, но не обязано раскрывать весь платный результат. Объём выбирают по интенту, продукту и данным, сохраняя одинаковую смысловую модель для людей и робота.
Зачем нужны isAccessibleForFree и hasPart?
Первое свойство сообщает, что материал не полностью бесплатен. HasPart связывает статью с конкретным WebPageElement, содержащим закрытую часть, а cssSelector указывает соответствующий класс в HTML. Значения должны совпадать с реальной страницей.
Нужно ли ставить noindex на платные статьи?
Не автоматически. Если статья должна находиться в поиске и содержит доступный Google контент, noindex противоречит этой цели. Исключать URL следует по осознанной продуктовой причине, а не потому, что на странице есть предложение подписки.