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