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..8d3d74d 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",
  *   }
  * )
  */
@@ -102,7 +104,21 @@ class NodeType extends ConfigEntityBundleBase implements NodeTypeInterface {
    *
    * @var bool
    */
-  protected $display_submitted = TRUE;
+  protected $display_submitted = FALSE;
+
+  /**
+   * Display setting for author
+   * 
+   * @var bool
+   */
+  protected $display_author = TRUE;
+
+  /**
+   * Display setting for date
+   * 
+   * @var bool
+   */
+  protected $display_date = TRUE;
 
   /**
    * {@inheritdoc}
@@ -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/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 }}
