구독 및 페이월 콘텐츠

이 페이지에서는 schema.org JSON-LD를 사용하여 CreativeWork 속성으로 사이트에 페이월 콘텐츠를 표시하는 방법을 설명합니다. 이 구조화된 데이터는 Google에서 페이월 콘텐츠와 클로킹 행위를 구분하는 데 도움이 됩니다. 클로킹은 Google 가이드라인을 위반하는 행위입니다. 구독 및 페이월 콘텐츠에 관해 자세히 알아보세요.

다음은 페이월 콘텐츠가 포함된 구조화된 NewsArticle 데이터의 예입니다.

<html>
  <head>
    <title>Article headline</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "NewsArticle",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://example.org/article"
      },
      "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"
      },
      "publisher": {
         "name": "The Exemplary Times",
         "@type": "Organization",
         "logo": {
            "@type": "ImageObject",
            "url": "https://example.org/logo.jpg"
         }
      },
      "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 선택기만 사용하세요.

페이월 콘텐츠에 마크업 추가

웹사이트를 구독해야만 액세스할 수 있는 콘텐츠를 제공하고 있거나 색인을 생성하려는 콘텐츠에 액세스하려면 사용자가 사이트에 등록해야 하는 경우 다음 단계를 따르세요. 다음의 예는 구조화된 NewsArticle 데이터에 적용됩니다. AMP 페이지 및 AMP가 아닌 페이지를 포함한 모든 버전의 페이지에서 다음 단계를 따르세요.

  1. 페이지에 있는 모든 페이월 섹션에 클래스 이름을 추가합니다. 예:
    <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>
  2. 구조화된 NewsArticle 데이터를 추가합니다.
  3. 강조표시되고 구조화된 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, and 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"]

AMP 고려사항

AMP 페이지를 사용할 때 고려해야 할 사항은 다음과 같습니다.

  • 페이월 콘텐츠가 포함된 AMP 페이지가 있으면 적절한 경우 amp-subscriptions를 사용합니다.
  • Google 등의 관련 크롤러가 콘텐츠에 액세스하도록 승인 엔드포인트가 허용해야 합니다. 이는 게시자마다 다릅니다.
  • AMP 페이지와 AMP가 아닌 페이지에 적용되는 크롤러 액세스 정책이 동일해야 합니다. 그렇지 않으면 Search Console에 콘텐츠 불일치 오류가 표시될 수 있습니다.

Google에서 페이지를 크롤링하고 색인을 생성할 수 있어야 합니다

Google에서 페이월 섹션을 포함한 콘텐츠를 크롤링하고 색인을 생성하기를 원하는 경우 Googlebot(그리고 해당하는 경우 Googlebot-News)이 페이지에 액세스할 수 있도록 해야 합니다.

URL 검사 도구를 사용하여 Google이 사이트에서 URL을 크롤링하고 렌더링하는 방식을 테스트합니다.

검색결과에 표시되는 정보 관리

Google에서 페이지의 저장된 페이지 링크를 표시하지 않도록 하려면 noarchive 로봇 메타 태그를 사용합니다.

콘텐츠의 특정 섹션이 검색결과 스니펫에 표시되지 않도록 하려면 data-nosnippet HTML 속성을 사용하세요. max-snippet 로봇 메타 태그를 사용하여 검색결과 스니펫에서 사용할 수 있는 문자 수를 제한할 수도 있습니다.

문제 해결

구조화된 데이터를 구현하거나 디버깅하는 데 문제가 있다면 다음 리소스를 참고하세요.

  • 콘텐츠 관리 시스템(CMS)을 사용하거나 다른 사람이 내 사이트를 관리한다면 도움을 요청하세요. 문제를 자세히 설명하는 모든 Search Console 메시지를 CMS나 관리자에게 전달해야 합니다.
  • Google은 구조화된 데이터를 사용하는 기능이라고 해서 검색결과에 표시된다고 보장하지 않습니다. Google에서 콘텐츠를 리치 결과로 표시할 수 없는 일반적인 이유 목록은 구조화된 데이터 일반 가이드라인을 참고하세요.
  • 구조화된 데이터에 오류가 있을 수 있습니다. 구조화된 데이터의 오류 목록을 확인하세요.
  • 페이지에 구조화된 데이터 직접 조치를 취하는 경우 페이지에 있는 구조화된 데이터는 무시됩니다. 하지만 페이지는 계속 Google 검색결과에 표시될 수 있습니다. 구조화된 데이터 문제를 해결하려면 직접 조치 보고서를 사용하세요.
  • 가이드라인을 다시 검토하여 콘텐츠가 가이드라인을 준수하지 않는지 확인합니다. 스팸성 콘텐츠 또는 스팸성 마크업의 사용으로 인해 문제가 발생할 수 있습니다. 하지만 해당 문제가 구문 문제가 아닐 수도 있고, 이 경우 리치 결과 테스트에서는 이 문제를 식별할 수 없습니다.
  • 누락된 리치 결과/총 리치 결과 수 감소 문제를 해결하세요.
  • 다시 크롤링이 이루어지고 색인이 생성될 때까지 기다리세요. 페이지가 게시된 후 Google에서 페이지를 찾고 크롤링하기까지 며칠 정도 걸릴 수 있습니다. 크롤링 및 색인 생성에 관한 일반적인 질문은 Google 검색 크롤링 및 색인 생성 FAQ를 참고하세요.
  • Google 검색 센터 업무 시간에 궁금한 점을 물어보세요.
  • Google 검색 센터 포럼에 질문을 올려보세요.