> For the complete documentation index, see [llms.txt](https://docs.themeupstudio.com/crimson/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.themeupstudio.com/crimson/posts/post-access.md).

# Post 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

<details>

<summary>People say the post is locked but it’s supposed to be public</summary>

Check the post’s visibility:

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

</details>

<details>

<summary>Comments disappeared completely</summary>

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.

</details>

<details>

<summary>A paid member can’t comment</summary>

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)

</details>

<details>

<summary>The comments CTA doesn’t match what I expected</summary>

Remember the two-lock rule:

* Global comments setting can only restrict
* Post access can still block both reading and commenting

</details>
