In short. Ghost themes use the tags helper's autolink, visibility, limit, from and to attributes to control tag output.
Definition: Ghost's
{{tags}}theme helper renders a post's tags as a linked list by default. A theme can turn those links off withautolink, choose which visibility values are included, and select the tags to render by position and range.
Key facts
- Ghost documents
{{tags}}as a linked list helper with a comma-separated default, configurable separators, and a switch for disabling links in its tags helper reference. - Ghost's Tags guide says the first tag is the primary tag and that tag collections have their own pages and feeds.
- Ghost's routing documentation shows the default tag taxonomy pattern as
/tag/{slug}/and describes generated tag archives.
How does autolink change the helper output?
The helper reference describes each default item as a link to its tag page. The autolink attribute changes that formatting behavior. With autolink="false", the helper still selects and renders the tags, while the generated tag names are no longer automatically linked.
{{tags}}
{{tags autolink="false"}}
Ghost's documentation also lists url as the tag attribute containing the web address for the tag page. A theme that needs a different markup structure can use the foreach helper and place {{url}} in its own anchor element.
How does visibility control internal tags?
The helper's default visibility value is public. Internal tags therefore do not appear in ordinary {{tags}} output. Ghost describes internal tags as tags marked with internal, and its Tags guide explains that hashtag-prefixed internal tags can support theme styling or internal filtering.
The attribute accepts another value, a comma-separated list of values, or all. Ghost states that an unmatched visibility value produces no output. These examples show the documented forms:
{{tags visibility="internal"}}
{{tags visibility="all"}}
How does ordering and range selection work?
The helper outputs tags in their order on the post. That order can be changed by dragging tags in the post settings. Ghost's Tags guide identifies the first tag as the primary tag, and some themes display only that tag by default. The primary_tag object exposes the first tag, while a zero-indexed tags array exposes later positions.
limit restricts the output to a fixed number. from starts output at a chosen position, and to can be used alone or with from; the helper reference says that to overrides limit. The reference gives from="1" to="1" as equivalent to limit="1".
{{tags limit="1"}}
{{tags from="2"}}
{{tags from="1" to="1"}}
Which archive does a tag link use?
Ghost's routing documentation says that taxonomies automatically generate tag archives such as /tag/getting-started/, using the default pattern /tag/{slug}/. It also documents changing the tag prefix in the taxonomies section of routes.yaml, for example to /topic/{slug}/. The helper exposes each tag's url, so the theme can use the URL supplied for that tag when it renders a custom link.
taxonomies:
tag: /tag/{slug}/
Related terms
- How do Ghost internal tags differ from the primary public tag?
- How do I change tag and author URL patterns in Ghost?
- How do I split Ghost posts into separate content collections?
FAQ
Can you hide links while keeping tag names visible?
Yes. Add autolink="false" to {{tags}}; the helper reference describes this as turning off automatic links to tag pages.
Can you show only public or internal tags?
Yes. Use visibility="public" or visibility="internal". The default is public, and the internal value selects internal tags.
Can you show only the first tag?
Yes. Use limit="1", or use from="1" to="1", which Ghost documents as equivalent to that limit.
Can you change the archive URL prefix?
Yes. Change the tag value under taxonomies in routes.yaml, then use the tag url supplied to the theme when rendering a custom link.
Sources
- Ghost Developer Docs, "tags", 26 January 2026
- Ghost, "Tags", 17 October 2023
- Ghost Developer Docs, "URLs & Dynamic Routing", 14 July 2026
Check how a page reads to answer engines. Open the GEO score analyzer