Skip to content
osmods
Ghost

Members-only mode

The whole site behind membership: posts, archives, search and feeds.

View upstream
AuthorJonas Lindqvist
PublishedJul 2026
LicenseMIT
Installs63

Why it exists

Some publications are not funnels; they are clubs. Ghost can make each post members-only, but the homepage, archives and feeds still leak titles and summaries to the open web.

This mod closes the whole surface: everything requires a session except the pages you explicitly leave public, like the about page and the signup flow.

What it does

  • Everything members-only except an explicit allowlist
  • Feeds and search respect membership
  • Logged-out visitors land on a clean signup page

The spec

These acceptance criteria were written with the person who requested the mod, then locked in as its tests. The mod has to pass them on every new release train before it rides along.

  • A logged-out request to any non-allowlisted URL never leaks post content, titles included
  • Allowlisted pages stay public across upgrades

mods/members-only/tests/surface.spec.js

test("logged-out visitors see no post content", async () => {
  for (const url of crawlSiteMap()) {
    const page = await anonymous.visit(url)
    if (allowlist.has(url)) continue
expect(page.text).not.toContainAnyOf(postTitles)
  }
})