Задача
Требуется настроить систему, которая будет автоматически генерировать ЧПУ-адреса (человекопонятные URL) для каждого раздела и страницы интернет-магазина на OpenCart. Механизм должен работать как для уже созданных материалов, так и для всех новых записей без необходимости ручного вмешательства каждый раз.
Ключевые требования
- ЧПУ должны формироваться строго на основе названий страниц (на русском или английском языке) с автоматической транслитерацией.
- Адреса должны быть чистыми: без лишних цифр, ID и служебных символов - только текст, относящийся к сути страницы.
- Система не требует дополнительных плагинов и надстроек, должна встраиваться в штатные файлы и настройки OpenCart.
- Необходимо сохранить корректную работу ссылок на все страницы (категории, товары, информационные блоки, блог и т.д.).
- Никакие прежние адреса и контактные данные (телефоны, эл. почта, данные компании) не должны быть задействованы в URL.
- Никакой встроенной информации о разработчике в коде размещать не требуется.
Для старых и будущих страниц
- При добавлении любого нового элемента (товара, категории) ЧПУ генерируется автоматически, без запроса у администратора.
- Массовая генерация ЧПУ для всех старых страниц выполняется в момент настройки - скрипт обработки запускается один раз, для всех материалов.
- Если страница уже имеет прямой ЧПУ, он не дублируется, а заменяется сформированным по логике.
Окружение
Сайт работает на актуальной версии OpenCart. На сервере включена поддержка mod_rewrite (или аналог на nginx/IPW). Серверная часть - PHP 7.4+.