Code snippet that can be used to change canonical URL in drupal 8 & 9.
/** * @param array $page */ function MODULENAME_page_attachments_alter(array &$page) { $route = Drupal::routeMatch()->getRouteObject(); if ($route) { $view_id = $route->getDefault('view_id'); if (!empty($view_id)) { if ($view_id == 'news') { // example www.example.com/news?category=drupal $link_url = Drupal::service('path.current')->getPath(); $og_link = array( '#tag' => 'link', '#attributes' => array( 'rel' => 'canonical', 'canonical_url' => $link_url, ), ); $page['#attached']['html_head']['canonical_url'] = [$og_link, 'canonical_url']; } } } }
Similar Posts:
- How to Add target attribute to form and submit buttons in Drupal 8 / 9
- How to add class to content field link in Drupal 8 / 9
- How to add a html field to a form in drupal 8 & 9
- How to get view mode of node in Drupal 8 & 9
- url without www and http to https in drupal 8/9
1,901