diff --git a/core/themes/olivero/templates/content/comment.html.twig b/core/themes/olivero/templates/content/comment.html.twig
index dca937fff0a542f8e257b08823f9532768068683..1306e56d72862d4e2336c78c0eaf8c0824bd4a22 100644
--- a/core/themes/olivero/templates/content/comment.html.twig
+++ b/core/themes/olivero/templates/content/comment.html.twig
@@ -4,7 +4,7 @@
  * Olivero's theme implementation for comments.
  *
  * Available variables:
- * - author: Comment author. Can be a link or plain text.
+ * - author: (optional) Comment author. Can be a link or plain text.
  * - content: The content-related items for the comment display. Use
  *   {{ content }} to print them all, or print a subset such as
  *   {{ content.field_example }}. Use the following code to temporarily suppress
@@ -12,22 +12,24 @@
  *   @code
  *   {{ content|without('field_example') }}
  *   @endcode
- * - created: Formatted date and time for when the comment was created.
- *   Preprocess functions can reformat it by calling DateFormatter::format()
- *   with the desired parameters on the 'comment.created' variable.
- * - changed: Formatted date and time for when the comment was last changed.
- *   Preprocess functions can reformat it by calling DateFormatter::format()
- *   with the desired parameters on the 'comment.changed' variable.
+ * - created: (optional) Formatted date and time for when the comment was
+ *   created. Preprocess functions can reformat it by calling
+ *   DateFormatter::format() with the desired parameters on the
+ *   'comment.created' variable.
+ * - changed: (optional) Formatted date and time for when the comment was last
+ *   changed. Preprocess functions can reformat it by calling
+ *   DateFormatter::format() with the desired parameters on the
+ *   'comment.changed' variable.
  * - permalink: Comment permalink.
- * - submitted: Submission information created from author and created
- *   during template_preprocess_comment().
- * - user_picture: The comment author's profile picture.
+ * - submitted: (optional) Submission information created from author and
+ *   created during template_preprocess_comment().
+ * - user_picture: (optional) The comment author's profile picture.
  * - status: Comment status. Possible values are:
  *   unpublished, published, or preview.
- * - title: Comment title, linked to the comment.
+ * - title: (optional) Comment title, linked to the comment.
  * - attributes: HTML attributes for the containing element.
  *   The attributes.class may contain one or more of the following classes:
- *   - comment: The current template type; e.g., 'theming hook'.
+ *   - comment: The current template type; for instance, 'theming hook'.
  *   - by-anonymous: Comment by an unregistered user.
  *   - by-{entity-type}-author: Comment by the author of the parent entity,
  *     eg. by-node-author.
@@ -38,13 +40,13 @@
  *   displayed in front of the main title tag that appears in the template.
  * - title_suffix: Additional output populated by modules, intended to be
  *   displayed after the main title tag that appears in the template.
+ * - content_attributes: List of classes for the styling of the comment content.
  * - title_attributes: Same as attributes, except applied to the main title
  *   tag that appears in the template.
- * - content_attributes: List of classes for the styling of the comment content.
  * - threaded: A flag indicating whether the comments are threaded or not.
  *
  * These variables are provided to give context about the parent comment (if
- * any):
+ * any, optional):
  * - parent_comment: Full parent comment entity (if any).
  * - parent_author: Equivalent to author for the parent comment.
  * - parent_created: Equivalent to created for the parent comment.
@@ -83,24 +85,28 @@
   #}
   <span class="hidden" data-comment-timestamp="{{ new_indicator_timestamp }}"></span>
 
-  <div class="comment__picture-wrapper">
-    <div class="comment__picture">
-      {{ user_picture }}
+  {% if submitted %}
+    <div class="comment__picture-wrapper">
+      <div class="comment__picture">
+        {{ user_picture }}
+      </div>
     </div>
-  </div>
+  {% endif %}
   <div class="comment__text-wrapper">
-    <footer class="comment__meta">
-      <p class="comment__author">{{ author }}</p>
-      <p class="comment__time">{{ created }}</p>
-      {#
-        Indicate the semantic relationship between parent and child comments
-        for accessibility. The list is difficult to navigate in a screen
-        reader without this information.
-       #}
-      {% if parent %}
-        <p class="visually-hidden">{{ parent }}</p>
-      {% endif %}
-    </footer>
+    {% if submitted %}
+      <footer class="comment__meta">
+        <p class="comment__author">{{ author }}</p>
+        <p class="comment__time">{{ created }}</p>
+        {#
+          Indicate the semantic relationship between parent and child comments
+          for accessibility. The list is difficult to navigate in a screen
+          reader without this information.
+         #}
+        {% if parent %}
+          <p class="visually-hidden">{{ parent }}</p>
+        {% endif %}
+      </footer>
+    {% endif %}
     <div{{ content_attributes.addClass('comment__content') }}>
       {% if title %}
         {{ title_prefix }}
diff --git a/core/themes/starterkit_theme/templates/content/comment.html.twig b/core/themes/starterkit_theme/templates/content/comment.html.twig
index 5838c62915961753be6a55d227afe8ca499619d9..41c64901a3884823d87ea6ff926d8038860993c9 100644
--- a/core/themes/starterkit_theme/templates/content/comment.html.twig
+++ b/core/themes/starterkit_theme/templates/content/comment.html.twig
@@ -4,7 +4,7 @@
  * Theme override for comments.
  *
  * Available variables:
- * - author: Comment author. Can be a link or plain text.
+ * - author: (optional) Comment author. Can be a link or plain text.
  * - content: The content-related items for the comment display. Use
  *   {{ content }} to print them all, or print a subset such as
  *   {{ content.field_example }}. Use the following code to temporarily suppress
@@ -12,22 +12,24 @@
  *   @code
  *   {{ content|without('field_example') }}
  *   @endcode
- * - created: Formatted date and time for when the comment was created.
- *   Preprocess functions can reformat it by calling DateFormatter::format()
- *   with the desired parameters on the 'comment.created' variable.
- * - changed: Formatted date and time for when the comment was last changed.
- *   Preprocess functions can reformat it by calling DateFormatter::format()
- *   with the desired parameters on the 'comment.changed' variable.
+ * - created: (optional) Formatted date and time for when the comment was
+ *   created. Preprocess functions can reformat it by calling
+ *   DateFormatter::format() with the desired parameters on the
+ *   'comment.created' variable.
+ * - changed: (optional) Formatted date and time for when the comment was last
+ *   changed. Preprocess functions can reformat it by calling
+ *   DateFormatter::format() with the desired parameters on the
+ *   'comment.changed' variable.
  * - permalink: Comment permalink.
- * - submitted: Submission information created from author and created
- *   during template_preprocess_comment().
- * - user_picture: The comment author's profile picture.
+ * - submitted: (optional) Submission information created from author and
+ *   created during template_preprocess_comment().
+ * - user_picture: (optional) The comment author's profile picture.
  * - status: Comment status. Possible values are:
  *   unpublished, published, or preview.
- * - title: Comment title, linked to the comment.
+ * - title: (optional) Comment title, linked to the comment.
  * - attributes: HTML attributes for the containing element.
  *   The attributes.class may contain one or more of the following classes:
- *   - comment: The current template type; e.g., 'theming hook'.
+ *   - comment: The current template type; for instance, 'theming hook'.
  *   - by-anonymous: Comment by an unregistered user.
  *   - by-{entity-type}-author: Comment by the author of the parent entity,
  *     eg. by-node-author.
@@ -44,7 +46,7 @@
  * - threaded: A flag indicating whether the comments are threaded or not.
  *
  * These variables are provided to give context about the parent comment (if
- * any):
+ * any, optional):
  * - parent_comment: Full parent comment entity (if any).
  * - parent_author: Equivalent to author for the parent comment.
  * - parent_created: Equivalent to created for the parent comment.
@@ -84,21 +86,23 @@
   #}
   <mark class="hidden" data-comment-timestamp="{{ new_indicator_timestamp }}"></mark>
 
-  <footer class="comment__meta">
-    {{ user_picture }}
-    <p class="comment__submitted">{{ submitted }}</p>
+  {% if submitted %}
+    <footer class="comment__meta">
+      {{ user_picture }}
+      <p class="comment__submitted">{{ submitted }}</p>
 
-    {#
-      Indicate the semantic relationship between parent and child comments for
-      accessibility. The list is difficult to navigate in a screen reader
-      without this information.
-    #}
-    {% if parent %}
-      <p class="parent visually-hidden">{{ parent }}</p>
-    {% endif %}
+      {#
+        Indicate the semantic relationship between parent and child comments for
+        accessibility. The list is difficult to navigate in a screen reader
+        without this information.
+      #}
+      {% if parent %}
+        <p class="parent visually-hidden">{{ parent }}</p>
+      {% endif %}
 
-    {{ permalink }}
-  </footer>
+      {{ permalink }}
+    </footer>
+  {% endif %}
 
   <div{{ content_attributes.addClass('content') }}>
     {% if title %}