diff --git a/app/controllers/admin/communication/extranets/alumni_controller.rb b/app/controllers/admin/communication/extranets/alumni_controller.rb
new file mode 100644
index 0000000000000000000000000000000000000000..cc4f5fbc7e3bceb210998b6b7b516ac5fad56b6a
--- /dev/null
+++ b/app/controllers/admin/communication/extranets/alumni_controller.rb
@@ -0,0 +1,11 @@
+class Admin::Communication::Extranets::AlumniController < Admin::Communication::Extranets::ApplicationController
+  def index
+    @about = @extranet.about
+    @alumni = @extranet.alumni
+    @cohorts = @extranet.cohorts
+    @years = @extranet.years
+    @organizations = @extranet.organizations
+    breadcrumb
+    add_breadcrumb Communication::Extranet.human_attribute_name(:feature_alumni)
+  end
+end
\ No newline at end of file
diff --git a/app/controllers/admin/communication/extranets/application_controller.rb b/app/controllers/admin/communication/extranets/application_controller.rb
new file mode 100644
index 0000000000000000000000000000000000000000..007adc7ba2da0af43ab60fdc5f227ac6dede3e03
--- /dev/null
+++ b/app/controllers/admin/communication/extranets/application_controller.rb
@@ -0,0 +1,22 @@
+class Admin::Communication::Extranets::ApplicationController < Admin::Communication::ApplicationController
+  load_and_authorize_resource :extranet,
+                              class: Communication::Extranet,
+                              through: :current_university,
+                              through_association: :communication_extranets
+
+  protected
+
+  def breadcrumb
+    super
+    add_breadcrumb Communication::Extranet.model_name.human(count: 2), admin_communication_extranets_path
+    breadcrumb_for @extranet
+  end
+
+  def default_url_options
+    options = {}
+    if @extranet.present?
+      options[:extranet_id] = @extranet.id
+    end
+    options
+  end
+end
diff --git a/app/controllers/admin/communication/extranets_controller.rb b/app/controllers/admin/communication/extranets_controller.rb
index df30f310aab2c5771f3e32f159feefee8675c88f..0f81f22ecb6a05b3e3a53fe50ca8645f57f5f83a 100644
--- a/app/controllers/admin/communication/extranets_controller.rb
+++ b/app/controllers/admin/communication/extranets_controller.rb
@@ -12,11 +12,6 @@ class Admin::Communication::ExtranetsController < Admin::Communication::Applicat
   end
 
   def show
-    @about = @extranet.about
-    @alumni = @extranet.alumni
-    @cohorts = @extranet.cohorts
-    @years = @extranet.years
-    @organizations = @extranet.organizations
     breadcrumb
   end
 
diff --git a/app/services/icon.rb b/app/services/icon.rb
index debcd5881b509255b8fc91a4c6596110019b4f0d..2d085e61bf783e13037be29c57294e58b3476801 100644
--- a/app/services/icon.rb
+++ b/app/services/icon.rb
@@ -15,6 +15,8 @@ class Icon
   COMMUNICATION_WEBSITE_PREVIEW_DESKTOP = 'fas fa-laptop'
   COMMUNICATION_WEBSITE_MENU_BLANK = 'fas fa-font'
   COMMUNICATION_WEBSITE_MENU_URL = 'fas fa-globe'
+  COMMUNICATION_EXTRANET_HOME = COMMUNICATION_WEBSITE_HOME
+  COMMUNICATION_EXTRANET_ALUMNI = 'fas fa-user-graduate'
   COMMUNICATION_NEWSLETTERS = 'fas fa-envelope'
 
   EDUCATION_DIPLOMA = 'fas fa-graduation-cap'
diff --git a/app/views/admin/communication/extranets/_sidebar.html.erb b/app/views/admin/communication/extranets/_sidebar.html.erb
new file mode 100644
index 0000000000000000000000000000000000000000..c95c7132ad3bc40c06aa63fa1edfa19f1abcbcf4
--- /dev/null
+++ b/app/views/admin/communication/extranets/_sidebar.html.erb
@@ -0,0 +1,33 @@
+<div class="row mt-2 website__sidebar">
+  <div class="col-lg-3 col-xl-2">
+    <ul class="list-unstyled" role="tablist">
+      <%
+      navigation = [
+        {
+          title: Communication::Extranet.model_name.human,
+          path: admin_communication_extranet_path(id: @extranet),
+          icon: Icon::COMMUNICATION_EXTRANET_HOME
+        },
+        {
+          title: Communication::Extranet.human_attribute_name(:feature_alumni),
+          path: admin_communication_extranet_alumni_path(extranet_id: @extranet),
+          icon: Icon::COMMUNICATION_EXTRANET_ALUMNI
+        },
+      ]
+      navigation.each_with_index do |object, index|
+        active = index.zero?  ? controller_name == "extranets" && action_name == "show"
+                              : object[:path].in?(request.path)
+      %>
+        <li class="mb-3">
+          <a class="d-block py-1 <%= active ? 'text-black' : 'text-muted' %>" href="<%= object[:path] %>">
+            <i class="<%= object[:icon] %>" style="min-width: 30px"></i>
+            <%= object[:title].html_safe %>
+          </a>
+        </li>
+      <% end %>
+    </ul>
+  </div>
+  <div class="col-lg-9 col-xl-10">
+    <%= yield %>
+  </div>
+</div>
diff --git a/app/views/admin/communication/extranets/alumni/index.html.erb b/app/views/admin/communication/extranets/alumni/index.html.erb
new file mode 100644
index 0000000000000000000000000000000000000000..65db9df9c1f737ca807539f5915ac25b22c4db79
--- /dev/null
+++ b/app/views/admin/communication/extranets/alumni/index.html.erb
@@ -0,0 +1,28 @@
+<% content_for :title, Communication::Extranet.human_attribute_name(:feature_alumni) %>
+
+<%= render 'admin/communication/extranets/sidebar' do %>
+  <% if @alumni %>
+    <p>
+      <%= @alumni.count %>
+      <%= University::Person::Alumnus.model_name.human(count: @alumni.count).downcase %>
+    </p>
+  <% end %>
+  <% if @cohorts %>
+    <p>
+      <%= @cohorts.count %>
+      <%= Education::Cohort.model_name.human(count: @cohorts.count).downcase %>
+    </p>
+  <% end %>
+  <% if @years %>
+    <p>
+      <%= @years.count %>
+      <%= Education::AcademicYear.model_name.human(count: @years.count).downcase %>
+    </p>
+  <% end %>
+  <% if @organizations %>
+    <p>
+      <%= @organizations.count %>
+      <%= University::Organization.model_name.human(count: @organizations.count).downcase %>
+    </p>
+  <% end %>
+<% end %>
\ No newline at end of file
diff --git a/app/views/admin/communication/extranets/show.html.erb b/app/views/admin/communication/extranets/show.html.erb
index 27c4abcd11070866e1fb731dcfd863384b7f0f9f..4e64a85395a9d865503163c4ea92684696f4bc44 100644
--- a/app/views/admin/communication/extranets/show.html.erb
+++ b/app/views/admin/communication/extranets/show.html.erb
@@ -10,29 +10,8 @@
   <% end %>
 <% end %>
 
-<% if @alumni %>
-  <p>
-    <%= @alumni.count %>
-    <%= University::Person::Alumnus.model_name.human(count: @alumni.count).downcase %>
-  </p>
-<% end %>
-<% if @cohorts %>
-  <p>
-    <%= @cohorts.count %>
-    <%= Education::Cohort.model_name.human(count: @cohorts.count).downcase %>
-  </p>
-<% end %>
-<% if @years %>
-  <p>
-    <%= @years.count %>
-    <%= Education::AcademicYear.model_name.human(count: @years.count).downcase %>
-  </p>
-<% end %>
-<% if @organizations %>
-  <p>
-    <%= @organizations.count %>
-    <%= University::Organization.model_name.human(count: @organizations.count).downcase %>
-  </p>
+<%= render 'admin/communication/extranets/sidebar' do %>
+
 <% end %>
 
 <% content_for :action_bar_left do %>
diff --git a/config/routes/admin/communication.rb b/config/routes/admin/communication.rb
index 1e4b5e769f35e002067a223b2224e2d9afecdc85..75bec5370042ed02618cebe244a675b58b2d5b34 100644
--- a/config/routes/admin/communication.rb
+++ b/config/routes/admin/communication.rb
@@ -65,7 +65,9 @@ namespace :communication do
       post :duplicate
     end
   end
-  resources :extranets, controller: 'extranets'
+  resources :extranets, controller: 'extranets' do
+    resources :alumni, only: :index, controller: 'extranets/alumni'
+  end
   resources :alumni do
     collection do
       resources :imports, only: [:index, :show, :new, :create]