uriRelationships() as $rel) { // Set the node path as the canonical URL to prevent duplicate content. $build['#attached']['html_head_link'][] = array( array( 'rel' => $rel, 'href' => $node->url($rel), ), TRUE, ); if ($rel == 'canonical') { // Set the non-aliased canonical path as a default shortlink. $build['#attached']['html_head_link'][] = array( array( 'rel' => 'shortlink', 'href' => $node->url($rel, array('alias' => TRUE)), ), TRUE, ); } } return $build; } /** * The _title_callback for the page that renders a single node. * * @param \Drupal\Core\Entity\EntityInterface $node * The current node. * * @return string * The page title. */ public function title(EntityInterface $node) { return SafeMarkup::checkPlain($this->entityManager->getTranslationFromContext($node)->label()); } }