Ghost Content Organization — Collections, Feature Posts and Sliders
In this tutorial, you'll learn how to organize content in Ghost using tags, featured posts, theme-level filtering, and content sliders — transforming a flat list of posts into a structured, navigable publication.
What You'll Learn
- The concept of collections in Ghost (tag-based grouping)
- Using tags to create content sections
- Featured posts and how themes display them
- Creating hero sections and sliders in themes
- Curating content with multiple tag filters
- Best practices for content layout and hierarchy
- Managing content visibility and ordering
- Building a content Strategy with collections
Why It Matters
A flat list of posts sorted by date is the default behavior in Ghost. But readers do not navigate well by date — they navigate by topic, popularity, or curation. Organizing your content into collections — sections like "Latest," "Popular," "Tutorials," or "Editor's Picks" — transforms your site from a chronological feed into a curated publication. Better content organization increases page views, reduces bounce rate, and helps readers find what they need.
Real-World Use
A design blog organizes its content into four collections: "Articles" (all posts), "Tutorials" (tagged with #tutorial), "Inspiration" (tagged with #inspiration), and "Editor's Picks" (featured posts). The homepage shows a hero section with the three most recent featured posts, followed by a grid of the latest tutorials, then a curated inspiration section. Each section is powered by tag filtering in the theme.
Learning Path
flowchart LR A["Authors"] --> B["Content Organization
You are here"]:::current B --> C["Image & Media"] C --> D["Theme Basics"] classDef current fill:#38bdf8,color:#0f172a,stroke-width:2px
What Are Collections?
Ghost does not have a formal "Collections" feature. Instead, collections are created by combining tags with theme templates. A collection is a group of posts that share a common characteristic — typically a tag.
For example:
- "All posts tagged with Tutorial" = a Tutorials collection
- "All featured posts" = an Editor's Picks collection
- "All posts tagged with News" = a News collection
The collection is created at the theme level using Ghost's {{#get}} helper or the built-in navigation to tag pages.
Method 1: Tag-Based Collections
The simplest collection uses tag pages. Each public tag has its own page at /tag/tag-slug/.
<!-- Example: Linking to a tag-based collection -->
<nav class="collections">
<a href="/tag/javascript/">JavaScript Tutorials</a>
<a href="/tag/python/">Python Guides</a>
<a href="/tag/devops/">DevOps Articles</a>
</nav>
When a reader clicks "JavaScript Tutorials," they see all posts with the JavaScript tag, ordered by publish date.
Pros:
- Automatic — no theme changes needed
- SEO-friendly — each tag page is indexable
- Built-in pagination
Cons:
- Chronological order only
- No curatorial control (you cannot manually order posts)
- Single tag per collection
Method 2: Featured Posts Collections
Featured posts are marked with a flag in the post settings. Your theme can query for all featured posts and display them in a special section.
<!-- Featured posts hero section -->
{{#get "posts" filter="featured:true" limit="5"}}
<section class="featured-hero">
<h2>Editor's Picks</h2>
<div class="hero-grid">
{{#foreach posts}}
<article class="hero-card">
{{#if feature_image}}
<img src="{{img_url feature_image size="xl"}}" alt="{{title}}">
{{/if}}
<h3><a href="{{url}}">{{title}}</a></h3>
<p>{{excerpt words="20"}}</p>
</article>
{{/foreach}}
</div>
</section>
{{/get}}
This creates a curated section on your homepage featuring the most important posts, independent of their publish date.
Pros:
- Full curatorial control
- Works well for featured content
- Can be combined with other filters
Cons:
- Requires theme customization
- Manual — you must mark each post as featured
- Limited to a single "featured" flag
Method 3: Multi-Tag Collections
You can create more sophisticated collections by combining multiple tags with the {{#get}} helper.
<!-- Tutorials section: posts with EITHER tutorial OR guide tag -->
{{#get "posts" filter="tags:[tutorial, guide]" limit="6"}}
<section class="section-tutorials">
<h2>Tutorials & Guides</h2>
<div class="post-grid">
{{#foreach posts}}
<article>
<h3><a href="{{url}}">{{title}}</a></h3>
<p>{{excerpt words="15"}}</p>
</article>
{{/foreach}}
</div>
</section>
{{/get}}
This lets you create thematic collections that span multiple tags.
Method 4: The Hero Section
A hero section is the large banner area at the top of your homepage. In Ghost themes, this is commonly built with featured posts.
<!-- Hero slider with featured posts -->
<section class="hero">
{{#get "posts" filter="featured:true" limit="3"}}
<div class="hero-slider">
{{#foreach posts}}
<div class="hero-slide" style="background-image: url({{img_url feature_image}})>
<div class="hero-content">
<h2><a href="{{url}}">{{title}}</a></h2>
<p>{{excerpt words="25"}}</p>
<span class="hero-tag">{{#primary_tag}}{{name}}{{/primary_tag}}</span>
</div>
</div>
{{/foreach}}
</div>
{{/get}}
</section>
The hero section is the first thing visitors see. Use it for your most important content — recent major articles, featured series, or time-sensitive announcements.
Method 5: Sidebar and Widget Collections
Some themes include a sidebar with additional collections:
<aside class="sidebar">
<!-- Recent posts -->
<section class="sidebar-widget">
<h3>Recent Posts</h3>
{{#get "posts" limit="5"}}
<ul>
{{#foreach posts}}
<li><a href="{{url}}">{{title}}</a></li>
{{/foreach}}
</ul>
{{/get}}
</section>
<!-- Popular tags -->
<section class="sidebar-widget">
<h3>Topics</h3>
{{#get "tags" limit="10" include="count.posts" order="count.posts desc"}}
<ul>
{{#foreach tags}}
<li><a href="{{url}}">{{name}} ({{count.posts}})</a></li>
{{/foreach}}
</ul>
{{/get}}
</section>
</aside>
Content Ordering
Ghost orders posts by publish date by default. You can control ordering with the order parameter in the {{#get}} helper.
<!-- Order by title alphabetically -->
{{#get "posts" order="title asc"}}
<!-- Order by featured first, then by date -->
{{#get "posts" order="featured desc, published_at desc"}}
<!-- Order by most recent first (default) -->
{{#get "posts" order="published_at desc"}}
The order parameter accepts field names and sort direction (asc or desc).
Page-Based Collections
For sections that need custom content (not filtered from posts), use Ghost pages as landing pages:
- Create a page called "Tutorials."
- Add whatever content you want - introduction text, links to specific posts, embedded content.
- Link to the page from your navigation.
Pages give you complete control over the content and layout.
Collections with Custom Routes
Ghost's routes.yaml file (covered in Lesson 35) lets you define custom collections with their own templates, pagination, and filtering. This is the most powerful but most complex approach.
routes:
/featured/:
template: featured
controller: channel
filter: featured:true
limit: 10
Best Practices
- Use featured posts sparingly: If every post is featured, none are. Limit featured posts to 3-5 at a time.
- Name collections clearly: "Editor's Picks" is more inviting than "Featured Posts."
- Combine chronological and curated: Show some posts by date and some by curation.
- Keep navigation simple: 4-6 collection links in the main navigation is ideal.
- Update curated collections regularly: Stale collections with old posts look abandoned.
Common Mistakes
Relying only on chronological order: A reverse-chronological feed works for a news site, but most publications benefit from curated sections that highlight the best content regardless of publish date.
Over-curating with too many featured posts: Marking every post as featured defeats the purpose. Featured means "this is exceptional." If all posts are featured, readers stop paying attention to the featured designation.
Not using tags for collections: Tags are the simplest way to create collections. Without tags, you are limited to "all posts" and "featured posts." Tag-based collections let you segment content by topic.
Creating orphan collections: A collection with only one or two posts looks empty. Build collections only for topics where you have regular content. Start new collections when you have 5+ posts in a topic.
Ignoring mobile layout: A complex multi-section homepage with hero sliders, grids, and sidebars can be overwhelming on mobile. Test your collection layout on mobile devices.
Practice Questions
What are the three main ways to create content collections in Ghost? Answer: (1) Tag-based collections — each tag has its own page showing all posts with that tag. (2) Featured posts — marking posts as featured and querying them in the theme. (3) Custom collections via the {{#get}} helper — any combination of filters and ordering in theme templates.
How do you create a hero section on a Ghost homepage? Answer: In your theme's index.hbs, use the
{{#get "posts" filter="featured:true" limit="3"}}helper to fetch featured posts and render them in a hero-style layout with large images, titles, and excerpts.Why should you limit the number of featured posts? Answer: Featured posts should represent exceptional content. If every post is featured, the designation loses meaning. A small, curated set of featured posts tells readers "these are our best articles" and helps them find quality content.
Challenge: Design and implement a content organization strategy for a publication. Create at least 4 collections using different methods: a tag-based collection, a featured posts hero section, a sidebar with recent posts and popular tags, and a tutorial section with a multi-tag filter. Write the Handlebars templates for each.
FAQ
Mini Project
Your task: Build a content-organized homepage for a Ghost publication.
- Plan 4 content sections for your homepage: Hero (featured posts), Latest (recent posts), Tutorials (tag-filtered), and Editor's Picks (mix of featured and manually curated).
- Create a theme template (index.hbs) that implements all 4 sections.
- Create 12 test posts with appropriate tags and featured designations.
- Verify each section displays the correct posts.
- Write a content strategy document explaining your organization choices.
This exercise gives you hands-on experience creating a professional content layout.
What's Next
Now that your content is organized, learn how to handle images and media:
Continue to Lesson 14: Image and Media — Image optimization, galleries, image cards, and media management in Ghost.
Related lessons:
- Theme Basics — Build custom themes for your site
- Posts and Pages — Create and manage content
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro