퍼블리셔 가이드, 4장
페이월
마지막 검토: 2026년 11월
페이월은 독자가 더 보고 싶어질 만큼 충분히 본 뒤에 나타날 때 가장 잘 작동합니다. 너무 빡빡하게 설정하면 새 독자가 귀사의 저널리즘을 알기도 전에 떠나고, 너무 느슨하면 구독을 요청하는 일이 없어집니다. Google의 Flexible Sampling 지침이 유용한 출발점을 제시하며, 이 장에서는 페이월을 마크업하고 각 화면에 보여 주는 방법을 다룹니다.
미터 설정하기
Google은 일일 미터보다 월간 미터를 권장합니다. 월간 미터는 테스트할 여지가 더 크고, 페이월이 주로 참여도가 가장 높은 독자에게 보이게 합니다.
- 대부분의 일간 뉴스 퍼블리셔에게 Google이 예상하는 수치는 독자 1명당 월 6~10개 기사입니다.
- Google은 검색에서 유입된 독자에게 월 10개 무료 기사로 시작한 뒤 조정할 것을 제안합니다.
- 정확한 숫자는 퍼블리셔가 정합니다. 검색 독자가 지금과 비슷한 확률로 페이월을 만나게 되는 수치를 찾으세요.
Google은 페이월이 10% 넘는 비율로 표시되면 전반적인 사용자 만족도가 크게 떨어지기 시작하며, 이는 일반적으로 전체 독자의 약 3%가 페이월을 본 경우에 해당한다고도 보고합니다. 미터는 조금씩 바꾸세요. Google은 접근을 제한하면 기사의 순위에 영향을 줄 수 있다고 경고합니다.
도입부 보여 주기
미터가 소진된 뒤에도 처음 몇 문장은 계속 보여 주세요. Google은 이를 좋은 방식이라고 부르는데, 독자가 기사의 가치를 알 수 있고 구독할 가능성이 더 커질 수 있기 때문입니다. 헤드라인, 바이라인, 날짜, 도입부는 모두 안내창 위에 계속 보여야 합니다.
유료 부분 마크업하기
구조화된 데이터를 사용하면 Google이 유료 콘텐츠와 클로킹을 구분할 수 있습니다. isAccessibleForFree를 false로 설정하고, hasPart가 유료 구간을 감싸는 클래스를 가리키게 하세요.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"headline": "Article headline",
"datePublished": "2026-11-05T08:00:00+01:00",
"isAccessibleForFree": false,
"hasPart": {
"@type": "WebPageElement",
"isAccessibleForFree": false,
"cssSelector": ".paywall"
}
}
</script>
<div class="lead-in">The free opening of the article.</div>
<div class="paywall">The paid part of the article.</div>
Google의 세 가지 규칙이 적용됩니다.
.class선택자만 사용하세요.- 유료 구간을 중첩하지 마세요.
- 유료 구간이 여러 개라면
hasPart를 구간마다 항목이 하나씩 있는 배열로 만드세요.
클로킹 피하기
클로킹은 순위를 조작하려고 검색 엔진에는 사람이 보는 것과 다른 콘텐츠를 보여 주는 것을 뜻합니다. Google은 접근 권한이 있는 사람처럼 Google도 페이월 뒤의 전체 콘텐츠를 볼 수 있고 Flexible Sampling 지침을 따른다면 페이월은 클로킹이 아니라고 설명합니다.
따라서 페이월을 어디에 둘지 선택해야 합니다.
| 페이월 유형 | 작동 방식 | 주의할 점 |
|---|---|---|
| 클라이언트 측 | 전체 텍스트가 브라우저에 도달하고 스크립트가 이를 숨깁니다 | 스크래퍼를 포함해 누구나 페이지 소스에서 텍스트를 읽을 수 있습니다 |
| 서버 측 | 방문자에게 접근 권한이 없으면 서버가 도입부만 보냅니다 | 모든 요청에 접근 권한 확인이 필요합니다 |
Google은 콘텐츠가 브라우저에 도달해서는 안 된다면 그것을 전달하지 않는 구현을 선택해야 한다고 말합니다.
서버가 Googlebot에게 전체 텍스트를 제공한다면, 먼저 모든 요청을 검증하세요. IP 주소에 대해 역방향 DNS 조회를 하고, 호스트가 googlebot.com, google.com, googleusercontent.com 중 하나인지 확인한 다음, 정방향 조회를 해서 같은 주소가 나오는지 확인합니다. Google이 공개한 IP 대역과 대조할 수도 있습니다. User-Agent만 확인하면 Googlebot의 이름을 베낀 모든 스크래퍼에게 기사를 내주게 됩니다. 이 내용은 AI 스크래핑 장에서 더 자세히 다룹니다.
페이월을 잘 보여 주기
안내창은 도입부 바로 뒤, 페이지 안에 두세요. 인라인 패널은 포커스를 가둘 필요가 없고, 독자가 자유롭게 뒤로 갈 수 있으며, Google이 평가할 오버레이도 더하지 않습니다. 오버레이를 꼭 써야 한다면 팝업 장의 모달 패턴대로 만드세요.
모바일에서
- 도입부를 전부 보여 주고, 그 아래에 안내창을 두세요.
- 가격과 주요 동작은 안내창의 처음 몇 줄에 넣으세요.
- 접근 확인이 끝났을 때 페이지가 튀지 않도록 패널의 공간을 확보하세요.
- 구독과 로그인 동작에는 44 x 44 CSS 픽셀의 탭 대상을 사용하세요.
데스크톱에서
- 안내창은 기사 열 안에 본문과 같은 너비로 두세요.
- 안내창 뒤에 흐릿하게 처리한 기사를 두지 마세요. CSS로 가린 텍스트는 HTML에 남아 있고, 스크린 리더가 여전히 읽을 수 있습니다.
- 사이트 탐색이 계속 작동하게 두어, 독자가 무료 콘텐츠로 이동할 수 있게 하세요.
모든 독자를 위해
- 미터가 소진된 뒤가 아니라 소진되기 전에 남은 무료 기사 수를 알려 주세요.
- 제안의 첫 화면에서 가격, 청구 주기, 해지 방법을 알려 주세요.
- 제안 옆에 기존 구독자를 위한 로그인 링크를 두세요.
- 독자가 비밀번호를 붙여넣고 비밀번호 관리자를 사용할 수 있게 하세요. WCAG 2.2 성공 기준 3.3.8은 로그인 시 기억력 테스트를 제한합니다.
- 유료 텍스트는 RSS 피드에 넣지 마세요. 헤드라인, 짧은 설명, 링크면 충분합니다.
체크리스트
- 가능하다면 일일 미터에서 월간 미터로 바꾸세요.
- 검색 독자에게 월 10개 무료 기사로 시작하고, 변경할 때마다 그 효과를 기록하세요.
- 미터가 소진된 뒤에도 헤드라인, 바이라인, 날짜, 도입부가 보이게 하세요.
- 모든 유료 기사 템플릿에
isAccessibleForFree와hasPart를 추가하세요. -
cssSelector의 클래스가 페이지에 있고 중첩되지 않았는지 확인하세요. - 클라이언트 측 제공과 서버 측 제공 중 하나를 정하고, 그 이유를 기록하세요.
- Googlebot은 User-Agent만으로 확인하지 말고 DNS나 IP 대역으로 검증하세요.
- Search Console의 URL 검사 도구로 유료 기사를 확인하세요.
- 안내창을 인라인으로 옮기고, 휴대폰과 키보드로 테스트하세요.
- 피드에 유료 텍스트가 없는지 확인하세요.
출처
- Subscription and Paywalled Content Markup, Google Search Central
- Flexible Sampling Guidelines, Google Search Central
- Spam Policies for Google Web Search, Google Search Central
- Verify Requests from Google Crawlers and Fetchers, Google
- Web Content Accessibility Guidelines (WCAG) 2.2, W3C
- Understanding Target Size (Enhanced), W3C WAI