Ghost Posts and Pages — Differences, Publish States, Scheduling and Excerpts
In this tutorial, you'll learn how Ghost handles posts and pages - the two content types - their differences, the publishing workflow from draft to published, scheduling future content, and managing excerpts for listings.
What You'll Learn
- The difference between posts and pages in Ghost
- When to use a post vs when to use a page
- The four publish states: Draft, Published, Scheduled, Unpublished
- Scheduling posts for future publication
- Creating and managing post excerpts
- Post visibility settings: public, members-only, paid-members-only
- Featured posts and how they work in themes
- Bulk actions for managing multiple posts
- Post settings: URL slug, feature image, metadata
Why It Matters
Understanding the difference between posts and pages is the first content decision you make in Ghost. Use the wrong type and your content appears in the wrong place - a page in the blog feed, or a post as a permanent static page. Knowing the publish states helps you control exactly when and to whom content is visible. This is especially important for membership sites where some content is public, some is for members, and some is for paid subscribers only.
Real-World Use
A cooking blog publishes weekly recipes as posts (they appear in the blog feed and RSS). The "About" page, "Contact" page, and "Privacy Policy" are pages (static, no date, not in the feed). The author drafts a premium recipe series, schedules the first three to publish weekly, gates them behind the paid membership tier, and writes a short excerpt that appears in the weekly newsletter preview.
Learning Path
flowchart LR A["Ghost Migration"] --> B["Posts & Pages
You are here"]:::current B --> C["Tags & Taxonomy"] C --> D["Authors"] classDef current fill:#38bdf8,color:#0f172a,stroke-width:2px
Posts vs Pages
Ghost has exactly two content types: posts and pages. This is intentional - Ghost is a publishing platform, not a general-purpose CMS. It does not have custom post types like WordPress.
Posts
Posts are time-based content that appears in reverse chronological order in your blog feed. They are the default content type for articles, news, blog entries, and any content that benefits from a publication date.
Characteristics of posts:
- Appear in the blog feed (the main page of your Ghost site)
- Appear in RSS feeds
- Have a published date that is displayed
- Can be featured (pinned to the top)
- Can be sent as newsletters
- Can have access levels (public, members, paid)
- Can be scheduled for future publication
Pages
Pages are static, timeless content that exists outside the blog feed. They are used for content that does not change frequently.
Characteristics of pages:
- Do NOT appear in the blog feed
- Do NOT appear in RSS feeds
- Have no published date displayed (though the date is stored)
- Cannot be featured
- Cannot be sent as newsletters
- Can have access levels (public, members, paid)
- Cannot be scheduled (published immediately or saved as draft)
When to Use Each
| Use Case | Content Type | Why |
|---|---|---|
| Blog article | Post | Time-based, appears in feed |
| News announcement | Post | Time-based, appears in feed |
| Recipe | Post | Benefits from date ordering |
| About page | Page | Static, not time-based |
| Contact page | Page | Static content |
| Privacy Policy | Page | Rarely changes, not in feed |
| Product documentation | Page | Reference content |
| Landing page | Page | Standalone, not in feed |
Publish States
Ghost has four content states.
Draft
A draft is visible only to authors and editors in the admin panel. It is not accessible on the public site.
flowchart LR
A["New Post"] --> B["Draft"]
B --> C{"Action?"}
C -->|"Publish now"| D["Published"]
C -->|"Set date"| E["Scheduled"]
D --> F["Unpublish"]
F --> B
style B fill:#fbbf24,color:#0f172a
style D fill:#4ade80,color:#0f172a
style E fill:#38bdf8,color:#0f172a
Published
A published post is live on the public site. It is visible according to its access setting (public, members-only, or paid-members-only). Published posts appear in the blog feed, RSS, and sitemap.
You can unpublish a published post to return it to draft status. This removes it from the public site but preserves all content and settings.
Scheduled
A scheduled post has a future publish date. Ghost automatically publishes it at the specified time. You can:
- Edit scheduled posts before they go live
- Cancel the schedule (return to draft)
- Change the scheduled date
Scheduling is only available for posts, not pages.
Unpublished
When you unpublish a published post, it returns to draft status. The URL becomes inaccessible. If you republish later, you can choose a new URL slug.
Creating and Managing Posts
Creating a New Post
- In the admin sidebar, click "Posts."
- Click the "New Post" button.
- Write your content using the Koenig editor.
- Configure settings: feature image, excerpt, slug, access level, newsletter toggle.
- Choose action: Save draft, Publish, or Schedule.
Post Settings
In the post editor's settings panel (right sidebar), you can configure:
- Post URL: The URL slug. Ghost generates this from the title but you can customize it.
- Publish Date: For scheduled posts, set the exact date and time.
- Featured Post: Toggle to mark this post as featured.
- Members Access: Public (anyone), Members only (signed-in), Paid members only.
- Newsletter: Toggle whether this post is sent as an email.
- Email Subject: Override the email subject line (defaults to post title).
- Email Only: If enabled, the post is sent as email but not published on the site (requires Labs feature).
- Meta Title: Custom title for search engines.
- Meta Description: Custom description for search snippets.
- Canonical URL: Original source URL if this content is republished.
- Social Images: Custom images for Twitter and Facebook sharing.
- Excerpt: Short description shown in post listings and feeds.
Bulk Actions
In the Posts list view, you can select multiple posts and perform bulk actions:
- Publish: Publish all selected drafts
- Unpublish: Unpublish all selected published posts
- Feature: Toggle featured status
- Change access: Set all to public, members, or paid
- Delete: Permanently delete selected posts
- Send newsletter: Send selected posts as emails
Featured Posts
Featured posts are marked with a special flag. How they display depends on your theme - many themes show featured posts in a hero section or slider at the top of the blog feed rather than in chronological order.
To feature a post:
- Open the post in the editor.
- Open the settings panel.
- Toggle "Featured Post" on.
You can feature multiple posts, but typically themes only highlight the first 3-5 featured posts.
Post Excerpts
An excerpt is a short summary of the post. It appears in:
- Post listings (blog feed, tag pages, author pages)
- RSS feed
- Email newsletters
- Search results (if no meta description is set)
- Social media previews (if no Open Graph description is set)
Setting an Excerpt
In the post settings panel, the Excerpt field accepts plain text. Ghost automatically generates an excerpt from the post's first paragraph if you do not provide one.
# Example excerpt in a theme template
<p class="post-excerpt">{{excerpt words="30"}}</p>
Excerpts should be 1-3 sentences that summarize the post and make readers want to click.
Post Visibility and Access Control
Ghost's visibility settings gate content behind membership levels.
Public
Visible to anyone who visits the site. No signup required. Use for:
- Free content that attracts visitors
- SEO-optimized articles that drive organic traffic
- Sample content that encourages signups
Members Only
Visible only to logged-in members. Use for:
- Free subscriber content (email signup required)
- Content that builds your email list
- Exclusive articles for registered users
Paid Members Only
Visible only to members with an active paid subscription. Use for:
- Premium content behind paywall
- Paid newsletter content
- Exclusive resources for paying subscribers
The visibility setting applies to both the post page and the post's appearance in feeds. Members-only posts show a teaser with a signup prompt to non-members.
Common Mistakes
Writing an "About" page as a post: About pages appear in the blog feed, pushing your latest articles down. They do not belong in a chronological feed. Always use pages for static content like About, Contact, and Privacy Policy.
Forgetting to set the access level: A post intended for paid members only will be public by default if you forget to change the visibility setting. Always check the access level before publishing, especially on membership sites where content should be gated.
Not setting an excerpt: Without an excerpt, Ghost uses the first paragraph as a preview. If that paragraph is long or contains formatting, the preview looks bad in listings. Always set a clean, 1-2 sentence excerpt.
Scheduling without checking the timezone: Ghost uses the site timezone set in Settings. If you schedule a post for "9 AM" but the timezone is UTC and you are in New York, the post publishes at 5 AM your time. Verify your timezone setting before scheduling.
Deleting instead of unpublishing: Deleting a post is permanent. If you just want to remove a post from the public site temporarily, unpublish it instead. Unpublished posts can be edited and republished. Deleted posts are gone forever.
Practice Questions
What is the primary difference between a post and a page in Ghost? Answer: Posts appear in the blog feed and RSS, have a visible publish date, can be featured and scheduled, and can be sent as newsletters. Pages are static, do not appear in feeds, cannot be featured or scheduled, and cannot be sent as newsletters.
What happens when you schedule a post for future publication? Answer: The post is saved as "Scheduled" with the specified publish date. Ghost automatically publishes it at that date and time. You can edit or unschedule it before it goes live. Scheduled posts are not visible on the public site until the publish time.
How does the members-only visibility setting affect a post's appearance? Answer: Members-only posts are only visible to logged-in members. Non-members see a teaser with the post title and a prompt to sign up or log in. The post does not appear in RSS feeds or search results for non-members.
Challenge: Create a content plan for a fictional membership site. Plan 10 posts and 3 pages. For each piece of content, specify: content type (post/page), visibility (public/members/paid), whether it will be sent as a newsletter, whether it will be featured, and the excerpt. Execute the plan in a Ghost installation.
FAQ
Mini Project
Your task: Create and manage a complete content calendar in Ghost.
- Create 5 blog posts on different topics with the following variations:
- Post 1: Public, send as newsletter, publish now
- Post 2: Public, no newsletter, schedule for tomorrow
- Post 3: Members only, send as newsletter, publish now
- Post 4: Paid members only, no newsletter, publish now
- Post 5: Public, featured, send as newsletter, schedule for next week
- Create 3 pages: About, Contact, Privacy Policy.
- Set excerpts for all content.
- Verify that each piece of content displays correctly according to its settings.
- Write a content management guide explaining when to use each setting combination.
This exercise gives you practical experience with Ghost's complete content management system.
What's Next
Now that you understand posts and pages, learn how to organize them with tags:
Continue to Lesson 11: Tags and Taxonomy — Master Ghost's tag system, tag hierarchy, internal tags, and tag pages.
Related lessons:
- Authors — Manage author profiles and roles
- Content Organization — Collections and featured content
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro