diff --git a/modules/rdf/rdf.module b/modules/rdf/rdf.module
index 877b598..bd8235f 100644
--- a/modules/rdf/rdf.module
+++ b/modules/rdf/rdf.module
@@ -511,34 +511,22 @@ function rdf_preprocess_node(&$variables) {
   }
 
   // Adds RDFa markup annotating the number of comments a node has.
-  if (isset($variables['node']->comment_count) && !empty($variables['node']->rdf_mapping['comment_count']['predicates'])) {
-    // Annotates the 'x comments' link in teaser view.
-    if (isset($variables['content']['links']['comment']['#links']['comment-comments'])) {
-      $comment_count_attributes['property'] = $variables['node']->rdf_mapping['comment_count']['predicates'];
-      $comment_count_attributes['content'] = $variables['node']->comment_count;
-      $comment_count_attributes['datatype'] = $variables['node']->rdf_mapping['comment_count']['datatype'];
-      // According to RDFa parsing rule number 4, a new subject URI is created
-      // from the href attribute if no rel/rev attribute is present. To get the
-      // original node URL from the about attribute of the parent container we
-      // set an empty rel attribute which triggers rule number 5. See
-      // http://www.w3.org/TR/rdfa-syntax/#sec_5.5.
-      $comment_count_attributes['rel'] = '';
-      $variables['content']['links']['comment']['#links']['comment-comments']['attributes'] += $comment_count_attributes;
-    }
-    // In full node view, the number of comments is not displayed by
-    // node.tpl.php so it is expressed in RDFa in the <head> tag of the HTML
-    // page.
-    if ($variables['page'] && user_access('access comments')) {
+  if (isset($variables['node']->comment_count) &&
+      !empty($variables['node']->rdf_mapping['comment_count']['predicates']) &&
+      user_access('access comments')) {
+    // Adds RDFa markup for the comment count near the node title as metadata.
+    if ($variables['page']) {
+      $comment_count_attributes = array(
+        'about' => $variables['node_url'],
+        'property' => $variables['node']->rdf_mapping['comment_count']['predicates'],
+        'content' => $variables['node']->comment_count,
+        'datatype' => $variables['node']->rdf_mapping['comment_count']['datatype'],
+      );
       $element = array(
-        '#tag' => 'meta',
-        '#attributes' => array(
-          'about' => $variables['node_url'],
-          'property' => $variables['node']->rdf_mapping['comment_count']['predicates'],
-          'content' => $variables['node']->comment_count,
-          'datatype' => $variables['node']->rdf_mapping['comment_count']['datatype'],
-        ),
+        '#theme' => 'rdf_metadata',
+        '#metadata' => array($comment_count_attributes),
       );
-      drupal_add_html_head($element, 'rdf_node_comment_count');
+      $variables['title_suffix']['rdf_meta_comment_count'] = $element;
     }
   }
 }
diff --git a/modules/rdf/rdf.test b/modules/rdf/rdf.test
index 370dbb2..b936a7f 100644
--- a/modules/rdf/rdf.test
+++ b/modules/rdf/rdf.test
@@ -469,7 +469,7 @@ class RdfCommentAttributesTestCase extends CommentHelperCase {
     // Tests number of comments in full node view.
     $this->drupalGet('node/' . $this->node1->nid);
     $node_url = url('node/' . $this->node1->nid);
-    $comment_count_teaser = $this->xpath('/html/head/meta[@about=:node-url and @property="sioc:num_replies" and @content="2" and @datatype="xsd:integer"]', array(':node-url' => $node_url));
+    $comment_count_teaser = $this->xpath('//span[@about=:node-url and @property="sioc:num_replies" and @content="2" and @datatype="xsd:integer"]', array(':node-url' => $node_url));
     $this->assertTrue(!empty($comment_count_teaser), 'RDFa markup for the number of comments found on full node view.');
   }
 
