Skip to main content

Content Protection

Content protection is the core feature of PaywallWP Pro. It allows you to restrict access to posts, pages, and custom post types based on subscription levels.

How It Works

  1. Access Levels — Each piece of content has an access level (0-10)
  2. Subscription Plans — Each plan grants an access level to subscribers
  3. Access Check — User's subscription level must meet or exceed content's level
Content Level: 2
User Level: 3
Result: ✅ Access granted (3 >= 2)

Content Level: 5
User Level: 3
Result: ❌ Paywall shown (3 < 5)

Access Levels Explained

LevelDescriptionUse Case
0PublicNo restriction, anyone can view
1BasicEntry-level premium content
2-3StandardMid-tier content
4-5PremiumHigh-value content
6-10VIP/EnterpriseExclusive or specialized content
Strategy

Create 2-3 subscription tiers with different access levels. For example:

  • Basic Plan: Level 2
  • Premium Plan: Level 5
  • VIP Plan: Level 10

Protecting Individual Posts

Using the Meta Box

  1. Edit any post or page
  2. Find the Content Protection meta box in the sidebar
  3. Select the Access Level required
  4. Update/Publish the post

Quick Edit

For bulk changes:

  1. Go to Posts → All Posts
  2. Hover over a post and click Quick Edit
  3. Set the Access Level
  4. Click Update

Protecting Post Types

Enable protection for different content types:

  1. Go to PaywallWP → Settings → Content
  2. Under Protected Post Types, enable:
    • Posts
    • Pages
    • Custom post types (if available)
  3. Save Settings

Excluding Content

Exclude by Category

Always keep certain categories public:

  1. Go to PaywallWP → Settings → Content
  2. Under Exclude Categories, select categories to exclude
  3. Posts in these categories will always be public

Exclude Individual Posts

Set access level to 0 on any post to make it public.

Paywall Display

When a user can't access content, they see:

  1. Excerpt — A preview of the content
  2. Blur Effect — Remaining content is blurred
  3. Paywall Message — Customizable call-to-action
  4. Subscribe Button — Links to pricing page or opens checkout
  5. Login Link — For existing members

Customizing the Paywall

Go to PaywallWP → Settings → General:

SettingDescription
Paywall TitleHeadline (e.g., "Premium Content")
Paywall MessageDescription text
Button TextSubscribe button label
Excerpt LengthWords shown before paywall
Blur Intensity0-20 (0 = no blur)

Partial Content Protection

Use shortcodes to protect specific sections within a post:

Protected Section

[paywp_protected level="2"]
This content is only visible to users with access level 2 or higher.
[/paywp_protected]

Users without access see a message prompting them to subscribe.

Member-Only Section

[paywp_member]
This content is completely hidden from non-members.
No message or subscribe prompt is shown.
[/paywp_member]

See Shortcodes Reference for all options.

Administrator Access

Administrators always have access to all content, regardless of access level. This allows you to:

  • Preview protected content
  • Test the paywall appearance
  • Manage content without restrictions

To test as a non-admin:

  • Use an incognito browser window
  • Create a test subscriber account
  • Use browser tools to log out

SEO Considerations

Search Engine Indexing

By default, search engines see your protected content to enable indexing. This is important for SEO but controlled by settings:

  1. Go to PaywallWP → Settings → Content
  2. Configure SEO Bot Access:
    • Show Full Content — Search engines see everything
    • Show Excerpt Only — Search engines see preview only

Schema Markup

PaywallWP Pro adds appropriate schema markup for paywalled content:

{
"@type": "WebPage",
"isAccessibleForFree": false,
"hasPart": {
"@type": "WebPageElement",
"isAccessibleForFree": false,
"cssSelector": ".paywall-content"
}
}

This tells Google the content is behind a paywall, following their guidelines.

Caching Compatibility

If you use a caching plugin, protected content might be cached incorrectly:

Enable Cache Compatibility

  1. Go to PaywallWP → Settings → Advanced
  2. Enable Cache Compatibility Mode
  3. Clear your cache

This loads protection via AJAX, bypassing cached pages.

Exclude from Cache

Alternatively, configure your caching plugin to exclude:

  • Pages with logged-in users
  • Pages with specific cookies (paywp_*)

Best Practices

Content Strategy

  • Teaser Content — Give enough preview to entice
  • Clear Value — Make premium value obvious
  • Consistent Levels — Use levels consistently across content
  • Free Samples — Keep some content free to build trust

Technical Tips

  • Test Regularly — Check paywall appearance in incognito
  • Monitor Analytics — Track conversion from paywall
  • Clear Cache — After changing settings, clear cache
  • Mobile Testing — Verify paywall works on mobile

Troubleshooting

Content Not Protected

  • Verify access level is greater than 0
  • Check post type is enabled in settings
  • Clear cache if using caching plugin
  • Ensure you're not logged in as admin

Paywall Not Showing

  • Check you're testing as a non-admin user
  • Verify the protection settings are saved
  • Enable cache compatibility mode
  • Check for JavaScript errors in console

Protected Content Visible

  • Enable cache compatibility mode
  • Clear all caches (page, object, CDN)
  • Check your CDN isn't caching protected pages

Next Steps