Структурированные данные для подписок и платного контента (CreativeWork
)
Из этой статьи вы узнаете, как с помощью свойств для типа CreativeWork
в формате JSON-LD от schema.org пометить на своем сайте платный контент. Структурированные данные помогают Google отличить платный контент от материалов, которые скрыты с помощью маскировки и тем самым нарушают наши правила в отношении веб-спама.
Подробнее о подписках и платном контенте…
Пример
Ниже приведен пример кода, в котором платный контент помечен с помощью структурированных данных типа NewsArticle
.
<html> <head> <title>Article headline</title> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "NewsArticle", "headline": "Article headline", "image": "https://example.org/thumbnail1.jpg", "datePublished": "2025-02-05T08:00:00+08:00", "dateModified": "2025-02-05T09:20:00+08:00", "author": { "@type": "Person", "name": "John Doe", "url": "https://example.com/profile/johndoe123" }, "description": "A most wonderful article", "isAccessibleForFree": false, "hasPart": { "@type": "WebPageElement", "isAccessibleForFree": false, "cssSelector" : ".paywall" } } </script> </head> <body> <div class="non-paywall"> Non-Paywalled Content </div> <div class="paywall"> Paywalled Content </div> </body> </html>
Правила
Чтобы ваша страница появлялась в результатах поиска, вы должны соблюдать общие правила в отношении структурированных данных и технические требования. Кроме того, разметка платного контента должна соответствовать правилам, приведенным ниже.
- Для структурирования платного контента используйте микроданные или формат JSON-LD.
- Не вкладывайте разделы с контентом друг в друга.
-
Для свойства
cssSelector
указывайте только селекторы.class
.
Как добавить разметку для платного контента
Если вы хотите, чтобы роботы Google индексировали ваш контент, для доступа к которому нужна подписка или регистрация, выполните описанные ниже действия. В качестве примера приведена разметка контента со структурированными данными типа NewsArticle
. Повторите перечисленные действия для всех вариантов страницы, включая ее AMP-версию.
-
Присвойте имя класса каждому разделу с платным контентом на вашей странице. Пример:
<body> <p>This content is outside a paywall and is visible to all.</p> <div class="paywall">This content is inside a paywall, and requires a subscription or registration.</div> </body>
-
Добавьте структурированные данные типа
NewsArticle
. -
Включите структурированные данные JSON-LD, которые выделены в нашем примере, в структурированные данные типа
NewsArticle
.{ "@context": "https://schema.org", "@type": "NewsArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://example.org/article" }, (...) "isAccessibleForFree": false, "hasPart": { "@type": "WebPageElement", "isAccessibleForFree": false, "cssSelector": ".paywall" } }
- Протестируйте свой код с помощью инструмента проверки расширенных результатов. Если будут обнаружены критические ошибки, устраните их.
Что делать, если платных разделов несколько
Если на странице имеется несколько разделов с платным контентом, объедините их имена классов в один массив.
Код страницы с двумя платными разделами может выглядеть так:
<body> <div class="section1">This content is inside a paywall, and requires a subscription or registration.</div> <p>This content is outside a paywall and is visible to all.</p> <div class="section2">This is another section that's inside a paywall, or requires a subscription or registration.</div> </body>
Вот пример того, как внедрить структурированные данные типа NewsArticle
для этих разделов:
{ "@context": "https://schema.org", "@type": "NewsArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://example.org/article" }, (...) "isAccessibleForFree": false, "hasPart": [ { "@type": "WebPageElement", "isAccessibleForFree": false, "cssSelector": ".section1" }, { "@type": "WebPageElement", "isAccessibleForFree": false, "cssSelector": ".section2" } ] }
Поддерживаемые типы
Такую разметку можно использовать с типом CreativeWork
или одним из следующих подтипов CreativeWork
:
Можно указать несколько типов schema.org, например такие:
"@type": ["Article", "LearningResource"]
Чтобы указать роботам Google на наличие в вашей статье платного контента, необходимо задать все обязательные свойства. В то же время вы можете также добавить рекомендуемые свойства, которые позволяют более точно обозначить разделы страницы, доступ к которым требует оплаты, подписки или регистрации.
Обязательные свойства | |
---|---|
isAccessibleForFree
|
Указывает на то, является ли статья общедоступной или для доступа к ней требуется оплата, подписка или регистрация. Если раздел платный, задайте для свойства |
Рекомендуемые свойства | |
---|---|
hasPart.cssSelector
|
Селектор CSS, который ссылается на имя класса, указанное в HTML, чтобы обозначить платный раздел. |
hasPart.@type
|
Задайте для свойства |
hasPart.isAccessibleForFree
|
Указывает на то, является ли раздел платным или доступ к нему требует подписки или регистрации. Если раздел платный, задайте для свойства |
О чем следует помнить, если у вас есть AMP-страницы
Следуйте этим рекомендациям:
-
Если у вас есть AMP-страницы с платным контентом, используйте при необходимости компонент
amp-subscriptions
. - Убедитесь, что ваше средство авторизации предоставляет роботам Google и других поисковых систем доступ к контенту. Корректно настроить его может только сам издатель.
- Проверьте, одинаковые ли правила доступа к обычным и AMP-страницам вы настроили для робота. В противном случае в Search Console будут наблюдаться ошибки несоответствия контента.
Особенности генеративной модели Google Поиска
В обзорах от ИИ и в режиме ИИ представлены общие сведения об определенной теме или запросе, подобранные на основе материалов разных источников, в том числе сайтов. Поэтому подобными обзорами можно управлять с помощью настроек предварительного просмотра.
Убедитесь, что Google может сканировать и индексировать ваши страницы
Если вам нужно, чтобы мы сканировали и индексировали ваш контент, в том числе в платных разделах, обеспечьте доступ к ним роботу Googlebot (и роботу Googlebot-News
в случае необходимости).
Используйте инструмент проверки URL, чтобы получить данные о том, как Google сканирует и обрабатывает ваши веб-страницы.
Управляйте показом своего контента в результатах поиска
Чтобы запретить показ в Google контента из определенных разделов, используйте HTML-атрибут data-nosnippet
.
Вы также можете задать ограничение на длину фрагмента в результатах поиска с помощью тега meta
с атрибутом max-snippet
robots.
Устранение неполадок
Если у вас возникли трудности с добавлением или отладкой структурированных данных, вам помогут ресурсы и сведения, доступные по приведенным ниже ссылкам.
- Если вы используете систему управления контентом (CMS) или поручили настройку сайта другому человеку, обратитесь за помощью к нему или разработчику CMS. Не забудьте переслать ему сообщения о проблеме, полученные вами в Search Console.
- Google не гарантирует показ вашего контента в результатах поиска, которые формируются на основе структурированных данных. Возможные причины, по которым ваши материалы могут не показываться в виде расширенных результатов, перечислены в общих рекомендациях по использованию структурированных данных.
- Ознакомьтесь со списком типичных ошибок в структурированных данных и отчетом о структурированных данных, которые невозможно обработать, и проверьте, правильно ли вы добавили разметку.
- Если мы вручную приняли меры в отношении страницы, недопустимые структурированные данные на ней будут игнорироваться до тех пор, пока вы не исправите код. При этом сама страница может появляться в результатах поиска и дальше. Чтобы устранить проблемы со структурированными данными, воспользуйтесь отчетом о мерах, принятых вручную.
- Ещё раз изучите рекомендации, чтобы выяснить, соответствует ли им ваш контент. Проблема может быть связана со спамом в контенте или разметке, а не с ошибками в синтаксисе. Тогда ее не получится выявить с помощью инструмента проверки расширенных результатов.
- Узнайте, чем может быть вызвано отсутствие расширенных результатов или уменьшение их общего количества.
- Робот Googlebot сканирует и индексирует страницы не сразу после обновления контента. С момента публикации страницы может пройти несколько дней, пока Google обнаружит и просканирует ее. Мы собрали на отдельной странице ответы на часто задаваемые вопросы о сканировании и индексировании.
- В случае необходимости задавайте вопросы на форуме Центра Google Поиска