Mark a course Free or Members-only
Control access with #free, #paid, #preview and Ghost post visibility so members-only content is gated correctly.
Mark a course Free or Members-only
Access control combines two things: internal tags that tell the theme how to present a course, and Ghost's native post visibility that actually enforces who can read the content. Getting both aligned is what makes a members-only course display a lock badge and genuinely gate the body.
For presentation, tag the course and its lessons with either #free or #paid. The #free tag marks content that is open to everyone; #paid marks content that requires a paid membership. These drive card badges and lock icons in listings so learners can see at a glance what is included.
Tags alone do not restrict reading — you must also set Ghost's post visibility to match. In each paid post's settings, set Visibility to Members or to specific Tiers. Ghost then enforces the gate: non-members see the excerpt and a call to sign up, while members with the right tier read the full lesson.
Free course: tag #free + Post visibility = Public
Paid course: tag #paid + Post visibility = Members (or specific Tiers)
Sample a lesson: tag #preview + keep the lesson readable so anyone can try it
To let prospects sample a paid course, add the #preview tag to one or two lessons. A previewed lesson stays readable even in an otherwise locked course, which is a proven way to convert browsers into members — they experience the teaching quality before subscribing. Keep those preview lessons' visibility public.
A consistency tip: apply the same access model to the course landing post and all its lessons. A common mistake is marking the course #paid but leaving individual lesson posts public, which lets the content leak. Decide the access model once, then apply the matching tag and visibility to every post in the course. With access handled, you have the full course-authoring toolkit; the Internal Tags Reference section documents every remaining presentation tag.