Фрагмент коду який дозволяє змінити канонічну URL-адресу:
/**
 * @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'];
            }
        }
    }
}
 
      
Коментарі