Tags return /404/ as URL in API and theme, despite working in Admin

Hi everyone,

I’m encountering a strange issue with tags in my Ghost installation.

Every time I create a new tag, its URL shows up as /404/ when accessed via the API or in my theme. However, these tags are properly associated with posts, and they display correctly in the Admin interface — including the correct URL.

To clarify:

  • In the Admin UI, the tag page URL works as expected (e.g. /tag/my-tag/).
  • But when I access tags via the Admin API or use them in the theme (e.g. through {{tag.url}}), the URL is always /404/.
  • The tags themselves are valid and have posts assigned to them.

Thanks in advance!

Here is my routes.yml

routes:
  /:
    controller: channel
    filter: tag:-[veille,hash-case]
    template: index
  /archive/:
    controller: channel
    template: archive
    data: page.archive
    filter: tag:-[veille,hash-case]
  /cases/:
    controller: channel
    template: custom-cases
    data: page.cases
    filter: tag:hash-case
    
collections:
  /:
    permalink: /{slug}/
    template: index

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

And here is an exemple of a tag i just created:


{
"id": 
"681546eb00a01d06750d50ab",
"name": 
"test",
"slug": 
"test",
"description": 
null,
"feature_image": 
null,
"visibility": 
"public",
"og_image": 
null,
"og_title": 
null,
"og_description": 
null,
"twitter_image": 
null,
"twitter_title": 
null,
"twitter_description": 
null,
"meta_title": 
null,
"meta_description": 
null,
"codeinjection_head": 
null,
"codeinjection_foot": 
null,
"canonical_url": 
null,
"accent_color": 
null,
"created_at": 
"2025-05-02T22:27:55.000Z",
"updated_at": 
"2025-05-02T22:27:55.000Z",
"url": 
"https://[...].com/404/"
}

Looked like it’s fixed when I restart Ghost on my server.