file-lockPost Access

Ghost membership gating affects two separate experiences on a post:

  1. Reading access (content gating) Whether the visitor can read the full post content.

  2. Commenting access Whether the visitor can view/leave comments, and what CTA is shown instead.

Crimson implements both:

  • A Content CTA when the post is restricted (locked content).

  • A Comments area that either shows comments or shows the correct Comments CTA, based on:

    • Ghost’s site-wide “Who can comment?” rule

    • the visitor’s membership/access

    • and the post’s own access restriction

Post Access Levels (per-post visibility)

Every Ghost post can be set to one of these access levels:

A) Public

  • Anyone can read the full post.

B) Members Only

  • Only logged-in members (free + paid) can read the full post.

C) Paid Members Only

  • Only paid members (any paid plan) can read the full post.

D) Specific Tiers

  • Only members subscribed to the required tier(s) can read the post.


How Crimson reacts (content gating)

When a visitor does not have access to the post, Crimson shows:

  1. A sneak peek (partial content), followed by

  2. A Content CTA explaining what’s required to unlock the rest.

Content CTA messaging adapts to the restriction

Crimson’s messaging changes based on the post’s access level:

  • Members Only post

    • Prompts the visitor to become a free member (or sign in).

  • Paid Members Only post

    • Prompts the visitor to subscribe to a paid plan.

  • Specific Tiers post

    • Prompts the visitor to subscribe to one of the required tiers

    • The required tier names are listed in the CTA.

Content CTA also adapts to visitor state

Crimson changes the CTA depending on whether the visitor is already a member:

  • Logged out

    • CTA encourages sign up / subscribe

    • Also offers a Sign in link

  • Logged in but insufficient access

    • CTA thanks them for being a member

    • Asks them to upgrade (or switch tier) to unlock the rest


Comments settings

Ghost provides a global admin setting: Who can comment on posts?

  • All Members

  • Paid Members Only

  • Nobody

In theme terms, this maps to two site-level signals:

  • Comments enabled/disabled (overall switch)

  • Comments access mode: all, paid, or off

Key rule: global comments rules can only restrict, never expand

Crimson follows this principle:

  • If the site-wide setting is Nobody (or comments are disabled):

    • Comments are hidden entirely.

    • No CTA is shown in place of comments.

  • If comments are allowed site-wide (All Members or Paid Members Only):

    • The visitor must satisfy the site-wide rule and

    • The visitor must also have access to the post


Commenting requires BOTH locks to be open

Crimson treats commenting as gated by two locks:

Lock A) Site-wide permission

  • All Members vs Paid Members Only vs Nobody

Lock B) Post access (“Can you read this post?”)

  • Public / Members / Paid / Specific Tier

Result:

Even if someone is a paid member, they still must have access to the post. Example: a tier-restricted post requires the correct tier to read → and therefore to comment.


What appears in the Comments area (exact behaviors)

Below is an accurate “what renders” matrix for the comments area.

A) Global comments setting = Nobody (or comments disabled)

Result

  • ✅ Comments section is completely hidden

  • ✅ No comments CTA is shown

This is the most restrictive mode and overrides everything else.


B) Global comments setting = All Members

If the visitor HAS access to the post

  • Logged-in member (free or paid): ✅ Comments are shown.

  • Logged out: 🚧 Comments CTA is shown: “Sign up to join the discussion” (plus sign-in link)

If the visitor does NOT have access to the post

Crimson shows a comments CTA aligned with the post restriction:

  • Members Only post: 🚧 CTA prompts to sign up / sign in to join the discussion.

  • Paid Members Only post: 🚧 CTA indicates comments are for premium members and prompts to subscribe/upgrade.

  • Specific Tiers post: 🚧 CTA indicates comments are for selected tiers and points toward tier-based membership options.

Interpretation Even though the site allows “All Members,” the post’s restriction still controls who can comment, because it controls who can access/read the post.


C) Global comments setting = Paid Members Only

If the visitor HAS access to the post

  • Paid member: ✅ Comments are shown.

  • Free member or logged out: 🚧 CTA indicates comments are for premium members only and prompts to subscribe/upgrade.

If the visitor does NOT have access to the post

Crimson still respects both locks and shows the more appropriate premium/tier messaging:

  • Members Only post: 🚧 Still shows premium-only comments CTA (because site-wide paid-only is more restrictive than “members”)

  • Paid Members Only post: 🚧 Premium-only comments CTA (consistent)

  • Specific Tiers post: 🚧 “Selected tiers only” style CTA pointing toward membership options for the required tiers

Interpretation When the site is paid-only for comments, being a free member is never enough to comment—regardless of whether the post itself is “Members Only.”


The CTAs you’ll see (by scenario)

A) Content CTA (shown when post is locked)

  • Public: no content CTA

  • Members Only: “Remaining content is for members only…” → become a free member / sign in

  • Paid Members Only: “Remaining content is for paid members only…” → subscribe to any paid plan

  • Specific Tiers: “Remaining content is for members on [Tier A / Tier B]…” → subscribe to one of these tiers

B) Comments CTA (shown when comments are allowed but user can’t comment)

Common situations:

  • Logged out + comments require membership: “Sign up to join the discussion”

  • Free member + comments require paid: “Access to comments is for premium members only” → upgrade prompt

  • Tier-restricted post + insufficient tier: “Comments are for selected tiers only” → tier-focused messaging

C) Nothing shown (comments fully hidden)

  • Global comments setting = Nobody

  • OR comments disabled site-wide


Practical examples (sanity checks)

Example 1

Post: Public Global comments: All Members

  • Anyone can read

  • Only logged-in members can comment

  • Logged-out visitors see a comments CTA

Example 2

Post: Paid Members Only Global comments: All Members

  • Only paid members can read

  • Only members with access can comment → effectively paid members only

  • Logged-out/free members see CTA aligned with paid access

Example 3

Post: Members Only Global comments: Paid Members Only

  • Free members can read

  • But only paid members can comment (global is more restrictive)

  • Free members see premium comments CTA

Example 4

Post: Specific Tier Global comments: Paid Members Only

  • Paid member on the wrong tier cannot read → cannot comment

  • Correct-tier paid members can read + comment

  • Wrong-tier paid members see tier-focused CTA


Troubleshooting

chevron-rightPeople say the post is locked but it’s supposed to be publichashtag

Check the post’s visibility:

  • Open post → Post settings (⚙️) → Access/Visibility Ensure it’s set to Public.

chevron-rightComments disappeared completelyhashtag

Check your global comments setting:

  • If set to Nobody, Crimson hides comments and shows no CTA (by design).

  • Also confirm comments aren’t disabled site-wide.

chevron-rightA paid member can’t commenthashtag

Two common reasons:

  1. Global comments is Paid Members Only and they’re actually on a free plan

  2. The post is Specific Tier and they don’t have the required tier (they may be paid, but not the right tier)

chevron-rightThe comments CTA doesn’t match what I expectedhashtag

Remember the two-lock rule:

  • Global comments setting can only restrict

  • Post access can still block both reading and commenting

Last updated