Структурированные данные для подписок и платного контента (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 Поиска