Добрый день!
Заметил, что на главной странице и в приложениях блог и сайт canonical работает некорректно. Точнее не работает.
В приложении магазин, на страницах категорий и карточках товара все ок.
В шаблонах index.html сайта, магазина и блога прописано одно и то-же: {if !empty($canonical)}<link rel="canonical" href="{$canonical}"/>{/if}. Но при обращении к странице /info/oplata-i-dostavka/?ываыаываыва метатег не выводится.
Подскажите как решить проблему.
10 комментариев
В index.html нужен такой код
Можете его вставить прямо под вышеупомянутой вами строкой кода.
Добавить в index.html вот такой код?
Добавил, не сработало. Canonical не появился на страницах типа:
Код не выводится ни в блоге, ни на страницах и на главной.
Я что-то неправильно сделал?
А зачем проверять этот код в Блоге и на главной? Он не для этого. Он появится только на страницах Магазина.
Если вы создаете страницы в приложении Сайт и/или Блог, то попробуйте вот такой код
Он более универсальный т.к. $action работает только в Магазине, а тут будет работать и в других приложениях при условии через ИЛИ.
К тому же в этом коде учитывается url приложения, когда страницы не в корне, а глубже, как у вас типа /info/page_url.
Проблема проявляется только на главной в блоге и сайте.
Насколько я понимаю index.html для всех один, разве нет?
Давайте ещё раз по порядку.
Вам надо, чтобы на страницах, созданных в приложениях Сайт, Блог и/или Магазин был проставлен корректный каноникал для случая, когда обращаются к странице в том числе и через параметр?
Если да, то берите код из последнего сообщения.
Именно так!
В данный момент каноникал вообще не отображается при обращении по адресу с параметрами: на главной странице, на страницах приложений сайт и блог. На данный момент меня больше всего беспокоят дубли главной страницы в индексе.
При этом на страницах товара и категорий каноникал отображается.
Код рабочий (и первый и второй варианты) для статических Страниц приложений Сайт, Блог и Магазин он подходит и работает. Первый чисто для Магазина в корне и его Страниц. Второй универсальный для всего.
Условие для главной надо прописывать исходя из вашей Структуры. Если в корне домена Магазин, то лучше через global в home.html, т.к. обычно он подключается на главную.
Если приложение Сайт в корне, то нужна Страница с пустым URL для корня и код, который был дан ранее как универсальный, точно сработает.
Дело в том, что страница сайта и Страница Сайта или Страница Блога - это разные немного вещи.
И главная страница сайта не обязательно Страница Сайта вообще.
Вы когда говорите страница, то что конкретно имеете ввиду?
На форуме это все долго, неудобно и непродуктивно. Стучите за подробностями в telegram @dmitriy_glazachev. Там расскажу детали. А так по существу вопроса и по коду ответы уже все даны.
Секций кода в index.html, отвечающих за canonical, может быть несколько. Они срабатывают в зависимости от условий. Одна за статические Страницы, вторая за Товары, третья за главную страницу в домене, четвертая ещё за что-нибудь...
Мы выпустили обновление фреймворка Webasyst с улучшенным механизмом формирования тегов canonical на страницах сайта. Обновление можно установить в «Инсталлере».
Проверьте, пожалуйста. Сообщите нам, если проблема сохранилась.
Благодарим вас за то, что помогаете улучшать программные продукты Webasyst!
Михаил, увидел информацию об обновлении формирования каноникал. Видимо по этой причине сейчас возникла проблема с каноникал инфо страниц сайта. Зачем-то он стал формироваться и на этих страницах, причем с добавкой cart// и выходом на 404. Создал тему отдельную. Что скажете? SS6. Виталий
Вашу отдельную тему посмотрим и обработаем отдельно. Спрашивать о ней в комментариях к этой теме не нужно.