diff --git a/core/modules/aggregator/aggregator.module b/core/modules/aggregator/aggregator.module
index d2c07af..1ed0b6f 100644
--- a/core/modules/aggregator/aggregator.module
+++ b/core/modules/aggregator/aggregator.module
@@ -147,13 +147,6 @@ function aggregator_menu() {
     'access callback' => '_aggregator_has_categories',
     'file' => 'aggregator.pages.inc',
   );
-  $items['aggregator/rss'] = array(
-    'title' => 'RSS feed',
-    'page callback' => 'aggregator_page_rss',
-    'access arguments' => array('access news feeds'),
-    'type' => MENU_CALLBACK,
-    'file' => 'aggregator.pages.inc',
-  );
   $items['aggregator/opml'] = array(
     'title' => 'OPML feed',
     'page callback' => 'aggregator_page_opml',
diff --git a/core/modules/aggregator/aggregator.pages.inc b/core/modules/aggregator/aggregator.pages.inc
index 8938e95..87d30bf 100644
--- a/core/modules/aggregator/aggregator.pages.inc
+++ b/core/modules/aggregator/aggregator.pages.inc
@@ -354,80 +354,6 @@ function aggregator_page_categories() {
 }
 
 /**
- * Page callback: Generates an RSS 0.92 feed of aggregator items or categories.
- *
- * @return string
- *   An HTML formatted string.
- *
- * @see aggregator_menu()
- */
-function aggregator_page_rss() {
-  $result = NULL;
-  $rss_config = config('system.rss');
-  // arg(2) is the passed cid, only select for that category.
-  if (arg(2)) {
-    $category = db_query('SELECT cid, title FROM {aggregator_category} WHERE cid = :cid', array(':cid' => arg(2)))->fetchObject();
-    $result = db_query_range('SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_category_item} c LEFT JOIN {aggregator_item} i ON c.iid = i.iid LEFT JOIN {aggregator_feed} f ON i.fid = f.fid WHERE cid = :cid ORDER BY timestamp DESC, i.iid DESC', 0, $rss_config->get('items.limit'), array(':cid' => $category->cid));
-  }
-  // Or, get the default aggregator items.
-  else {
-    $category = NULL;
-    $result = db_query_range('SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_item} i INNER JOIN {aggregator_feed} f ON i.fid = f.fid ORDER BY i.timestamp DESC, i.iid DESC', 0, $rss_config->get('items.limit'));
-  }
-
-  $feeds = $result->fetchAll();
-  return theme('aggregator_page_rss', array('feeds' => $feeds, 'category' => $category));
-}
-
-/**
- * Prints the RSS page for a feed.
- *
- * @param $variables
- *   An associative array containing:
- *   - feeds: An array of the feeds to theme.
- *   - category: A common category, if any, for all the feeds.
- *
- * @return void
- *
- * @ingroup themeable
- */
-function theme_aggregator_page_rss($variables) {
-  $feeds = $variables['feeds'];
-  $category = $variables['category'];
-
-  drupal_add_http_header('Content-Type', 'application/rss+xml; charset=utf-8');
-
-  $items = '';
-  $feed_length = config('system.rss')->get('items.view_mode');
-  foreach ($feeds as $feed) {
-    switch ($feed_length) {
-      case 'teaser':
-        $summary = text_summary($feed->description, NULL, config('aggregator.settings')->get('items.teaser_length'));
-        if ($summary != $feed->description) {
-          $summary .= '<p><a href="' . check_url($feed->link) . '">' . t('read more') . "</a></p>\n";
-        }
-        $feed->description = $summary;
-        break;
-      case 'title':
-        $feed->description = '';
-        break;
-    }
-    $items .= format_rss_item($feed->ftitle . ': ' . $feed->title, $feed->link, $feed->description, array('pubDate' => date('r', $feed->timestamp)));
-  }
-
-  $site_name = config('system.site')->get('name');
-  $url = url((isset($category) ? 'aggregator/categories/' . $category->cid : 'aggregator'), array('absolute' => TRUE));
-  $description = isset($category) ? t('@site_name - aggregated feeds in category @title', array('@site_name' => $site_name, '@title' => $category->title)) : t('@site_name - aggregated feeds', array('@site_name' => $site_name));
-
-  $output  = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
-  $output .= "<rss version=\"2.0\">\n";
-  $output .= format_rss_channel(t('@site_name aggregator', array('@site_name' => $site_name)), $url, $description, $items);
-  $output .= "</rss>\n";
-
-  print $output;
-}
-
-/**
  * Page callback: Generates an OPML representation of all feeds.
  *
  * @param $cid
diff --git a/core/modules/aggregator/config/views.view.aggregator_rss_feed.yml b/core/modules/aggregator/config/views.view.aggregator_rss_feed.yml
new file mode 100644
index 0000000..8c1a5af
--- /dev/null
+++ b/core/modules/aggregator/config/views.view.aggregator_rss_feed.yml
@@ -0,0 +1,191 @@
+base_field: iid
+base_table: aggregator_item
+core: 8.x
+description: ''
+status: '1'
+display:
+  default:
+    display_plugin: default
+    id: default
+    display_title: Master
+    position: '1'
+    display_options:
+      access:
+        type: none
+        options: {  }
+      cache:
+        type: none
+        options: {  }
+      query:
+        type: views_query
+        options:
+          disable_sql_rewrite: '0'
+          distinct: '0'
+          slave: '0'
+          query_comment: ''
+          query_tags: {  }
+      exposed_form:
+        type: basic
+        options:
+          submit_button: Apply
+          reset_button: '0'
+          reset_button_label: Reset
+          exposed_sorts_label: 'Sort by'
+          expose_sort_order: '1'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
+      pager:
+        type: full
+        options:
+          items_per_page: '10'
+          offset: '0'
+          id: '0'
+          total_pages: ''
+          expose:
+            items_per_page: '0'
+            items_per_page_label: 'Items per page'
+            items_per_page_options: '5, 10, 20, 40, 60'
+            items_per_page_options_all: '0'
+            items_per_page_options_all_label: '- All -'
+            offset: '0'
+            offset_label: Offset
+          tags:
+            previous: '‹ previous'
+            next: 'next ›'
+            first: '« first'
+            last: 'last »'
+          quantity: '9'
+      style:
+        type: default
+      row:
+        type: 'entity:aggregator_item'
+      fields:
+        iid:
+          table: aggregator_item
+          field: iid
+          id: iid
+          relationship: none
+          group_type: group
+          admin_label: ''
+          label: 'Item ID'
+          exclude: '0'
+          alter:
+            alter_text: '0'
+            text: ''
+            make_link: '0'
+            path: ''
+            absolute: '0'
+            external: '0'
+            replace_spaces: '0'
+            path_case: none
+            trim_whitespace: '0'
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: '0'
+            max_length: ''
+            word_boundary: '1'
+            ellipsis: '1'
+            more_link: '0'
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: '0'
+            trim: '0'
+            preserve_tags: ''
+            html: '0'
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: '1'
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: '1'
+          empty: ''
+          hide_empty: '0'
+          empty_zero: '0'
+          hide_alter_empty: '1'
+          set_precision: '0'
+          precision: '0'
+          decimal: .
+          separator: ','
+          format_plural: '0'
+          format_plural_singular: '1'
+          format_plural_plural: '@count'
+          prefix: ''
+          suffix: ''
+      filters: {  }
+      sorts: {  }
+      title: 'Aggregator RSS feed'
+      header: {  }
+      footer: {  }
+      empty: {  }
+      relationships: {  }
+      arguments: {  }
+  feed_2:
+    display_plugin: feed
+    id: feed_2
+    display_title: 'Feed per category'
+    position: '2'
+    display_options:
+      path: aggregator/rss/%
+      display_description: ''
+      arguments:
+        cid:
+          id: cid
+          table: aggregator_category
+          field: cid
+          relationship: none
+          group_type: group
+          admin_label: ''
+          default_action: 'not found'
+          exception:
+            value: all
+            title_enable: '0'
+            title: All
+          title_enable: '0'
+          title: ''
+          breadcrumb_enable: '0'
+          breadcrumb: ''
+          default_argument_type: fixed
+          default_argument_options:
+            argument: ''
+          default_argument_skip_url: '0'
+          summary_options:
+            base_path: ''
+            count: '1'
+            items_per_page: '25'
+            override: '0'
+          summary:
+            sort_order: asc
+            number_of_records: '0'
+            format: default_summary
+          specify_validation: '0'
+          validate:
+            type: none
+            fail: 'not found'
+          validate_options: {  }
+          break_phrase: '0'
+          not: '0'
+          plugin_id: aggregator_category_cid
+      defaults:
+        arguments: '0'
+  feed_1:
+    display_plugin: feed
+    id: feed_1
+    display_title: Feed
+    position: '2'
+    display_options:
+      path: aggregator/rss
+      display_description: ''
+      defaults:
+        arguments: '1'
+label: 'Aggregator RSS feed'
+module: views
+id: aggregator_rss_feed
+tag: aggregator
+uuid: 7dfa5cb7-2248-4d52-8c00-cd8e02d1e78e
+langcode: en
