Динамический сбой генератора URL

Мы строим сайт на Yii (1.1.13); его магазин автозапчастей & механизм управления транзакциями.
Когда его отдают для SEO проверки компании SEO, компания делает вывод:

  1. Найдено 15000 динамических URL («очевидно, не все» — мой комментарий)
  2. ~ 8 000 из них кажутся длинными, вот так: http://tarex.ru/index.php?r=assortment/index&ID = одна тысяча пятьсот тридцать шесть&Подсистема = Склад + автоматизация&Ссылка = Ассортимент&Assortment_page = 9&Assortment_sort = title.desc
  3. Только 300 страниц, зарегистрированных в поисковой системе до сих пор.
  4. 500 из них имеют ошибочный URL или нет ответа (код ответа 500). Ульры такие:
    http://tarex.ru/index.php?r=assortment/index&Ассортимент [groupCategory] = 4&Assortment_page = 46&Assortment_sort = agroup.desc («Наиболее вероятная причина перезагрузки / обновления ассортимента в БД» — мой комментарий).
    Они заявили, что эти неудачи (для пункта 4) являются причиной динамические сбои генератора URL.

Ассортимент в БД динамически обновляется ежедневно.

Компания предложила решить проблему с генератором динамических URL или не использовать ее в пользу удобных для пользователя URL-адресов / оптимизированных для SEO URL-адресов.

Как исправить ошибки динамического генератора URL и возможно ли использовать что-то. еще как предложено?

Настройка управления URL отключена:

// uncomment the following to enable URLs in path-format
/*
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
*/

Когда я раскомментировал это, сайт работает хорошо, но некоторые из меню подсистем не функционируют, потому что они связаны с некоторыми параметрами GET …

0

Решение

Недавно сделал что-то подобное для магазина.

Обычно вы будете делать это:

1) Для каждого динамического URL динамично сделать его чистым альтернативным URL

2) Перенаправить со старого на чистый URL.

3) ПРИБЫЛЬ!

Теперь что касается деталей:

Самым сложным является понимание того, можно ли сформировать новый URL-адрес и, если да, перенаправить на него. Я думаю, что вы можете сделать это либо в customUrlRule (что немного грязно), либо в контроллере (который мне нравится больше).

Допустим, вы выбрали контроллер:
В действии контроллера, определить, пришел ли новый URL-адрес пользователя. Если есть И ЗАПРОСИТЬ URL! == НОВЫЙ URL, вы просто переходите к логике контроллера. Если нет, вы перенаправляете на новый URL. Я думаю, что это должно быть удобно, если

1) оба типа URL обрабатываются с помощью или разных контроллеров и действий и включают логику, описанную выше.

2) Вы используете какой-то метод, чтобы дать URL нового и старого типа, передавая им одинаковые параметры. Например, вы можете использовать Yii :: app () -> createUrl ($ params) для нового типа Url и некоторый пользовательский метод, то есть $ myModelInstance-> createUrl ($ params)

3) Новые URL создаются и обрабатываются с пользовательское правило URL

4) В вашем менеджере URL у вас есть пользовательское правило для новых URL и обычное правило для старых URL в этом приоритете.

Подвести итог:

Если пользователь выходит из старого URL-адреса, выполняется действие контроллера, где выполняются некоторые дополнительные проверки. Мы проверяем, может ли быть создан новый URL, мы также можем проверить некоторые дополнительные вещи, то есть синхронизироваться с некоторой дополнительной базой данных SEO URL, чтобы узнать, нужно ли перенаправлять этот URL.
Если новый URL может быть создан — мы перенаправляем на него.
Браузер запрашивает запрос, который анализируется с вашим пользовательским правилом URL, и выполняется соответствующий контроллер и действие.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]