diff --git a/main/feeds.py b/main/feeds.py
index 5b052f185a66e381824470cd2244200cec24f292..5ce0c26620ab7160f3b3a3da4f9db59ad0a85daf 100644
--- a/main/feeds.py
+++ b/main/feeds.py
@@ -1,76 +1,91 @@
+from datetime import datetime
+
 from django.contrib.syndication.views import Feed
-from django.shortcuts import render
+from django.template.loader import render_to_string
 from django.urls import reverse
-from main.models import MainArticlesPage, MainArticlePage
+
+from .models import MainArticlesPage, MainArticlePage
+
 
 class LatestArticlesFeed(Feed):
     def get_object(
-        self: LatestArticlesFeed,
+        self,
         request,
-        title: str
+        id: int
     ) -> MainArticlesPage:
-        return MainArticlesPage.objects.get(title=title)
+        return MainArticlesPage.objects.get(id=id)
 
     def title(
-        self: LatestArticlesFeed,
+        self,
         obj: MainArticlesPage
     ) -> str:
         return obj.title
 
     def link(
-        self: LatestArticlesFeed,
+        self,
         obj: MainArticlesPage
     ) -> str:
         return obj.get_full_url()
 
     def description(
-        self: LatestArticlesFeed,
+        self,
         obj: MainArticlesPage
     ) -> str:
         return obj.perex
 
     def items(
-        self: LatestArticlesFeed,
+        self,
         obj: MainArticlesPage
     ) -> list:
-        return obj.get_children().type(MainArticlePage)[:32]
+        return MainArticlePage.objects.live().child_of(obj)[:32]
 
     def item_title(
-        self: LatestArticlesFeed,
-        obj: MainArticlePage
+        self,
+        item: MainArticlePage
     ) -> str:
-        return obj.title
+        return item.title
 
     def item_description(
-        self: LatestArticlesFeed,
+        self,
         item: MainArticlePage
-    ):
-        return render(
-            None,
+    ) -> str:
+        return render_to_string(
             "main/feed_item_description.html",
             {"item": item},
         )
 
     def item_pubdate(
-        self: LatestArticlesFeed,
+        self,
         item: MainArticlePage
-    ):
+    ) -> datetime:
         return item.first_published_at
 
     def item_updateddate(
-        self: LatestArticlesFeed,
+        self,
         item: MainArticlePage
-    ):
+    ) -> datetime:
         return item.last_published_at
 
+    def item_author_name(
+        self,
+        item: MainArticlePage
+    ) -> str:
+        if item.author:
+            return item.author
+
+        if item.author_page.title:
+            return item_author_page.title
+
+        return ""
+
     def item_categories(
-        self: LatestArticlesFeed,
+        self,
         item: MainArticlePage
     ) -> list:
         return item.tags.all()
 
     def item_link(
-        self: LatestArticlesFeed,
+        self,
         item: MainArticlePage
     ) -> str:
         return item.get_full_url()
diff --git a/main/models.py b/main/models.py
index 2876ebcae59491d1d69dfd7286fe6479fe6ff2fd..efc8da74f8c4433dddc39ed975c39c5fcafa87a7 100644
--- a/main/models.py
+++ b/main/models.py
@@ -4,7 +4,7 @@ from dateutil.relativedelta import relativedelta
 from django.conf import settings
 from django.core.paginator import Paginator
 from django.db import models
-from django.http import HttpResponseRedirect, JsonResponse
+from django.http import HttpResponseRedirect, HttpResponse, JsonResponse
 from django.shortcuts import render
 from django.utils import timezone
 from modelcluster.contrib.taggit import ClusterTaggableManager
@@ -301,6 +301,13 @@ class MainHomePage(
                     return HttpResponseRedirect(self.url)
         return HttpResponseRedirect(self.url)
 
+    @route(r"^feeds/atom/$")
+    def view_feed(self, request):
+        # Avoid circular import
+        from .feeds import LatestArticlesFeed  # noqa
+
+        return LatestArticlesFeed()(request, self.articles_page.id)
+
     def _first_subpage_of_type(self, page_type) -> Page or None:
         try:
             return self.get_descendants().type(page_type).live().specific()[0]
diff --git a/main/templates/main/feed_item_description.html b/main/templates/main/feed_item_description.html
index e44f14f74b25f545705ed5a3431fb4c89d3b325a..e01e314b9b46f64db02e3bdfa6d0a98fe84ddfd0 100644
--- a/main/templates/main/feed_item_description.html
+++ b/main/templates/main/feed_item_description.html
@@ -1,3 +1,5 @@
+{% load wagtailcore_tags %}
+
 {% for block in item.content %}
     {% include_block block %}
 {% endfor %}
diff --git a/main/urls.py b/main/urls.py
deleted file mode 100644
index 69792634cfc651626b12cb75d89c0318c1a8bdf4..0000000000000000000000000000000000000000
--- a/main/urls.py
+++ /dev/null
@@ -1,7 +0,0 @@
-from django.urls import path
-from main.feeds import LatestArticlesFeed
-
-
-urlpatterns = [
-    path('feed', LatestArticlesFeed()),
-]