diff --git a/main/feeds.py b/main/feeds.py
index a3118bba5029a8aad00088323a51b1ad9511841d..48497ff06f6edcc320dae78fa2ec54515d2ccb6b 100644
--- a/main/feeds.py
+++ b/main/feeds.py
@@ -22,7 +22,11 @@ class LatestArticlesFeed(Feed):
         return obj.perex
 
     def items(self, obj: MainArticlesPage) -> list:
-        return MainArticlePage.objects.live().child_of(obj).order_by("-date")[:32]
+        return obj.materialize_shared_articles_query(
+            obj.append_all_shared_articles_query(MainArticlePage.objects.child_of(obj))[
+                :32
+            ]
+        )
 
     def item_title(self, item: MainArticlePage) -> str:
         return item.title
@@ -52,10 +56,10 @@ class LatestArticlesFeed(Feed):
         return ""
 
     def item_categories(self, item: MainArticlePage) -> list:
-        return item.tags.all()
+        return item.get_tags() if callable(item.get_tags) else item.get_tags
 
     def item_link(self, item: MainArticlePage) -> str:
-        return item.get_full_url()
+        return item.get_full_url
 
     def item_enclosure_url(self, item: MainArticlePage) -> typing.Union[None, str]:
         if item.image is None: