Как управлять SEO-URL в Shopware?

3

Кажется, что Shopware имеет некоторое "волшебство" при создании URL-адресов, и я ищу кого-то, кто может объяснить это мне.

Это код стандартного шаблона для генерации SEO-urls с переменными, которые можно настроить в настройках SEO-маршрутизатора в бэкэнд

{* Product name *}
{block name='frontend_listing_box_article_name'}
    <a href="{$sArticle.linkDetails|rewrite:$sArticle.articleName}"
       class="product--title"
       title="{$sArticle.articleName|escape}">
        {$sArticle.articleName|truncate:50}
    </a>
{/block}

Конфигурация в настройках SEO-router выглядит по умолчанию:

Изображение 102108

В любом случае, выход немного отличается:

http://www.DOMAIN.de/shop/CATEGORYNAME/18/PRODUCTTITLE?c=7

(Все заглавные буквы демонстрируют реальные правильные имена доменов, категорий и продуктов, которые скрыты здесь ради конфиденциальности моего клиента)

Проблема здесь - это URL-параметр "? c = 7", который не нужен и должен быть опущен, как определено в параметрах SEO-router.

Первый вопрос: как опустить этот URL-параметр "c = 7" в конце URL-адреса?

Когда я отлаживаю этот код, я сталкиваюсь с странными вещами. Следующий код приведет к двум различным URL-адресам, хотя это один и тот же термин:

Изображение 102109

Вот эти проблемы:

  • Вывод {$ sArticle.linkDetails | rewrite: $sArticle.articleName} отличается между атрибутом href-Attribute и вторым выходом в качестве заголовка этой ссылки.
  • Результат {$ sArticle.linkDetails | rewrite: $sArticle.articleName} внутри href-Attribute добавит URL-параметр для описания идентификатора категории, который не нужен: "? c = 7"

Второй вопрос:

Как может тот же шаблон-шаблон быть таким разным? Какая магия работает за кулисами?

  • 1
    Привет, я недавно столкнулся с той же проблемой без надлежащего решения. Я хотел удалить параметр, чтобы улучшить SEO-рейтинг. Насколько я знаю, этот параметр необходим для создания панировочных сухарей на странице сведений о продукте, поскольку доступ к некоторым продуктам возможен через разные категории (дерево категорий). Этот параметр, кажется, помогает крошке найти правильное «дерево»
  • 0
    Спасибо за ваши замечания. Я поддерживаю другой магазин (той же версии), где этот дополнительный параметр «? C = $ categoryorId» не встречается
Теги:
smarty
shopware

1 ответ

3
Лучший ответ

Я уверен, что вы знакомы с бэкэндом Shopware. Краткие ответы на мои вопросы:

  • Чтобы удалить "? c = 7" из URL-адресов страницы с подробной информацией:

Установите 'Remove CategoryID из Url = No' в настройках Seo/router. Затем очистите кеш.

  1. Я думаю, что существует несколько магазинов, или вы перенесли в магазин из других систем электронной торговли.

Вы можете видеть соединение между этими двумя ссылками на Таблица "s_core_rewrite_urls". Просто создайте резервную копию таблицы и очистите ее. Нажмите на Конфигурация > Элемент меню "Кэш/производительность" и "Перестроить URL-адрес SEO" индекс".

Дополнительная информация доступна по адресу https://developers.shopware.com/blog/2015/08/11/the-shopware-seo-engine/

  • 0
    Спасибо! Можете ли вы также ответить на второй вопрос и сказать, почему два последовательных вызова {$ sArticle.linkDetails | rewrite: $ sArticle.articleName} дают отдельные результаты?
  • 0
    Я не уверен в этом. Вы все еще получаете разные URL? Затем оставьте таблицу "s_core_rewrite_urls" пустой и пропустите шаг Перестроить SEO URL. Надеюсь, у вас есть резервная копия таблицы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню