diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module
index b0f1550..ece18c2 100644
--- a/core/modules/comment/comment.module
+++ b/core/modules/comment/comment.module
@@ -654,7 +654,7 @@ function template_preprocess_comment(&$variables) {
 
   if (isset($comment->in_preview)) {
     $variables['title'] = \Drupal::l($comment->getSubject(), new Url('<front>'));
-    $variables['permalink'] = \Drupal::l(t('Permalink'), new Url('<front>'));
+    $variables['contextual_uri'] = \Drupal::l(t('Contextual URI'), new Url('<front>'));
   }
   else {
     $uri = $comment->permalink();
@@ -663,7 +663,7 @@ function template_preprocess_comment(&$variables) {
     $uri->setOption('attributes', $attributes);
     $variables['title'] = \Drupal::l($comment->getSubject(), $uri);
 
-    $variables['permalink'] = \Drupal::l(t('Permalink'), $comment->permalink());
+    $variables['contextual_uri'] = \Drupal::l(t('Contextual URI'), $comment->contextualUri());
   }
 
   $variables['submitted'] = t('Submitted by @username on @datetime', array('@username' => $variables['author'], '@datetime' => $variables['created']));
@@ -686,12 +686,12 @@ function template_preprocess_comment(&$variables) {
     else {
       $variables['parent_changed'] = format_date($comment_parent->getChangedTime());
     }
-    $permalink_uri_parent = $comment_parent->permalink();
-    $attributes = $permalink_uri_parent->getOption('attributes') ?: array();
+    $contextual_uri_parent = $comment_parent->contextualUri();
+    $attributes = $contextual_uri_parent->getOption('attributes') ?: array();
     $attributes += array('class' => array('permalink'), 'rel' => 'bookmark');
-    $permalink_uri_parent->setOption('attributes', $attributes);
-    $variables['parent_title'] = \Drupal::l($comment_parent->getSubject(), $permalink_uri_parent);
-    $variables['parent_permalink'] = \Drupal::l(t('Parent permalink'), $permalink_uri_parent);
+    $contextual_uri_parent->setOption('attributes', $attributes);
+    $variables['parent_title'] = \Drupal::l($comment_parent->getSubject(), $contextual_uri_parent);
+    $variables['parent_contextual_uri'] = \Drupal::l(t('Parent contextual URI'), $contextual_uri_parent);
     $variables['parent'] = t('In reply to @parent_title by @parent_username',
         array('@parent_username' => $variables['parent_author'], '@parent_title' => $variables['parent_title']));
   }
@@ -701,7 +701,7 @@ function template_preprocess_comment(&$variables) {
     $variables['parent_created'] = '';
     $variables['parent_changed'] = '';
     $variables['parent_title'] = '';
-    $variables['parent_permalink'] = '';
+    $variables['parent_contextual_uri'] = '';
     $variables['parent'] = '';
   }
 
diff --git a/core/modules/comment/comment.routing.yml b/core/modules/comment/comment.routing.yml
index 3d698b8..ab5e4bb 100644
--- a/core/modules/comment/comment.routing.yml
+++ b/core/modules/comment/comment.routing.yml
@@ -39,8 +39,8 @@ comment.approve:
 entity.comment.canonical:
   path: '/comment/{comment}'
   defaults:
-    _title_callback: '\Drupal\comment\Controller\CommentController::commentPermalinkTitle'
-    _controller: '\Drupal\comment\Controller\CommentController::commentPermalink'
+    _title_callback: '\Drupal\comment\Controller\CommentController::commentContextualUriTitle'
+    _controller: '\Drupal\comment\Controller\CommentController::commentContextualUri'
   requirements:
     _entity_access: 'comment.view'
     comment: \d+
diff --git a/core/modules/comment/src/CommentInterface.php b/core/modules/comment/src/CommentInterface.php
index 28318ee..841e665 100644
--- a/core/modules/comment/src/CommentInterface.php
+++ b/core/modules/comment/src/CommentInterface.php
@@ -241,10 +241,20 @@ public function setThread($thread);
    * Returns the permalink URL for this comment.
    *
    * @return \Drupal\Core\Url
+   *
+   * @deprecated in Drupal 8.x, will be removed before Drupal 9.0, see
+   *   https://www.drupal.org/node/2113323
    */
   public function permalink();
 
   /**
+   * Returns the contextual URI for this comment.
+   *
+   * @return \Drupal\Core\Url
+   */
+  public function contextualUri();
+
+  /**
    * Get the comment type id for this comment.
    *
    * @return string
diff --git a/core/modules/comment/src/Controller/CommentController.php b/core/modules/comment/src/Controller/CommentController.php
index 5f1b504..8ea6773 100644
--- a/core/modules/comment/src/Controller/CommentController.php
+++ b/core/modules/comment/src/Controller/CommentController.php
@@ -80,15 +80,16 @@ public static function create(ContainerInterface $container) {
    *   A comment entity.
    *
    * @return \Symfony\Component\HttpFoundation\RedirectResponse
+   *   Redirects to the contextual URI for this comment.
    */
   public function commentApprove(CommentInterface $comment) {
     $comment->setPublished(TRUE);
     $comment->save();
 
     drupal_set_message($this->t('Comment approved.'));
-    $permalink_uri = $comment->permalink();
-    $permalink_uri->setAbsolute();
-    return new RedirectResponse($permalink_uri->toString());
+    $contextual_uri = $comment->contextualUri();
+    $contextual_uri->setAbsolute();
+    return new RedirectResponse($contextual_uri->toString());
   }
 
   /**
@@ -113,7 +114,7 @@ public function commentApprove(CommentInterface $comment) {
    * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
    * @throws \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException
    */
-  public function commentPermalink(Request $request, CommentInterface $comment) {
+  public function commentContextualUri(Request $request, CommentInterface $comment) {
     if ($entity = $comment->getCommentedEntity()) {
       // Check access permissions for the entity.
       if (!$entity->access('view')) {
@@ -146,7 +147,7 @@ public function commentPermalink(Request $request, CommentInterface $comment) {
   }
 
   /**
-   * The _title_callback for the page that renders the comment permalink.
+   * The _title_callback for the page that renders the comment contextual Uri.
    *
    * @param \Drupal\comment\CommentInterface $comment
    *   The current comment.
@@ -154,7 +155,7 @@ public function commentPermalink(Request $request, CommentInterface $comment) {
    * @return string
    *   The translated comment subject.
    */
-  public function commentPermalinkTitle(CommentInterface $comment) {
+  public function commentContextualUriTitle(CommentInterface $comment) {
     return $this->entityManager()->getTranslationFromContext($comment)->label();
   }
 
diff --git a/core/modules/comment/src/Entity/Comment.php b/core/modules/comment/src/Entity/Comment.php
index d626be3..94f1fd8 100644
--- a/core/modules/comment/src/Entity/Comment.php
+++ b/core/modules/comment/src/Entity/Comment.php
@@ -199,6 +199,13 @@ public function referencedEntities() {
    * {@inheritdoc}
    */
   public function permalink() {
+    return $this->contextualUri();
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function contextualUri() {
     $uri = $this->urlInfo();
     $uri->setOption('fragment', 'comment-' . $this->id());
     return $uri;
diff --git a/core/modules/comment/src/Form/CommentAdminOverview.php b/core/modules/comment/src/Form/CommentAdminOverview.php
index 3966fca..3efbffd 100644
--- a/core/modules/comment/src/Form/CommentAdminOverview.php
+++ b/core/modules/comment/src/Form/CommentAdminOverview.php
@@ -177,11 +177,11 @@ public function buildForm(array $form, FormStateInterface $form_state, $type = '
     foreach ($comments as $comment) {
       /** @var $commented_entity \Drupal\Core\Entity\EntityInterface */
       $commented_entity = $commented_entities[$comment->getCommentedEntityTypeId()][$comment->getCommentedEntityId()];
-      $comment_permalink = $comment->permalink();
+      $comment_contextual_uri = $comment->contextualUri();
       if ($comment->hasField('comment_body') && ($body = $comment->get('comment_body')->value)) {
-        $attributes = $comment_permalink->getOption('attributes') ?: array();
+        $attributes = $comment_contextual_uri->getOption('attributes') ?: array();
         $attributes += array('title' => Unicode::truncate($body, 128));
-        $comment_permalink->setOption('attributes', $attributes);
+        $comment_contextual_uri->setOption('attributes', $attributes);
       }
       $options[$comment->id()] = array(
         'title' => array('data' => array('#title' => $comment->getSubject() ?: $comment->id())),
@@ -189,7 +189,7 @@ public function buildForm(array $form, FormStateInterface $form_state, $type = '
           'data' => array(
             '#type' => 'link',
             '#title' => $comment->getSubject(),
-            '#url' => $comment_permalink,
+            '#url' => $comment_contextual_uri,
           ),
         ),
         'author' => array(
diff --git a/core/modules/comment/templates/comment.html.twig b/core/modules/comment/templates/comment.html.twig
index 7f0c332..4be0e14 100644
--- a/core/modules/comment/templates/comment.html.twig
+++ b/core/modules/comment/templates/comment.html.twig
@@ -18,7 +18,7 @@
  * - changed: Formatted date and time for when the comment was last changed.
  *   Preprocess functions can reformat it by calling format_date() with the
  *   desired parameters on the 'comment.changed' variable.
- * - permalink: Comment permalink.
+ * - contextual_uri: Comment contextual URI.
  * - submitted: Submission information created from author and created
  *   during template_preprocess_comment().
  * - user_picture: The comment author's profile picture.
@@ -50,7 +50,7 @@
  * - parent_created: Equivalent to created for the parent comment.
  * - parent_changed: Equivalent to changed for the parent comment.
  * - parent_title: Equivalent to title for the parent comment.
- * - parent_permalink: Equivalent to permalink for the parent comment.
+ * - parent_contextual_uri: Equivalent to contextual URI for the parent comment.
  * - parent: A text string of parent comment submission information created from
  *   'parent_author' and 'parent_created' during template_preprocess_comment().
  *   This information is presented to help screen readers follow lengthy
@@ -88,7 +88,7 @@
       <p class="visually-hidden">{{ parent }}</p>
     {% endif %}
 
-    {{ permalink }}
+    {{ contextual_uri }}
   </footer>
 
   <div{{ content_attributes }}>
diff --git a/core/themes/bartik/css/components/comments.css b/core/themes/bartik/css/components/comments.css
index a80e049..34340aa 100644
--- a/core/themes/bartik/css/components/comments.css
+++ b/core/themes/bartik/css/components/comments.css
@@ -51,7 +51,7 @@
   line-height: 1.2;
 
 }
-.comment__permalink {
+.comment__contextual__uri {
   font-size: 0.733em;
   line-height: 1.2;
 }
diff --git a/core/themes/bartik/templates/comment.html.twig b/core/themes/bartik/templates/comment.html.twig
index d8f54cb..ddd780c 100644
--- a/core/themes/bartik/templates/comment.html.twig
+++ b/core/themes/bartik/templates/comment.html.twig
@@ -18,7 +18,7 @@
  * - changed: Formatted date and time for when the comment was last changed.
  *   Preprocess functions can reformat it by calling format_date() with the
  *   desired parameters on the 'comment.changed' variable.
- * - permalink: Comment permalink.
+ * - contextual_uri: Comment contextual URI.
  * - submitted: Submission information created from author and created
  *   during template_preprocess_comment().
  * - user_picture: The comment author's profile picture.
@@ -50,7 +50,7 @@
  * - parent_created: Equivalent to created for the parent comment.
  * - parent_changed: Equivalent to changed for the parent comment.
  * - parent_title: Equivalent to title for the parent comment.
- * - parent_permalink: Equivalent to permalink for the parent comment.
+ * - parent_contextual_uri: Equivalent to contextual URI for the parent comment.
  * - parent: A text string of parent comment submission information created from
  *   'parent_author' and 'parent_created' during template_preprocess_comment().
  *   This information is presented to help screen readers follow lengthy
@@ -86,7 +86,7 @@
     {{ user_picture }}
     <p class="comment__author">{{ author }}</p>
     <p class="comment__time">{{ created }}</p>
-    <p class="comment__permalink">{{ permalink }}</p>
+    <p class="comment__contextual__uri">{{ permalink }}</p>
     {#
       Indicate the semantic relationship between parent and child comments
       for accessibility. The list is difficult to navigate in a screen
diff --git a/core/themes/classy/templates/content/comment.html.twig b/core/themes/classy/templates/content/comment.html.twig
index a4f7229..b160975 100644
--- a/core/themes/classy/templates/content/comment.html.twig
+++ b/core/themes/classy/templates/content/comment.html.twig
@@ -18,7 +18,7 @@
  * - changed: Formatted date and time for when the comment was last changed.
  *   Preprocess functions can reformat it by calling format_date() with the
  *   desired parameters on the 'comment.changed' variable.
- * - permalink: Comment permalink.
+ * - contextual_uri: Comment contextual URI.
  * - submitted: Submission information created from author and created
  *   during template_preprocess_comment().
  * - user_picture: The comment author's profile picture.
@@ -50,7 +50,7 @@
  * - parent_created: Equivalent to created for the parent comment.
  * - parent_changed: Equivalent to changed for the parent comment.
  * - parent_title: Equivalent to title for the parent comment.
- * - parent_permalink: Equivalent to permalink for the parent comment.
+ * - parent_contextual_uri: Equivalent to contextual URI for the parent comment.
  * - parent: A text string of parent comment submission information created from
  *   'parent_author' and 'parent_created' during template_preprocess_comment().
  *   This information is presented to help screen readers follow lengthy
@@ -97,7 +97,7 @@
       <p class="parent visually-hidden">{{ parent }}</p>
     {% endif %}
 
-    {{ permalink }}
+    {{ contextual_uri }}
   </footer>
 
   <div{{ content_attributes.addClass('content') }}>
