Все верно. Я об этом писал в теме. Хотя в шаблоне уже больше шансов "обойтись простыми настройками", т.к. основной этап обработки запроса уже пройден, все лишнее отсечено.
В принципе можно фильтровать адрес из текущего запроса, приводя его к каноническому. Но зачем такие сложности, когда можно сразу сформировать канонический, используя средства "движка"?!
[OFFTOP]Да, некрасиво. Но кто провокатор? 😊 Я тоже удивился, как на таком ровном месте можно так разойтись. 😊[/OFFTOP]
Зачем мне по сути разбираться еще раз? Что-то изменилось с тех недавних пор, когда по сути вы со мной согласились? 😊
P.S. Ладно. Пятница уже прошла. Лень попусту об одном и том же болтать.
Значит, все-таки хотели банальщину написать. Тогда мое замечание о недоделанности вполне уместно.
Просто я ожидал от вас чего-то не столь банального, например: несмотря на наличие canonical и на канонической, и на ее дублях, может проиндексироваться дубль.
Facepalm. Внимательно прочитайте ваше предложение:
Вы хотели эту банальщину написать или все же неправильно выразились?
Очевидно данный "токен" берет адрес из текущего запроса. Вам же нужно сформировать основной (канонический) адрес страницы. Программно это обычно делается через именованный маршрут и/или жесткое кодирование в соответствующем контроллере. Средствами шаблонизатора тоже можно обращаться к функциям маршрутизатора, но здесь нужно учитывать, что редактируемый шаблон может быть общим для разных типов страниц (т.к. метатеги размещаются внутри head).
Я Drupal не использую, но попробуйте совет от Гугла - отфильтровать допустимые параметры: [current-page:url-with-query:with-some-parameters:param1,param2,…]
Еще есть [current-page:url:absolute], но он скорее всего тоже будет брать адрес из запроса (с добавлением имени схемы и хоста).