Skip to content

ghost_head rss feed generation is wrong - missing href if there are multiple collections. #24963

@cathysarisky

Description

@cathysarisky

Issue Summary

My self-hosted site and a client site on Ghost Pro both have the same issue. We're getting the following output from ghost_head:

<link rel="alternate" type="application/rss+xml" title="Actual Site Name" href="">

The href attribute is blank.

It appears to be caused by having multiple collections, or not having a collection at /? Here are examples that work/don't work. When the feed href is missing, it seems to be sitewide. Actual rss feeds exist, just the link is broken.

BROKEN example:

routes:
collections:
  /news/:
    permalink: /{slug}/
    template: index
    filter: tag:[news]
  /fooz/:
    permalink: /{slug}/
    template: index
taxonomies:
  tag: /tag/{slug}/
  author: /author/{slug}/

BROKEN example:

routes:
  /: 
    template: index
    controller: channel
    filter: tag:-[news]
collections:
  /news/:
    permalink: /{slug}/
    template: index
    filter: tag:[news]
  /fooz/:
    permalink: /{slug}/
    template: index
taxonomies:
  tag: /tag/{slug}/
  author: /author/{slug}/

WORKING example:

routes:
  /: 
    template: index
    controller: channel
    filter: tag:-[news]
collections:
  /news/:
    permalink: /{slug}/
    template: index
    filter: tag:[news]
taxonomies:
  tag: /tag/{slug}/
  author: /author/{slug}/

WORKING example:

routes:
collections:
  /news/:
    permalink: /{slug}/
    template: index
    filter: tag:[news]
  /:
    permalink: /{slug}/
    template: index
    filter: tag:-[news]
taxonomies:
  tag: /tag/{slug}/
  author: /author/{slug}/

Steps to Reproduce

Upload the routes.yaml to a Ghost site, then check the page source on any page (post, index, doesn't matter)

Ghost Version

6.x

Node.js Version

ghost pro

How did you install Ghost?

ghost pro

Database type

MySQL 8

Browser & OS version

No response

Relevant log / error output

none - routes file uploads without errors

Code of Conduct

  • I agree to be friendly and polite to people in this repository

Metadata

Metadata

Assignees

Labels

core team[triage] Being looked at by the core Ghost team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions