Очень бы хотелось чтобы в новой версии движка разработчики сделали возможность формировать url для категории, в не зависимости от уровня вложенности: /category-name/, а для товара: /product-name/.
После реализации подобного функционала тысячи SEOшников расцелуют вас и немало магазинов подумают о переходе на shop-script.
Короткие url большой плюс в карму SEO ориентированного движка!
8 комментариев
у меня в данный момент: domain.ru/product/наименование товара/ - для товаров
domain.ru/category/категория товаров/ - для категорий
Оба в независимости от уровня вложенности.
Или вы имели ввиду domain.ru/наименование товара/ - для товаров
domain.ru/категория товаров/ - для категорий ?
Да я имел ввиду вариант: domain.ru/наименование товара/ и domain.ru/категория товаров/.
Или вам нужен лишний уровень в url?
Что-то мне подсказывает, что это не очень хороший вариант. А если у вас категория и товар имеют одинаковые названия? Я не говорю, что это распространенный кейс, но исключать его я бы не стал.
При сохранении можно делать проверку на дубли и не давать сохранять такие url или как сделано сейчас в webasyst добавлять префикс...
Префикс ничем принципиально не отличается от "ещё одного уровня" и поменять
domain.ru/product/наименование товара/
на
domain.ru/product-наименование товара/
вообще не составит труда.
Скопируйте файл wa-apps/shop/lib/config/routing.php в wa-config/apps/shop/routing.php и редактируйте его.
Вопрос не новый. Есть несколько тем на этом форуме с подробным описанием решений.
Можно и вообще убрать префиксы, но проверки на дубли не будет(!)
Я думаю проверки на дубли достаточно ,чтобы товары и категории, при сохранении, не имели одинаковый url.
Я знаю что вопрос не новый и очень популярный, а если популярный, значит востребованный! Не понимаю почему такого плагина до сих пор не вышло... Поэтому и предлагается разработчикам добавить новый тип URL.
А вы, если уже решили данную задачу, может быть допилили плагин и выложили его в магазин webasyst?
Вопрос безусловно не новый и популярный. В подавляющем большинстве случаев можно обойтись правкой routing.php под свои задачи, но не в вашем случае, т.к. гибкость конфига не 100%.
Гибче всего настраивается Естественный тип. Он позволяет убрать любые приставки и вытащить товары из категорий в корень, НО... он не убирает вложенность категорий. Это уже к плагину, которого пока нет в продаже.
В свое время отказался от затеи прикрепления всех url к одному корню, т.к. это нарушает саму идею концепции ЧПУ (ЧПУ - это ведь не только буковки с транслитом). Нарушается идеологическая глубина сайта в угоду оптимизации. Сайт становится плоскостью, где вес и значение любого УРЛа изначально потенциально одинаковы, будь то товар, категория или страница. Подсчет СЕО-профита от такой модели оставим спецам, но у меня своя точка зрения на такой подход.
В итоге решил, что убийство вложенности категорий - дело неблагодарное и записал его в свою тетрадочку "смертных грехов", а приставку у продуктов выпиливаю по желанию, но иногда оставляю, чтобы отличать продукт от категории первого уровня хотя бы.
УРЛы получаются такие:
- сайт/продукт
- сайт/категория/подкатегория
На самом деле вашу задачу можно было бы решить, размещая все категории товаров как корневые. Т.е. изначально убить вложенность, а потом выпилить приставки для Естественного типа адресов и вложение товаров в категории. Получится ровно так, как вы задумали.
Но насколько будет удобно рулить товарами в таком варианте? Думаю, что не особо удобно, если товаров много и они дробятся на подкатегории в бекенде.
Да, вопрос формирования URL очень важен для любого движка, помниться в старом ModX была отличная возможность исключить любую страницу из формирования URL. С помощью этой замечательной функции можно было добиться URL "на любой вкус" любого уровня вложенности, SEO-шникам на радость. Жаль что такого нет в webasyst до сих пор!