Skip to content
Make Your Ghost Blog Beautiful & Make It Fast & Accessible With the New Ghost Theme: Nubia 😍 🎉

How to Create A Tags List Page in Your Ghost Theme


Adding a page to list all the tags in your Ghost theme will give your readers the opportunity to discover and browser your content.

In this post, I will share with you how to add a custom tags page to your Ghost theme. I will use the default Casper theme as an example, but all the steps and code will apply to any theme with a little customization as required.

Enable the Ghost Public API

The Ghost Public API required to the tags list. You can enable the Public API from the Ghost admin. Go to Labs > Beta features section and check the Public API mark to enable it.

Enable the Ghost Public API

Create the Tags Static Page

  • Create a new story and call it Tags for example, and make sure that the POST URL is tags.
  • Click the Turn this post into a static page checkbox.
  • Publish the page.

Create the Tags Static Page

Create the Tags Page Theme File

In your theme directory, create a new file and name it page-tags.hbs and then copy the following code inside it. You may need to restart your Ghost server for the new page to take effect.

{{!< default}}

<header class="site-header outer">
  <div class="inner">
    {{> "site-nav"}}
  </div>
</header>

{{#post}}

<main id="site-main" class="site-main outer" role="main">
  <div class="inner">
    <header class="post-full-header">
      <h1 class="post-full-title">{{title}}</h1>
    </header>
    {{#get 'tags' limit='all' include='count.posts' order='count.posts desc'}}
    {{#foreach tags}}
        <a href='/tag/'>
        <h2>{{ name }} <small>({{ count.posts }})</small></h2>
        </a>
    {{/foreach}}
    {{/get}}
  </div>
</main>

{{/post}}

In this code, the get helper used to get the blog tags. The include attribute used to get the posts count. The order attribute used to order the tag list based on the posts attached to them.

Next, the foreach helper used to loop through each tag and render the list with the tag URL, title, and the posts count.

Ghost Casper Theme Tags Page

This is an initial example of what you can do to the tags page. You can take the code further and show the tag image with custom design. As an example, you can create something like what I have done with the Nubia theme. You can also add the tag page link to the blog navigation.

Ghost Nubia Theme Tags Page

I would recommend checking the official Ghost documentation including the tags for more information about the list of available attributes.



Get Ready to Build a Better and Faster Blog

Premium blog themes for WordPress, Ghost, and Jekyll
Trusted by 800+ happy customers

Browse Themes
superhero