Вывод в теме
Обновлено
Автоматическое подключение
Плагин работает через события Блога и Webasyst. Отдельного публичного хелпера, который нужно вызывать из Smarty, у него нет. Собственных шаблонов для переопределения также нет.
Тема должна вызывать стандартный метод Webasyst внутри <head>:
<head>
{* Остальное содержимое заголовка темы *}
{$wa->head()}
</head>Это фрагмент для проверки существующей темы. Если вызов уже есть, добавлять второй не требуется.
Как формируется тег
Обработчик frontendAction подключён к событиям frontend_action_default, frontend_action_post и frontend_action_page. Он задаёт мету canonical, которую затем выводит {$wa->head()}.
Резервный обработчик waFrontendHead подключён к wa.frontend_head. Он возвращает HTML тега только тогда, когда getCanonical() не сообщает об уже заданном canonical и для страницы удалось вычислить адрес.
Если основной обработчик обнаруживает существующий заголовок ответа Link со строкой rel='canonical', он заменяет его адрес на вычисленный canonical. Самостоятельно создавать такой заголовок при его отсутствии плагин не пытается.
Если тега нет
Проверьте выбранный тип страницы и флажок «Самоссылающиеся канониклы». Затем убедитесь, что тема вызывает {$wa->head()} и страница отвечает успешно. Для записи также требуется, чтобы плагин нашёл опубликованную запись и получил её основной адрес.
При ошибке вычисления плагин записывает сообщение в wa-log/blog/plugins/ewblogcanonical.log и не задаёт собственный canonical.
Если тегов несколько
Плагин использует общую мету ответа, но не разбирает готовый HTML темы. Проверьте, нет ли в шаблоне отдельного вручную выведенного <link rel="canonical">, повторного {$wa->head()} или вывода canonical другим расширением. Ручной тег в теме плагин удалить не может.