Tags Not Displayed On Homepage When Internal Tag First Used

Issue Summary

Tags not processed correctly on the homepage when using an internal tag first.

  • Initially publish a post with only an internal tag, then edit the post to include a standard tag, and update
  • The homepage doesn’t display the standard tag, but this is present in the post
  • The only remedy is to delete the internal tag, and add again after the standard tag
  • The homepage should display all standard tags following a post update, regardless of order added

Steps to Reproduce

  1. Create a new post and assign a single internal tag
  2. Publish the post
  3. View the site homepage: the post has no tags as expected
  4. Edit the post, and add a standard tag
  5. Update the post
  6. View the site homepage: there are no tags associated with the post
  7. Edit the post again, and remove the internal tag (or add it again after the standard tag)
  8. Update the post
  9. View the homepage: tags are visible.

Tested with the Dashi and Casper themes.


Setup information

Ghost Version

  • Version: 4.44.0
  • Environment: production
  • Database: mysql8
  • Mail: SMTP

Node.js Version
v14.19.1

How did you install Ghost?
Self-hosting on Ubuntu 20.04.4 (Linode)

Browser & OS version
Firefox on Ubuntu 20.0.4

Relevant log / error output
n/a

I’m not sure if this is a bug per se, as the “primary tag” is defined as the first tag in the tag list. If you have an internal tag as the first tag, since it’s not public-facing, the primary tag is “(none)”

Like you’re suggesting, maybe the behavior should be that the primary tag is “the first public tag”

Even if the primary tag was internal, i.e., none, shouldn’t Ghost honour subsequent tags as it would if all were public tags? If multiple tags are selected they are displayed. This blocking action does not seem to me to be by design.