Как в плагине отключить теги canonical, которые формирует Shop-Script

Начиная с версии Shop-Script 8.17 плагины могут отключить теги canonical, которые автоматически добавляются на страницы витрины, и сформировать свои теги canonical, если нужно.

Как это сделать:

  1. Подписаться на обработку события frontend_head.
  2. В обработчике события добавить код вида
    wa()->getResponse()->setCanonical($custom_canonical_url);

    В этом случае указанный URL будет добавлен в 2 местах:

    • в виде HTML-кода тега canonical;
    • в виде аналогичного HTTP-заголовка.
  3. Если в HTTP-заголовки этот URL добавлять не нужно, укажите второй параметр false при вызове метода в обработчике события:
  4. wa()->getResponse()->setCanonical($custom_canonical_url, false);

Как убрать стандартные теги canonical, не добавляя свои

Для этого передайте в метод setCanonical() пустой URL:

wa()->getResponse()->setCanonical('');

3 ответа

  • 1
    chikurov-seo 11 февраля 2021 16:47 #

    Начиная с версии Shop-Script 8.17 плагины могут отключить теги canonical, которые автоматически добавляются на страницы витрины, и сформировать свои теги canonical, если нужно.

    - Дак и раньше можно было. В плагине SEO Link Canonical реализовал так:

    wa()->getResponse()->setMeta('canonical', false); //убираем тег, выводимый конструкцией {$wa->head()}

    Прекрасно работало и до Shop-Script 8.17. Зачем нужен этот новый способ?

    wa()->getResponse()->setCanonical('');


    -----

    В этом случае указанный URL будет добавлен в 2 местах: в виде HTML-кода тега canonical; в виде аналогичного HTTP-заголовка.

    - ну отлично. Многие сервисы для SEO-специалистов при парсинге сайтов из HTTP-заголовков берут информацию только о коде ответа страницы. 9 из 10 SEO-специалистов, включая меня, не смотрят HTTP-заголовки, т.к. привыкли что там обычно ничего особенного нет. Зачем это обновление? Просто подложили свинку. Спасибо.

  • 1
    chikurov-seo 9 апреля 2021 15:43 #

    конструкция 

    wa()->getResponse()->setCanonical($custom_canonical_url, false);

    ложит сайт на SS 8.4.

    • +2
      Алексей Алексей 9 апреля 2021 17:14 #

      Кладёт, и вероятно вопрос не в Shop-Script, а в версии фреймворка, т.к. это системный метод. Обновить фреймворк можно через Инсталлер.
      Тем более указано в первой же строке что в версии 8.17.

Эта тема в архиве. Добавление комментариев к ней отключено.