The Cove Blog

How to include tags in Ghost post URLs

Guides • 1 min read

Organise Ghost posts into "folders" by changing your URLs.

For a new Ghost blog, I wanted to organise my posts by using their primary tag in each posts's URL. For this site, the homepage is not a normal list of recent posts, and I instead wanted to use tags as major categories or "folders" of content.

This is the URL structure that I wanted to achieve (the domain is fictional 😊):

Homepage (an intro to the site, some featured posts)

Tag page (blog-type list of posts for each category)

Post page

It's easy to get this to work; you just have to edit one file. Just bear in mind that you can only do this for primary tags (the first tag listed on a post), as you can only assign each post to one URL "folder".

How to add tags to your post URLs

Download your current routes.yaml file. You can do this from the Labs page in your Ghost admin.

Edit the collections and taxonomies sections as follows, then re-upload the file.

  • The collection at / should have its permalink changed from /{slug}/ to /{primary_tag}/{slug}/
  • The tag value in the taxonomies section should be changed from /tag/{slug}/ to just /{slug}/

Here's the changed file:


    permalink: /{primary_tag}/{slug}/
    template: index

  tag: /{slug}/
  author: /author/{slug}/

First, we want to add the tag into each post's URL, so we just append the primary_tag value to the permalink value in the root collection.

Secondly, we need to change the tag page URL. By default, Ghost puts every tag list view at /tag/tag-name/ so we just remove the /tag prefix and change it to render just /tag-name/.

There are many things you can add into URLs in Ghost, like dates, for example. For a full list of properties that can be in a URL, go to

The Cove Newsletter

Subscribe to helpful tips about using Ghost and its membership features.

You've successfully subscribed to Cove!