Which value marks an article as restricted in paywall structured data?

The Citead team, updated

In short. Use the Boolean false on isAccessibleForFree for a restricted article and on each paywalled WebPageElement.

Definition: Set isAccessibleForFree to the Boolean value false when an article is behind a paywall or requires registration. In the article's structured data, use the same value on each WebPageElement that represents a restricted section.

Key facts

  • Google's subscription and paywalled content documentation sets isAccessibleForFree to false for a section behind a paywall.
  • The Google example places isAccessibleForFree on NewsArticle and on a nested WebPageElement under hasPart.
  • Schema.org describes isAccessibleForFree as a flag for whether an item, event, or place is accessible for free, with Boolean as its expected type.
  • Google supports the paywall markup for CreativeWork and more specific types including Article, NewsArticle, Blog, and WebPage.
  • Google says to add a class name around each paywalled section and use that class in hasPart.cssSelector.

What value represents a restricted article?

The value is false. Google defines the field as a Boolean and says to set it to false when the article is behind a paywall or requires a subscription or registration. The same guide was last updated on 8 September 2026 and applies to content that you want crawled and indexed.

Schema.org's isAccessibleForFree property describes the field as a flag that signals whether the item is accessible for free. Its page lists Boolean as the expected type, so JSON-LD uses the JSON literal false or true, rather than a quoted string.

Where does the Boolean go on the article?

Google's markup example uses false twice. The first value belongs to the NewsArticle object and describes the article's restricted access. The second belongs to a WebPageElement inside hasPart and identifies the restricted section. The section is connected to page content through a CSS class.

{
  "@type": "NewsArticle",
  "isAccessibleForFree": false,
  "hasPart": {
    "@type": "WebPageElement",
    "isAccessibleForFree": false,
    "cssSelector": ".paywall"
  }
}

The cssSelector value points to the class wrapped around the paywalled HTML. Google says to use only .class selectors for this property. If a page has multiple restricted sections, its documentation says to provide the class names as an array, with one WebPageElement for each section.

Which article types can use it?

Google documents this markup for the CreativeWork type and lists Article, NewsArticle, Blog, and WebPage as more specific supported types. The paywall example uses NewsArticle structured data and says to apply the steps to all versions of the page, including AMP and non-AMP.

The article-level value describes the access state of the article object. The nested value describes a section referenced by hasPart; Google separately documents hasPart.cssSelector as a selector for the class set in the HTML. This lets the structured data identify both the article state and the page region covered by the restriction.

FAQ

Should the value be the string "false"?

No. Schema.org gives isAccessibleForFree the expected type Boolean, and Google's JSON-LD example uses the unquoted JSON value false.

Where should the section value be placed?

Place it on a WebPageElement inside the article's hasPart property. Set that object's cssSelector to the class used around the restricted section.

What value represents free access?

The Boolean value true represents access for free in Schema.org's examples. The restricted article case documented by Google uses false.

Sources

  1. Google Search Central, "Subscription and Paywalled Content Markup", 8 September 2026
  2. Schema.org, "isAccessibleForFree", undated

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark