diff --git a/core/modules/aggregator/src/Plugin/views/row/Rss.php b/core/modules/aggregator/src/Plugin/views/row/Rss.php
index 72410e5..72425ae 100644
--- a/core/modules/aggregator/src/Plugin/views/row/Rss.php
+++ b/core/modules/aggregator/src/Plugin/views/row/Rss.php
@@ -69,7 +69,7 @@ public function render($row) {
         'key' => 'guid',
         // views_view_row_rss takes care about the escaping.
         'value' => $entity->guid->value,
-        'attributes' => array('isPermaLink' => 'false'),
+        'attributes' => array('isContextualUri' => 'false'),
       ),
     );
 
diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module
index 035461f..122a2e3 100644
--- a/core/modules/comment/comment.module
+++ b/core/modules/comment/comment.module
@@ -641,16 +641,16 @@ 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->urlInfo();
     $attributes = $uri->getOption('attributes') ?: array();
-    $attributes += array('class' => array('permalink'), 'rel' => 'bookmark');
+    $attributes += array('class' => array('contextual_uri'), 'rel' => 'bookmark');
     $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']));
@@ -673,12 +673,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();
-    $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 = $comment_parent->contextualUri();
+    $attributes = $contextual_uri_parent->getOption('attributes') ?: array();
+    $attributes += array('class' => array('contextual_uri'), 'rel' => 'bookmark');
+    $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']));
   }
@@ -688,7 +688,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 fea8cc1..f6a1b2a 100644
--- a/core/modules/comment/comment.routing.yml
+++ b/core/modules/comment/comment.routing.yml
@@ -37,8 +37,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'
 
diff --git a/core/modules/comment/src/CommentInterface.php b/core/modules/comment/src/CommentInterface.php
index c141706..1b1c29f 100644
--- a/core/modules/comment/src/CommentInterface.php
+++ b/core/modules/comment/src/CommentInterface.php
@@ -251,11 +251,11 @@ public function getThread();
   public function setThread($thread);
 
   /**
-   * Returns the permalink URL for this comment.
+   * Returns the contextual URI for this comment.
    *
    * @return \Drupal\Core\Url
    */
-  public function permalink();
+  public function contextualUri();
 
   /**
    * Get the comment type id for this comment.
diff --git a/core/modules/comment/src/Controller/CommentController.php b/core/modules/comment/src/Controller/CommentController.php
index e145125..f663de9 100644
--- a/core/modules/comment/src/Controller/CommentController.php
+++ b/core/modules/comment/src/Controller/CommentController.php
@@ -83,16 +83,16 @@ public static function create(ContainerInterface $container) {
    *   A comment entity.
    *
    * @return \Symfony\Component\HttpFoundation\RedirectResponse.
-   *   Redirects to the permalink URL for this comment.
+   *   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());
   }
 
   /**
@@ -117,7 +117,7 @@ public function commentApprove(CommentInterface $comment) {
    * @return \Symfony\Component\HttpFoundation\Response
    *   The comment listing set to the page on which the comment appears.
    */
-  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')) {
@@ -142,7 +142,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.
@@ -150,7 +150,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 798a69f..5b429df 100644
--- a/core/modules/comment/src/Entity/Comment.php
+++ b/core/modules/comment/src/Entity/Comment.php
@@ -190,7 +190,7 @@ public function referencedEntities() {
   /**
    * {@inheritdoc}
    */
-  public function permalink() {
+  public function contextualUri() {
     $entity = $this->getCommentedEntity();
     $uri = $entity->urlInfo();
     $uri->setOption('fragment', 'comment-' . $this->id());
diff --git a/core/modules/comment/src/Form/CommentAdminOverview.php b/core/modules/comment/src/Form/CommentAdminOverview.php
index 9205de8..bb3c651 100644
--- a/core/modules/comment/src/Form/CommentAdminOverview.php
+++ b/core/modules/comment/src/Form/CommentAdminOverview.php
@@ -191,17 +191,17 @@ public function buildForm(array $form, FormStateInterface $form_state, $type = '
       if (!empty($comment->comment_body->value)) {
         $body = $comment->comment_body->value;
       }
-      $comment_permalink = $comment->permalink();
-      $attributes = $comment_permalink->getOption('attributes') ?: array();
+      $comment_contextual_uri = $comment->contextualUri();
+      $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())),
         'subject' => array(
           'data' => array(
             '#type' => 'link',
             '#title' => $comment->getSubject(),
-            '#url' => $comment_permalink,
+            '#url' => $comment_contextual_uri,
           ),
         ),
         'author' => drupal_render($username),
diff --git a/core/modules/comment/src/Plugin/views/row/Rss.php b/core/modules/comment/src/Plugin/views/row/Rss.php
index 1d8c341..258600e 100644
--- a/core/modules/comment/src/Plugin/views/row/Rss.php
+++ b/core/modules/comment/src/Plugin/views/row/Rss.php
@@ -100,7 +100,7 @@ public function render($row) {
       array(
         'key' => 'guid',
         'value' => 'comment ' . $comment->id() . ' at ' . $base_url,
-        'attributes' => array('isPermaLink' => 'false'),
+        'attributes' => array('isContextualUri' => 'false'),
       ),
     );
 
diff --git a/core/modules/comment/templates/comment.html.twig b/core/modules/comment/templates/comment.html.twig
index 3a7d19b..1d25a33 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.
@@ -49,7 +49,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="visually-hidden">{{ parent }}</p>
     {% endif %}
 
-    {{ permalink }}
+    {{ contextual_uri }}
   </footer>
 
   <div{{ content_attributes }}>
diff --git a/core/modules/node/src/Plugin/views/row/Rss.php b/core/modules/node/src/Plugin/views/row/Rss.php
index b97bb64..5e84251 100644
--- a/core/modules/node/src/Plugin/views/row/Rss.php
+++ b/core/modules/node/src/Plugin/views/row/Rss.php
@@ -127,7 +127,7 @@ public function render($row) {
       array(
         'key' => 'guid',
         'value' => $node->id() . ' at ' . $base_url,
-        'attributes' => array('isPermaLink' => 'false'),
+        'attributes' => array('isContextualUri' => 'false'),
       ),
     );
 
diff --git a/core/modules/views/config/schema/views.row.schema.yml b/core/modules/views/config/schema/views.row.schema.yml
index 4378f0c..9aaf88d 100644
--- a/core/modules/views/config/schema/views.row.schema.yml
+++ b/core/modules/views/config/schema/views.row.schema.yml
@@ -53,9 +53,9 @@ views.row.rss_fields:
         guid_field:
           type: string
           label: 'GUID field'
-        guid_field_is_permalink:
+        guid_field_is_contextual_uri:
           type: boolean
-          label: 'GUID is permalink'
+          label: 'GUID is contextual URI'
 
 views.row.opml_fields:
   type: views_row
diff --git a/core/modules/views/src/Plugin/views/row/RssFields.php b/core/modules/views/src/Plugin/views/row/RssFields.php
index b95b95f..5445362 100644
--- a/core/modules/views/src/Plugin/views/row/RssFields.php
+++ b/core/modules/views/src/Plugin/views/row/RssFields.php
@@ -38,7 +38,7 @@ protected function defineOptions() {
     $options['creator_field'] = array('default' => '');
     $options['date_field'] = array('default' => '');
     $options['guid_field_options']['contains']['guid_field'] = array('default' => '');
-    $options['guid_field_options']['contains']['guid_field_is_permalink'] = array('default' => TRUE);
+    $options['guid_field_options']['contains']['guid_field_is_contextual_uri'] = array('default' => TRUE);
     return $options;
   }
 
@@ -102,11 +102,11 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
       '#default_value' => $this->options['guid_field_options']['guid_field'],
       '#required' => TRUE,
     );
-    $form['guid_field_options']['guid_field_is_permalink'] = array(
+    $form['guid_field_options']['guid_field_is_contextual_uri'] = array(
       '#type' => 'checkbox',
-      '#title' => $this->t('GUID is permalink'),
-      '#description' => $this->t('The RSS item GUID is a permalink.'),
-      '#default_value' => $this->options['guid_field_options']['guid_field_is_permalink'],
+      '#title' => $this->t('GUID is contextual URI'),
+      '#description' => $this->t('The RSS item GUID is a contextual URI.'),
+      '#default_value' => $this->options['guid_field_options']['guid_field_is_contextual_uri'],
     );
   }
 
@@ -156,10 +156,10 @@ public function render($row) {
         'namespace' => array('xmlns:dc' => 'http://purl.org/dc/elements/1.1/'),
       ),
     );
-    $guid_is_permalink_string = 'false';
+    $guid_is_contextual_uri_string = 'false';
     $item_guid = $this->getField($row_index, $this->options['guid_field_options']['guid_field']);
-    if ($this->options['guid_field_options']['guid_field_is_permalink']) {
-      $guid_is_permalink_string = 'true';
+    if ($this->options['guid_field_options']['guid_field_is_contextual_uri']) {
+      $guid_is_contextual_uri_string = 'true';
       // @todo Enforce GUIDs as system-generated rather than user input? See
       //   https://www.drupal.org/node/2430589.
       $item_guid = Url::fromUserInput('/' . $item_guid)->setAbsolute()->toString();
@@ -167,7 +167,7 @@ public function render($row) {
     $item->elements[] = array(
       'key' => 'guid',
       'value' => $item_guid,
-      'attributes' => array('isPermaLink' => $guid_is_permalink_string),
+      'attributes' => array('isContextualUri' => $guid_is_contextual_uri_string),
     );
 
     $row_index++;
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_attachment_ui.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_attachment_ui.yml
index 89089c2..92b9933 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_attachment_ui.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_attachment_ui.yml
@@ -63,7 +63,7 @@ display:
           date_field: id
           guid_field_options:
             guid_field: id
-            guid_field_is_permalink: false
+            guid_field_is_contextual_uri: false
       path: test_attachment_ui_feed
   page_1:
     display_plugin: page
diff --git a/core/themes/bartik/css/components/comments.css b/core/themes/bartik/css/components/comments.css
index 9f22c51..43d6f0b 100644
--- a/core/themes/bartik/css/components/comments.css
+++ b/core/themes/bartik/css/components/comments.css
@@ -42,7 +42,7 @@
   font-size: 0.786em;
   color: #68696b;
 }
-.comment__permalink {
+.comment__contextual__uri {
   font-size: 0.786em;
 }
 .comment__content {
diff --git a/core/themes/bartik/templates/comment.html.twig b/core/themes/bartik/templates/comment.html.twig
index 21cca3c..812e064 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.
@@ -49,7 +49,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
@@ -79,7 +79,7 @@
       <div class="comment__submitted">
         <p class="comment__author comment__submitted__data">{{ author }}</p>
         <p class="comment__time comment__submitted__data">{{ created }}</p>
-        <p class="comment__permalink comment__submitted__data">{{ permalink }}</p>
+        <p class="comment__contextual__uri comment__submitted__data">{{ contextual_uri }}</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 1d56d08..ed60756 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.
@@ -49,7 +49,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
@@ -103,7 +103,7 @@
       <p class="parent visually-hidden">{{ parent }}</p>
     {% endif %}
 
-    {{ permalink }}
+    {{ contextual_uri }}
   </footer>
 
   <div{{ content_attributes.addClass('content') }}>
