The href link for my site's rss is empty

A subscriber recently mentioned to me that my feed wasn’t working. A browser will return the xml page, but an RSS reader says the link is empty.

Viewing the page source shows an empty href:

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

I know that there’s an option for setting up custom rss feeds via routes, but I was under the impression that Ghost would create the default rss feed automatically. I’ve gone through the admin area but can’t find where I may have changed this, nor can I find an rss reference in index.hbs or default.hbs.

Any ideas where I can fix this?

Temporary switch to a different theme and re-check. If that fixes the problem, you’ve isolated the problem to your theme.

Otherwise provide your version of Ghost, your theme and mention any customizations you’ve made to your install.

1 Like

Thanks for the reply and sorry for my tardiness in getting back to you.

Switching to default Casper theme didn’t restore the href.

I’m using Ghost v5.23.0 with a mysql8 database, selfhosted with docker, and using the Liebling theme. In terms of customizations I’ve made a number of CSS modifications, including hiding the footer’s social nav bar which has built in facebook, twitter and RSS buttons .m-footer-social{visibility:hidden} but I wouldn’t have expected that to remove the rss href, and can confirm that making it visible again didn’t make any difference.

I’ve made a few changes to the default.hbs and index.hbs files but kept the originals and cannot find any reference to rss href in either. Using the originals didn’t make a change either. I have the following in my footer.hbs, which suggests that the href should be passed through from the footer.

<footer class="m-footer">
  <div class="m-footer__content">
    {{#if @site.secondary_navigation}}
      <nav class="m-footer__nav-secondary" role="navigation" aria-label="{{t "Secondary menu in footer"}}">
        {{navigation type="secondary"}}
    <nav class="m-footer-social">
      {{#if @site.facebook}}
        <a href="{{facebook_url @site.facebook}}" target="_blank" rel="noopener" aria-label="Facebook">
          <span class="icon-facebook" aria-hidden="true"></span>
      {{#if @site.twitter}}
        <a href="{{twitter_url @site.twitter}}" target="_blank" rel="noopener" aria-label="Twitter">
          <span class="icon-twitter" aria-hidden="true"></span>
      <a href="{{@site.url}}/rss" aria-label="RSS">
        <span class="icon-rss" aria-hidden="false"></span>

Obviously I’m missing something in all this (I’m self taught and can’t claim to understand everything yet) so any direction you could point me in would be greatly appreciated.

The issue might be with the RSS reader. You mentioned the /rss URL. Look what happens when a raw HTTP request is to made to it:


The web server has responded to communicate that the resource has moved and the client, the RSS reader in this case, should make a second request to /rss/ instead, with additional slash. The RSS reader might not be following the redirect.

The missing href in your theme could be a separate issue, but shouldn’t stop a request to /rss/ from working.

So tell your subscriber to try /rss/ instead of /rss. If that’s the issue, they should consider filing a bug with their RSS reader project or update their own configuration to allow following redirects.


Figured it out, it was Cloudflare’s managed challenge causing issues for RSS readers.

Thanks for your help.