Why isn't my RSS feed working?

  • Page Owner: Not Set
  • Last Reviewed: 2021-03-03

I'm generating an RSS feed, but for some reason, some RSS readers are not picking up the links. What's possibly going on?


Answer

There's a bug in some RSS generation code that appears to have been copy/pasted into a few projects, including the bug.

If you've got code like the following:

        private SyndicationItem ConvertToSyndicationItem(BlogPostPage item)
        {
            return new SyndicationItem
            {
                Title = new TextSyndicationContent(item.Name),
                Id = item.GetFriendlyUrl(GetFriendlyUrlOption.UseSiteDefinitionHost),
                Content = new TextSyndicationContent(item.Summary),
                BaseUri = new Uri(item.GetFriendlyUrl(GetFriendlyUrlOption.UseSiteDefinitionHost)),
                PublishDate = item.StartPublish.Value
            };
        }

Then chances are the RSS feed you're generating does not have <link /> nodes, which many RSS readers rely on.

You can use something like this instead:

        private SyndicationItem ConvertToSyndicationItem(BlogPostPage item)
        {
            var syndicationItem = new SyndicationItem(item.Name, item.Summary, new Uri(item.GetFriendlyUrl(GetFriendlyUrlOption.UseSiteDefinitionHost)))
            {
                Id = item.GetFriendlyUrl(GetFriendlyUrlOption.UseSiteDefinitionHost),
                PublishDate = item.StartPublish.Value
            };

            return syndicationItem;
        }