structured-data.paywall-invalid

WarningSEO audit

Paywalled content markup Google cannot use: isAccessibleForFree is false but hasPart names no paywalled section, or the section's cssSelector is not a .class selector (warning); no element in the HTML has that class (info). Without it, Google cannot tell a paywall from cloaking.

What to change

Give the object a hasPart of type WebPageElement with "isAccessibleForFree": false and a cssSelector that is a single class (".paywall"), and give the element that holds the paywalled text that class in the HTML.

The documentation on developers.google.com

A finding of this rule on a page carries the exact edits for that page: the markup it quotes, and what to write instead.

When it runs

Runs on every SEO audit: of a page, a crawl, a build directory or HTML. A warning is a problem that costs a page ranking, clicks or citations. Each finding takes 5 points off the page's score.

The severity here is the rule's usual one: a finding can be raised or lowered when the page gives a reason.

Run it, or skip it

Check a page for this rule alone, after a fix for instance:

npx @rivi-software/agentic-seo-check audit https://example.com --rule structured-data.paywall-invalid

Or from an assistant, with the MCP tool seo_audit_page:

{
  "url": "https://example.com",
  "rules": [
    "structured-data.paywall-invalid"
  ]
}

To leave it out of an audit, pass --disable structured-data.paywall-invalid on the command, or disableRules: ["structured-data.paywall-invalid"] to a tool.

All 14 rules