diff --git a/core/modules/block_content/block_content.links.menu.yml b/core/modules/block_content/block_content.links.menu.yml
new file mode 100644
index 0000000..3a0bec8
--- /dev/null
+++ b/core/modules/block_content/block_content.links.menu.yml
@@ -0,0 +1,6 @@
+entity.block_content.collection:
+  title: 'Custom block library'
+  route_name: entity.block_content.collection
+  parent: system.admin_content
+  description: 'Create and edit Custom block content.'
+
diff --git a/core/modules/block_content/block_content.links.task.yml b/core/modules/block_content/block_content.links.task.yml
index 0b4256b..00b6f42 100644
--- a/core/modules/block_content/block_content.links.task.yml
+++ b/core/modules/block_content/block_content.links.task.yml
@@ -1,16 +1,7 @@
-entity.block_content.collection:
-  title: 'Custom block library'
-  route_name: entity.block_content.collection
-  base_route: block.admin_display
-block_content.list_sub:
-  title: Blocks
-  route_name: entity.block_content.collection
-  parent_id: entity.block_content.collection
 entity.block_content_type.collection:
   title: Block types
   route_name: entity.block_content_type.collection
-  parent_id: entity.block_content.collection
-  weight: 1
+  base_route: block.admin_display
 
 entity.block_content.canonical:
   title: Edit
diff --git a/core/modules/block_content/block_content.module b/core/modules/block_content/block_content.module
index 3adc979..bc3b775 100644
--- a/core/modules/block_content/block_content.module
+++ b/core/modules/block_content/block_content.module
@@ -33,7 +33,7 @@ function block_content_help($route_name, RouteMatchInterface $route_match) {
       return $output;
 
     case 'entity.block_content_type.collection':
-      $output = '<p>' . t('Each block type has its own fields and display settings. Create blocks of each type on the <a href=":block-library">Blocks</a> page in the custom block library.', [':block-library' => \Drupal::url('entity.block_content.collection')]) . '</p>';
+      $output = '<p>' . t('After creating a custom block type, you can create content of that type by clicking <em>Place block</em> on the <a href=":block-layout">Block layout</a> page or in the <a href=":block-library">Custom block library</a>.', [':block-library' => \Drupal::url('entity.block_content.collection'), ':block-layout' => \Drupal::url('block.admin_display')]) . '</p>';
       return $output;
 
   }
diff --git a/core/modules/block_content/block_content.post_update.php b/core/modules/block_content/block_content.post_update.php
new file mode 100644
index 0000000..c9b97b3
--- /dev/null
+++ b/core/modules/block_content/block_content.post_update.php
@@ -0,0 +1,22 @@
+<?php
+
+use Drupal\views\Entity\View;
+
+/**
+ * Moves the custom block library to Content.
+ */
+function block_content_post_update_move_custom_block_library() {
+  if (Drupal::service('module_handler')->moduleExists('views')) {
+    if ($view = View::load('block_content')) {
+      $display =& $view->getDisplay('page_1');
+      if (!empty($display)) {
+        $display['display_options']['path'] = 'admin/content/block-content';
+        $menu =& $display['display_options']['menu'];
+        $menu['description'] = 'Create and edit custom block content.';
+        $menu['expanded'] = FALSE;
+        $menu['parent'] = 'system.admin_content';
+        $view->save();
+      }
+    }
+  }
+}
diff --git a/core/modules/block_content/block_content.routing.yml b/core/modules/block_content/block_content.routing.yml
index 35724a6..29e2e8f 100644
--- a/core/modules/block_content/block_content.routing.yml
+++ b/core/modules/block_content/block_content.routing.yml
@@ -58,7 +58,7 @@ block_content.type_add:
     _permission: 'administer blocks'
 
 entity.block_content.collection:
-  path: '/admin/structure/block/block-content'
+  path: '/admin/content/block-content'
   defaults:
     _title: 'Custom block library'
     _entity_list: 'block_content'
diff --git a/core/modules/block_content/config/optional/views.view.block_content.yml b/core/modules/block_content/config/optional/views.view.block_content.yml
index 1be5a04..4cf4430 100644
--- a/core/modules/block_content/config/optional/views.view.block_content.yml
+++ b/core/modules/block_content/config/optional/views.view.block_content.yml
@@ -7,7 +7,7 @@ dependencies:
 id: block_content
 label: 'Custom block library'
 module: views
-description: 'Find and manage custom blocks.'
+description: 'Create and edit custom block content.'
 tag: default
 base_table: block_content_field_data
 base_field: id
@@ -477,12 +477,13 @@ display:
     position: 1
     display_options:
       display_extenders: {  }
-      path: admin/structure/block/block-content
+      path: admin/content/block-content
       menu:
         type: tab
         title: 'Custom block library'
-        description: ''
-        parent: block.admin_display
+        description: 'Create and edit custom block content.'
+        expanded: false
+        parent: system.admin_content
         weight: 0
         context: '0'
         menu_name: admin
diff --git a/core/modules/block_content/tests/src/Functional/BlockContentListTest.php b/core/modules/block_content/tests/src/Functional/BlockContentListTest.php
index aba60c3..a6a7b56 100644
--- a/core/modules/block_content/tests/src/Functional/BlockContentListTest.php
+++ b/core/modules/block_content/tests/src/Functional/BlockContentListTest.php
@@ -25,7 +25,7 @@ class BlockContentListTest extends BlockContentTestBase {
    */
   public function testListing() {
     $this->drupalLogin($this->drupalCreateUser(['administer blocks', 'translate configuration']));
-    $this->drupalGet('admin/structure/block/block-content');
+    $this->drupalGet('admin/content/block-content');
 
     // Test for the page title.
     $this->assertTitle(t('Custom block library') . ' | Drupal');
diff --git a/core/modules/block_content/tests/src/Functional/BlockContentListViewsTest.php b/core/modules/block_content/tests/src/Functional/BlockContentListViewsTest.php
index 1c623be..c991578 100644
--- a/core/modules/block_content/tests/src/Functional/BlockContentListViewsTest.php
+++ b/core/modules/block_content/tests/src/Functional/BlockContentListViewsTest.php
@@ -23,7 +23,7 @@ class BlockContentListViewsTest extends BlockContentTestBase {
    */
   public function testListing() {
     $this->drupalLogin($this->drupalCreateUser(['administer blocks', 'translate configuration']));
-    $this->drupalGet('admin/structure/block/block-content');
+    $this->drupalGet('admin/content/block-content');
 
     // Test for the page title.
     $this->assertTitle(t('Custom block library') . ' | Drupal');
diff --git a/core/modules/block_content/tests/src/Functional/BlockContentTranslationUITest.php b/core/modules/block_content/tests/src/Functional/BlockContentTranslationUITest.php
index 2699fcf..d942c74 100644
--- a/core/modules/block_content/tests/src/Functional/BlockContentTranslationUITest.php
+++ b/core/modules/block_content/tests/src/Functional/BlockContentTranslationUITest.php
@@ -149,7 +149,7 @@ protected function doTestBasicTranslation() {
     }
 
     // Check that the translate operation link is shown.
-    $this->drupalGet('admin/structure/block/block-content');
+    $this->drupalGet('admin/content/block-content');
     $this->assertLinkByHref('block/' . $entity->id() . '/translations');
   }
 
diff --git a/core/modules/block_content/tests/src/Functional/BlockContentTypeTest.php b/core/modules/block_content/tests/src/Functional/BlockContentTypeTest.php
index 8105d3f..c1bd049 100644
--- a/core/modules/block_content/tests/src/Functional/BlockContentTypeTest.php
+++ b/core/modules/block_content/tests/src/Functional/BlockContentTypeTest.php
@@ -121,7 +121,6 @@ public function testBlockContentTypeEditing() {
     $this->assertBreadcrumb('admin/structure/block/block-content/manage/basic/fields', [
       $front_page_path => 'Home',
       'admin/structure/block' => 'Block layout',
-      'admin/structure/block/block-content' => 'Custom block library',
       'admin/structure/block/block-content/manage/basic' => 'Edit Bar',
     ]);
     \Drupal::entityManager()->clearCachedFieldDefinitions();
@@ -233,7 +232,7 @@ public function testsBlockContentAddTypes() {
 
     // Test that adding a block from the 'custom blocks list' doesn't send you
     // to the block configure form.
-    $this->drupalGet('admin/structure/block/block-content');
+    $this->drupalGet('admin/content/block-content');
     $this->clickLink(t('Add custom block'));
     $this->clickLink('foo');
     $edit = ['info[0][value]' => $this->randomMachineName(8)];
diff --git a/core/modules/block_content/tests/src/Functional/Update/BlockContentUpdateTest.php b/core/modules/block_content/tests/src/Functional/Update/BlockContentUpdateTest.php
index f2653b7..b37f772 100644
--- a/core/modules/block_content/tests/src/Functional/Update/BlockContentUpdateTest.php
+++ b/core/modules/block_content/tests/src/Functional/Update/BlockContentUpdateTest.php
@@ -4,6 +4,7 @@
 
 use Drupal\Core\Field\BaseFieldDefinition;
 use Drupal\FunctionalTests\Update\UpdatePathTestBase;
+use Drupal\views\Entity\View;
 
 /**
  * Tests update functions for the Block Content module.
@@ -66,4 +67,28 @@ public function testStatusFieldAddition() {
     $this->assertFalse($schema->fieldExists('block_content_field_data', 'content_translation_status'));
   }
 
+  /**
+   * Tests moving the custom block library to Content.
+   *
+   * @see block_content_post_update_move_custom_block_library()
+   */
+  public function testMoveCustomBlockLibrarytoContent() {
+    $this->runUpdates();
+
+    // Load and initialize the block_content view.
+    $view = View::load('block_content');
+    $data = $view->toArray();
+    // Check that new fields exist and that they are in the correct order.
+    $this->assertEqual($data['display']['page_1']['display_options']['path'], 'admin/content/block-content');
+    $this->assertEqual($data['display']['page_1']['display_options']['menu']['description'], 'Create and edit custom block content.');
+    $this->assertEqual($data['display']['page_1']['display_options']['menu']['expanded'], FALSE);
+    $this->assertEqual($data['display']['page_1']['display_options']['menu']['parent'], 'system.admin_content');
+
+    // Check the new path is accessible.
+    $user =  $this->drupalCreateUser(['administer blocks']);
+    $this->drupalLogin($user);
+    $this->drupalGet('admin/content/block-content');
+    $this->assertResponse(200, 'Custom block library page exists.');
+  }
+
 }
diff --git a/core/modules/block_content/tests/src/Functional/Views/BlockContentRedirectTest.php b/core/modules/block_content/tests/src/Functional/Views/BlockContentRedirectTest.php
index 10ce140..8fd537f 100644
--- a/core/modules/block_content/tests/src/Functional/Views/BlockContentRedirectTest.php
+++ b/core/modules/block_content/tests/src/Functional/Views/BlockContentRedirectTest.php
@@ -28,7 +28,7 @@ class BlockContentRedirectTest extends BlockContentTestBase {
    */
   public function testRedirectDestination() {
     $this->drupalLogin($this->drupalCreateUser(['administer blocks']));
-    $this->drupalGet('admin/structure/block/block-content');
+    $this->drupalGet('admin/content/block-content');
 
     // Create a custom block.
     $this->clickLink('custom block');
diff --git a/core/modules/system/tests/src/Functional/Update/UpdatePathRC1TestBaseFilledTest.php b/core/modules/system/tests/src/Functional/Update/UpdatePathRC1TestBaseFilledTest.php
index 7573fc4..1a0c552 100644
--- a/core/modules/system/tests/src/Functional/Update/UpdatePathRC1TestBaseFilledTest.php
+++ b/core/modules/system/tests/src/Functional/Update/UpdatePathRC1TestBaseFilledTest.php
@@ -164,7 +164,7 @@ public function testUpdatedSite() {
     $this->drupalGet('admin/structure/block');
     $this->assertText('Another block');
     $this->assertText('Test block');
-    $this->drupalGet('admin/structure/block/block-content');
+    $this->drupalGet('admin/content/block-content');
     $this->assertText('Another block');
     $this->assertText('Test block');
 
diff --git a/core/modules/system/tests/src/Functional/Update/UpdatePathTestBaseFilledTest.php b/core/modules/system/tests/src/Functional/Update/UpdatePathTestBaseFilledTest.php
index 2ed58fb..28a5c72 100644
--- a/core/modules/system/tests/src/Functional/Update/UpdatePathTestBaseFilledTest.php
+++ b/core/modules/system/tests/src/Functional/Update/UpdatePathTestBaseFilledTest.php
@@ -165,7 +165,7 @@ public function testUpdatedSite() {
     $this->drupalGet('admin/structure/block');
     $this->assertText('Another block');
     $this->assertText('Test block');
-    $this->drupalGet('admin/structure/block/block-content');
+    $this->drupalGet('admin/content/block-content');
     $this->assertText('Another block');
     $this->assertText('Test block');
 
