Автор Тема: ЧПУ  (Прочитано 5402 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MrGod

  • Новичок
  • *
  • Сообщений: 6
  • Авторитет: 2
    • Просмотр профиля
ЧПУ
« : 18 июля 2017, 15:20:36 »
Стоит вопрос разработки гибкого ЧПУ для Santafox.
На данный момент рассматриваю модуль "Каталог". В каталоге фигурируют 3 основные типа объектов - товарные группы (далее ТГ), категории и товары. Есть идея, чтобы реализовать возможность указания ЧПУ для товара по шаблону используя и группу, к которой он принадлежит, и категории.
Например, есть товар Samsung S8. Он принадлежит к ТГ "Смартфоны", категории "Android" -> "Samsung".

Варианты чпу:
%group-name%/%item-manufacturer%-%item-name%.html --- site.ru/Smartphone/Samsung-S8.html
%cat_list%/%item-model%.html --- site.ru/Android/Samsung/S8.html
%cat_last%/%item-model%.html --- site.ru/Samsung/S8.html
%cat_last%/%item-model% --- site.ru/Samsung/S8


%group-***% - Свойства группы
%cat_list% - Иерархия категорий
%cat_last% - Самая последняя (глубокая) категория к которой принадлежит товар
%item-**% - Свойства товара

Для cat_list и cat_last планируется отдельно прописывать шаблон вывода

Т.е. идея состоит в том, чтобы дать администратору возможность указывать правила формирования ЧПУ адреса.
Все ЧПУ адреса планируется хранить в отдельной таблице в БД.
Также в настройках сайта, будет возможность указать правила транслитерации символов.
Если будут конфликтные адреса, то можно будет переписывать индекс и выводить соответствующее сообщение администратору сайта

Может у кого-то есть какие-то идеи или пожелания?
« Последнее редактирование: 18 июля 2017, 15:24:47 от MrGod »

Оффлайн Oslix

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2 472
  • Авторитет: 346
  • Пол: Мужской
    • Просмотр профиля
Re: ЧПУ
« Ответ #1 : 19 июля 2017, 09:57:41 »
>%cat_list% - Иерархия категорий
Нет смысла делать. Она будет разная, так как фасетная структура каталога разрешает товару быть включенным в разные категории.

>%cat_last% - Самая последняя (глубокая) категория к которой принадлежит товар
Уже лучше, так как такая категория будет только одна. В качестве примера можно посмотреть как формируется way. Там такой же принцип.

>%group-name%/%item-manufacturer%-%item-name%.html --- site.ru/Smartphone/Samsung-S8.html
Это самый лучший вариант. Потому что в нем не участвует категории.
Вообще, имхо, в построении ЧПУ использовать категори - моветон. Потому что тогда вы теряете любую возможность перетащить товар из категории в категорию или изменить структуру каталога. ЧПУ нам нужен ТОЛЬКО для того, чтобы ключевики воткнуть в URL. Так что я думаю что можно просто в настойках каталога там где у нас формируется название категории и название товара добавить новое действие "формат URL", где такими же шаблонами можно задавать правила как транслитилировать название категории и как транслитилировать название товара. И что делать при дублях.

Ну и, навреное, можно хранить ЧПУ в отдельной таблице и по ней смотреть соответсвие "урл ЧПУ - оригинальный урл движка". Чтобы система понимала что в одном случае урл site.ru/blablabla.html это страница контента в структуре стайта, а site.ru/blablabla2.html - это страница карточки товара "Блаблабла" в каталоге

Оффлайн Oslix

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2 472
  • Авторитет: 346
  • Пол: Мужской
    • Просмотр профиля
Re: ЧПУ
« Ответ #2 : 19 июля 2017, 10:02:29 »
Ну или можно избежать отдельной проверки к чему принадлежит страница (структуре или каталогу или новостям), если принудительно в URL включать базовую страницу нужного модуля

site.ru/catalog/samsung-s8.html - это товар
site.ru/news/samsung-s8.html - это новость
site.ru/faq/samsung-s8.html - это страница FAQ
site.ru/samsung-s8.html - это просто страница в структуре

Оффлайн MrGod

  • Новичок
  • *
  • Сообщений: 6
  • Авторитет: 2
    • Просмотр профиля
Re: ЧПУ
« Ответ #3 : 24 июля 2017, 13:25:14 »
если принудительно в URL включать базовую страницу нужного модуля
Лучше уйти от этого. Захочет человек - сам пропишет это в шаблоне урла

А вот %cat_list% я бы все равно сделал, пусть будет браться только первый случай (если категорий будет много) Это пригодится тем, у кого такая структура каталога, где у товара будет только одна прямая ветка в иерархии категорий

Оффлайн Oslix

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2 472
  • Авторитет: 346
  • Пол: Мужской
    • Просмотр профиля
Re: ЧПУ
« Ответ #4 : 24 июля 2017, 14:02:26 »
Ок. Вот ты решил перенести товар. Например у тебя была общая категория "Дача сад". И там лежали в том числе и пилы. И тут ты понимаешь что электропил у тебя уже таке количество, что было бы здорово сделать подкатегорию "Безнопилы" и "Электропилы".
Как только ты это делаешь - у тебя слетает URL у карточки товара (был /dacha_sad/pila.html, а стал /dacha_sad/electropily/pila.html) и, как следствие, сайт улетает по SEO в даун.

Оффлайн skameykin22

  • Новичок
  • *
  • Сообщений: 1
  • Авторитет: 0
  • Пол: Мужской
    • Просмотр профиля
Re: ЧПУ
« Ответ #5 : 07 октября 2017, 14:49:27 »
И как решили проблему?