diff --git a/core/modules/book/config/install/node.type.book.yml b/core/modules/book/config/install/node.type.book.yml
index 0d1d0c0..195c497 100644
--- a/core/modules/book/config/install/node.type.book.yml
+++ b/core/modules/book/config/install/node.type.book.yml
@@ -11,3 +11,5 @@ help: ''
 new_revision: false
 preview_mode: 1
 display_submitted: true
+display_author: true
+display_date: true
diff --git a/core/modules/forum/config/install/node.type.forum.yml b/core/modules/forum/config/install/node.type.forum.yml
index 8ed965d..d33604e 100644
--- a/core/modules/forum/config/install/node.type.forum.yml
+++ b/core/modules/forum/config/install/node.type.forum.yml
@@ -11,3 +11,5 @@ help: ''
 new_revision: false
 preview_mode: 1
 display_submitted: true
+display_author: true
+display_date: true
diff --git a/core/modules/node/config/schema/node.schema.yml b/core/modules/node/config/schema/node.schema.yml
index 84e4d12..3edcf32 100644
--- a/core/modules/node/config/schema/node.schema.yml
+++ b/core/modules/node/config/schema/node.schema.yml
@@ -33,6 +33,12 @@ node.type.*:
     display_submitted:
       type: boolean
       label: 'Display setting for author and date Submitted by post information'
+    display_author:
+      type: boolean
+      label: 'Display setting for author'
+    display_date:
+      type: boolean
+      label: 'Display setting for date'
 
 # Plugin \Drupal\node\Plugin\Search\NodeSearch
 search.plugin.node_search:
diff --git a/core/modules/node/content_types.js b/core/modules/node/content_types.js
index 96733a2..e2acb8b 100644
--- a/core/modules/node/content_types.js
+++ b/core/modules/node/content_types.js
@@ -51,8 +51,11 @@
         $editContext.find('input:checked').next('label').each(function () {
           vals.push(Drupal.checkPlain($(this).text()));
         });
-        if (!$editContext.find('#edit-display-submitted').is(':checked')) {
-          vals.unshift(Drupal.t("Don't display post information"));
+        if (!$editContext.find('#edit-display-author').is(':checked')) {
+          vals.unshift(Drupal.t("Don't display author information"));
+        }
+        if (!$editContext.find('#edit-display-date').is(':checked')) {
+          vals.unshift(Drupal.t("Don't display date information"));
         }
         return vals.join(', ');
       });
diff --git a/core/modules/node/node.module b/core/modules/node/node.module
index a54fc0a..51e7d19 100644
--- a/core/modules/node/node.module
+++ b/core/modules/node/node.module
@@ -601,8 +601,10 @@ function template_preprocess_node(&$variables) {
 
   // Display post information only on certain node types.
   $node_type = $node->type->entity;
+
   // Used by RDF to add attributes around the author and date submitted.
   $variables['author_attributes'] = new Attribute();
+
   $variables['display_submitted'] = $node_type->displaySubmitted();
   if ($variables['display_submitted']) {
     if (theme_get_setting('features.node_user_picture')) {
@@ -612,6 +614,17 @@ function template_preprocess_node(&$variables) {
       $variables['author_picture'] = user_view($node->getOwner(), 'compact');
     }
   }
+  
+  $variables['display_author'] = $node_type->displayAuthor();
+  $variables['display_date'] = $node_type->displayDate();
+  if ($variables['display_author']) {
+    if (theme_get_setting('features.node_user_picture')) {
+      // To change user picture settings (e.g. image style), edit the 'compact'
+      // view mode on the User entity. Note that the 'compact' view mode might
+      // not be configured, so remember to always check the theme setting first.
+      $variables['author_picture'] = user_view($node->getOwner(), 'compact');
+    }
+  }
 
   // Add article ARIA role.
   $variables['attributes']['role'] = 'article';
diff --git a/core/modules/node/src/Entity/NodeType.php b/core/modules/node/src/Entity/NodeType.php
index 2867e53..2042a37 100644
--- a/core/modules/node/src/Entity/NodeType.php
+++ b/core/modules/node/src/Entity/NodeType.php
@@ -46,6 +46,8 @@
  *     "new_revision",
  *     "preview_mode",
  *     "display_submitted",
+ *     "display_author",
+ *     "display_date",
  *   }
  * )
  */
@@ -105,6 +107,20 @@ class NodeType extends ConfigEntityBundleBase implements NodeTypeInterface {
   protected $display_submitted = TRUE;
 
   /**
+   * Display setting for author
+   * 
+   * @var bool
+   */
+  protected $display_author = TRUE;
+
+  /**
+   * Display setting for date
+   * 
+   * @var bool
+   */
+  protected $display_date = TRUE;
+
+  /**
    * {@inheritdoc}
    */
   public function id() {
@@ -150,6 +166,34 @@ public function setDisplaySubmitted($display_submitted) {
   /**
    * {@inheritdoc}
    */
+  public function displayAuthor() {
+    return $this->display_author;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function setDisplayAuthor($display_author) {
+    $this->display_author = $display_author;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function displayDate() {
+    return $this->display_date;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function setDisplayDate($display_date) {
+    $this->display_date = $display_date;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
   public function getPreviewMode() {
     return $this->preview_mode;
   }
diff --git a/core/modules/node/src/NodeTypeForm.php b/core/modules/node/src/NodeTypeForm.php
index e4f8cf5..9434768 100644
--- a/core/modules/node/src/NodeTypeForm.php
+++ b/core/modules/node/src/NodeTypeForm.php
@@ -181,11 +181,18 @@ public function form(array $form, FormStateInterface $form_state) {
       '#title' => t('Display settings'),
       '#group' => 'additional_settings',
     );
-    $form['display']['display_submitted'] = array(
+    
+    $form['display']['display_author'] = array(
       '#type' => 'checkbox',
-      '#title' => t('Display author and date information'),
-      '#default_value' => $type->displaySubmitted(),
-      '#description' => t('Author username and publish date will be displayed.'),
+      '#title' => t('Display author information'),
+      '#default_value' => $type->displayAuthor(),
+      '#description' => t('Author username will be displayed.'),
+    );
+    $form['display']['display_date'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Display date information'),
+      '#default_value' => $type->displayDate(),
+      '#description' => t('Publish date will be displayed.'),
     );
 
     return $this->protectBundleIdElement($form);
diff --git a/core/modules/node/src/NodeTypeInterface.php b/core/modules/node/src/NodeTypeInterface.php
index 5ba0f94..cd55808 100644
--- a/core/modules/node/src/NodeTypeInterface.php
+++ b/core/modules/node/src/NodeTypeInterface.php
@@ -55,6 +55,38 @@ public function displaySubmitted();
   public function setDisplaySubmitted($display_submitted);
 
   /**
+   * Gets whether 'Submitted by' author information should be shown.
+   *
+   * @return bool
+   *   TRUE if the submitted by information should be shown.
+   */
+  public function displayAuthor();
+
+  /**
+   * Sets whether 'Submitted by' author information should be shown.
+   *
+   * @param bool $display_author
+   *   TRUE if the submitted by information should be shown.
+   */
+  public function setDisplayAuthor($display_author);
+
+  /**
+   * Gets whether 'Submitted by' date information should be shown.
+   *
+   * @return bool
+   *   TRUE if the submitted by information should be shown.
+   */
+  public function displayDate();
+
+  /**
+   * Sets whether 'Submitted by' date information should be shown.
+   *
+   * @param bool $display_date
+   *   TRUE if the submitted by information should be shown.
+   */
+  public function setDisplayDate($display_date);
+
+  /**
    * Gets the preview mode.
    *
    * @return int
diff --git a/core/modules/node/src/Tests/NodePostSettingsTest.php b/core/modules/node/src/Tests/NodePostSettingsTest.php
index a776347..40da563 100644
--- a/core/modules/node/src/Tests/NodePostSettingsTest.php
+++ b/core/modules/node/src/Tests/NodePostSettingsTest.php
@@ -30,6 +30,8 @@ function testPagePostInfo() {
     // Set "Basic page" content type to display post information.
     $edit = array();
     $edit['display_submitted'] = TRUE;
+    $edit['display_author'] = TRUE;
+    $edit['display_date'] = TRUE;
     $this->drupalPostForm('admin/structure/types/manage/page', $edit, t('Save content type'));
 
     // Create a node.
@@ -47,6 +49,8 @@ function testPagePostInfo() {
     // Set "Basic page" content type to display post information.
     $edit = array();
     $edit['display_submitted'] = FALSE;
+    $edit['display_author'] = FALSE;
+    $edit['display_date'] = FALSE;
     $this->drupalPostForm('admin/structure/types/manage/page', $edit, t('Save content type'));
 
     // Create a node.
diff --git a/core/modules/node/src/Tests/NodeTestBase.php b/core/modules/node/src/Tests/NodeTestBase.php
index 1640a79..b2fa122 100644
--- a/core/modules/node/src/Tests/NodeTestBase.php
+++ b/core/modules/node/src/Tests/NodeTestBase.php
@@ -42,6 +42,8 @@ protected function setUp() {
         'type' => 'page',
         'name' => 'Basic page',
         'display_submitted' => FALSE,
+        'display_author' => FALSE,
+        'display_date' => FALSE,
       ));
       $this->drupalCreateContentType(array('type' => 'article', 'name' => 'Article'));
     }
diff --git a/core/modules/node/templates/node.html.twig b/core/modules/node/templates/node.html.twig
index e7e353d..24ca826 100644
--- a/core/modules/node/templates/node.html.twig
+++ b/core/modules/node/templates/node.html.twig
@@ -75,13 +75,28 @@
   {% endif %}
   {{ title_suffix }}
 
-  {% if display_submitted %}
+  {% if display_author and display_date %}
     <footer>
       {{ author_picture }}
       <div{{ author_attributes }}>
         {% trans %}Submitted by {{ author_name }} on {{ date }}{% endtrans %}
         {{ metadata }}
       </div>
+    </footer>>
+  {% elseif display_author %}
+    <footer>
+      {{ author_picture }}
+      <div{{ author_attributes }}>
+        {% trans %}Submitted by {{ author_name }}{% endtrans %}
+        {{ metadata }}
+      </div>
+    </footer>
+  {% elseif display_date %}
+    <footer>
+      <div{{ author_attributes }}>
+        {% trans %}Submitted on {{ date }}{% endtrans %}
+        {{ metadata }}
+      </div>
     </footer>
   {% endif %}
 
diff --git a/core/modules/node/tests/modules/node_test_config/config/install/node.type.default.yml b/core/modules/node/tests/modules/node_test_config/config/install/node.type.default.yml
index 33d62b3..2447156 100644
--- a/core/modules/node/tests/modules/node_test_config/config/install/node.type.default.yml
+++ b/core/modules/node/tests/modules/node_test_config/config/install/node.type.default.yml
@@ -4,6 +4,8 @@ description: 'Default description.'
 help: ''
 new_revision: false
 display_submitted: true
+display_author: true
+display_date: true
 preview_mode: 1
 status: true
 langcode: en
diff --git a/core/modules/node/tests/modules/node_test_config/sync/node.type.import.yml b/core/modules/node/tests/modules/node_test_config/sync/node.type.import.yml
index f1bafe4..7b8f188 100644
--- a/core/modules/node/tests/modules/node_test_config/sync/node.type.import.yml
+++ b/core/modules/node/tests/modules/node_test_config/sync/node.type.import.yml
@@ -4,6 +4,8 @@ description: 'Import description.'
 help: ''
 new_revision: false
 display_submitted: true
+display_author: true
+display_date: true
 preview_mode: 1
 status: true
 langcode: en
diff --git a/core/modules/options/tests/options_config_install_test/config/install/node.type.options_install_test.yml b/core/modules/options/tests/options_config_install_test/config/install/node.type.options_install_test.yml
index 5d843bc..c8c424e 100644
--- a/core/modules/options/tests/options_config_install_test/config/install/node.type.options_install_test.yml
+++ b/core/modules/options/tests/options_config_install_test/config/install/node.type.options_install_test.yml
@@ -8,4 +8,6 @@ help: null
 new_revision: false
 preview_mode: 1
 display_submitted: true
+display_author: true
+display_date: true
 third_party_settings: {  }
diff --git a/core/modules/rdf/rdf.module b/core/modules/rdf/rdf.module
index 33a3e92..94522b4 100644
--- a/core/modules/rdf/rdf.module
+++ b/core/modules/rdf/rdf.module
@@ -319,7 +319,7 @@ function rdf_preprocess_node(&$variables) {
 
   // Adds RDFa markup for the date.
   $created_mapping = $mapping->getPreparedFieldMapping('created');
-  if (!empty($created_mapping) && $variables['display_submitted']) {
+  if (!empty($created_mapping) && ($variables['display_submitted'] || $variables['display_date'])) {
     $date_attributes = rdf_rdfa_attributes($created_mapping, $variables['node']->get('created')->first()->toArray());
     $rdf_metadata = array(
       '#theme' => 'rdf_metadata',
diff --git a/core/modules/search/src/Tests/SearchExactTest.php b/core/modules/search/src/Tests/SearchExactTest.php
index e4f3511..cf29f90 100644
--- a/core/modules/search/src/Tests/SearchExactTest.php
+++ b/core/modules/search/src/Tests/SearchExactTest.php
@@ -62,7 +62,8 @@ function testExactQuery() {
 
     // Check that with post settings turned on the post information is displayed.
     $node_type_config = \Drupal::configFactory()->getEditable('node.type.page');
-    $node_type_config->set('display_submitted', TRUE);
+    $node_type_config->set('display_author', TRUE);
+    $node_type_config->set('display_date', TRUE);
     $node_type_config->save();
 
     $edit = array('keys' => 'Druplicon');
@@ -72,7 +73,8 @@ function testExactQuery() {
 
     // Check that with post settings turned off the user and changed date
     // information is not displayed.
-    $node_type_config->set('display_submitted', FALSE);
+    $node_type_config->set('display_author', FALSE);
+    $node_type_config->set('display_date', FALSE);
     $node_type_config->save();
     $edit = array('keys' => 'Druplicon');
     $this->drupalPostForm('search/node', $edit, t('Search'));
diff --git a/core/modules/statistics/tests/themes/statistics_test_attached/node.html.twig b/core/modules/statistics/tests/themes/statistics_test_attached/node.html.twig
index 03bb578..deff1d5 100644
--- a/core/modules/statistics/tests/themes/statistics_test_attached/node.html.twig
+++ b/core/modules/statistics/tests/themes/statistics_test_attached/node.html.twig
@@ -8,13 +8,28 @@
   {% endif %}
   {{ title_suffix }}
 
-  {% if display_submitted %}
+  {% if display_author and display_date %}
     <footer>
       {{ author_picture }}
       <div{{ author_attributes }}>
         {% trans %}Submitted by {{ author_name }} on {{ date }}{% endtrans %}
         {{ metadata }}
       </div>
+    </footer>>
+  {% elseif display_author %}
+    <footer>
+      {{ author_picture }}
+      <div{{ author_attributes }}>
+        {% trans %}Submitted by {{ author_name }}{% endtrans %}
+        {{ metadata }}
+      </div>
+    </footer>
+  {% elseif display_date %}
+    <footer>
+      <div{{ author_attributes }}>
+        {% trans %}Submitted on {{ date }}{% endtrans %}
+        {{ metadata }}
+      </div>
     </footer>
   {% endif %}
 
diff --git a/core/modules/system/src/Tests/Theme/TwigWhiteListTest.php b/core/modules/system/src/Tests/Theme/TwigWhiteListTest.php
index 99612c2..085b4f1 100644
--- a/core/modules/system/src/Tests/Theme/TwigWhiteListTest.php
+++ b/core/modules/system/src/Tests/Theme/TwigWhiteListTest.php
@@ -53,7 +53,8 @@ protected function setUp() {
     NodeType::create([
       'type' => 'page',
       'name' => 'Basic page',
-      'display_submitted' => FALSE,
+      'display_author' => FALSE,
+      'display_date' => FALSE,
     ])->save();
     // Add a vocabulary so we can test different view modes.
     $vocabulary = Vocabulary::create([
diff --git a/core/profiles/standard/config/install/node.type.article.yml b/core/profiles/standard/config/install/node.type.article.yml
index cc5f7b8..6dd7b85 100644
--- a/core/profiles/standard/config/install/node.type.article.yml
+++ b/core/profiles/standard/config/install/node.type.article.yml
@@ -8,3 +8,5 @@ help: ''
 new_revision: false
 preview_mode: 1
 display_submitted: true
+display_author: true
+display_date: true
diff --git a/core/profiles/standard/config/install/node.type.page.yml b/core/profiles/standard/config/install/node.type.page.yml
index 70bed48..6ec7b08 100644
--- a/core/profiles/standard/config/install/node.type.page.yml
+++ b/core/profiles/standard/config/install/node.type.page.yml
@@ -8,3 +8,5 @@ help: ''
 new_revision: false
 preview_mode: 1
 display_submitted: false
+display_author: false
+display_date: false
diff --git a/core/themes/bartik/templates/node.html.twig b/core/themes/bartik/templates/node.html.twig
index 5d509aa..a8c2f73 100644
--- a/core/themes/bartik/templates/node.html.twig
+++ b/core/themes/bartik/templates/node.html.twig
@@ -80,7 +80,8 @@
       </h2>
     {% endif %}
     {{ title_suffix }}
-    {% if display_submitted %}
+
+    {% if display_author and display_date %}
       <div class="node__meta">
         {{ author_picture }}
         <span{{ author_attributes }}>
@@ -88,7 +89,23 @@
         </span>
         {{ metadata }}
       </div>
+    {% elseif display_author %}
+      <div class="node__meta">
+        {{ author_picture }}
+        <span{{ author_attributes }}>
+          {% trans %}Submitted by {{ author_name }}{% endtrans %}
+        </span>
+        {{ metadata }}
+      </div>
+    {% elseif display_date %}
+      <div class="node__meta">
+        <span{{ author_attributes }}>
+          {% trans %}Submitted on {{ date }}{% endtrans %}
+        </span>
+        {{ metadata }}
+      </div>
     {% endif %}
+    
   </header>
   <div{{ content_attributes.addClass('node__content', 'clearfix') }}>
     {{ content }}
diff --git a/core/themes/classy/templates/content/node.html.twig b/core/themes/classy/templates/content/node.html.twig
index 5af7c25..9719778 100644
--- a/core/themes/classy/templates/content/node.html.twig
+++ b/core/themes/classy/templates/content/node.html.twig
@@ -84,13 +84,28 @@
   {% endif %}
   {{ title_suffix }}
 
-  {% if display_submitted %}
-    <footer class="node__meta">
+  {% if display_author and display_date %}
+    <footer>
       {{ author_picture }}
-      <div{{ author_attributes.addClass('node__submitted') }}>
+      <div{{ author_attributes }}>
         {% trans %}Submitted by {{ author_name }} on {{ date }}{% endtrans %}
         {{ metadata }}
       </div>
+    </footer>>
+  {% elseif display_author %}
+    <footer>
+      {{ author_picture }}
+      <div{{ author_attributes }}>
+        {% trans %}Submitted by {{ author_name }}{% endtrans %}
+        {{ metadata }}
+      </div>
+    </footer>
+  {% elseif display_date %}
+    <footer>
+      <div{{ author_attributes }}>
+        {% trans %}Submitted on {{ date }}{% endtrans %}
+        {{ metadata }}
+      </div>
     </footer>
   {% endif %}
 
diff --git a/core/themes/stable/templates/content/node.html.twig b/core/themes/stable/templates/content/node.html.twig
index 68a92ea..413d4ac 100644
--- a/core/themes/stable/templates/content/node.html.twig
+++ b/core/themes/stable/templates/content/node.html.twig
@@ -73,13 +73,28 @@
   {% endif %}
   {{ title_suffix }}
 
-  {% if display_submitted %}
+  {% if display_author and display_date %}
     <footer>
       {{ author_picture }}
       <div{{ author_attributes }}>
         {% trans %}Submitted by {{ author_name }} on {{ date }}{% endtrans %}
         {{ metadata }}
       </div>
+    </footer>>
+  {% elseif display_author %}
+    <footer>
+      {{ author_picture }}
+      <div{{ author_attributes }}>
+        {% trans %}Submitted by {{ author_name }}{% endtrans %}
+        {{ metadata }}
+      </div>
+    </footer>
+  {% elseif display_date %}
+    <footer>
+      <div{{ author_attributes }}>
+        {% trans %}Submitted on {{ date }}{% endtrans %}
+        {{ metadata }}
+      </div>
     </footer>
   {% endif %}