Skip to content

Ghost Content Organization — Collections, Feature Posts and Sliders

DodaTech Updated 2026-06-28 8 min read

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

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:

  1. Create a page called "Tutorials."
  2. Add whatever content you want - introduction text, links to specific posts, embedded content.
  3. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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

Can I create a collection that excludes certain tags?

Yes. Use the filter parameter with the - prefix to exclude tags. Example: filter='tags:-[internal]' to exclude posts with internal tags. You can combine inclusion and exclusion filters.

How do I manually order posts in a collection?

Ghost does not support manual ordering (drag and drop) for posts. The default order is by publish date descending. You can use featured posts to highlight specific content, or create a custom route with an offset.

Can I have multiple hero sections on one page?

Yes. Your theme can have as many sections as you want. A common pattern is: hero section (featured posts), tutorials section (tag-filtered), latest posts section (chronological), and a newsletter signup section.

Do collections affect site performance?

Each {{#get}} query makes a database request. Having 5-10 collection sections on a page adds minimal overhead. Having 50+ queries per page will slow down your site. Use reasonable limits and pagination.

Can I create a collection for posts older than a certain date?

Yes. The filter parameter supports date comparisons. Example: filter='published_at:<2024-01-01' for posts published before 2024. Combine with other filters for complex collections.

Mini Project

Your task: Build a content-organized homepage for a Ghost publication.

  1. 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).
  2. Create a theme template (index.hbs) that implements all 4 sections.
  3. Create 12 test posts with appropriate tags and featured designations.
  4. Verify each section displays the correct posts.
  5. 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:

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro