Доброго всем дня! представим, что взяв сайт на СЕО продвижение мы вдруг обнаружили, что трафиковые страницы находятся на 4, а то и 5 уровне вложености сайта - "site.ru/catalog/category/category-1/itemname.html".
И тут мы понимаем, что продвинуть конечную страницу - itemname.html будет крайне сложно! Исправить ситуацию поможет системная настройка MODX "Использовать вложенные URL - use_alias_path". Ставим - НЕТ и теперь наши конечные страницы приобрели иной вид "site.ru/itemname.html". Но как же быть с тем, что наши адреса изменились и теперь при переходе из поиска будет выдавать 404 ошибку? Ответ как прост, так и одновременно сложен, необходимо настроить редиректы. Поэтому не стоит торопиться, возвращаем значение как было и приступаем к подготовке к переносу.
В сообществе modx.pro был задан вопрос по данной тематике (Как сделать на MODX сайте все ссылки одного уровня - плоские SEO?), а внятного ответа не нашлось. Столкнувшись с такой же проблемой и не найдя ответа у нас родилась данная инструкция.
1. Скачиваем и устанавливаем компонент Redirector из репозитория modx.

2. Теперь нужно вывести все ссылки адреса сайта для того чтобы создать ссылочную базу. Для этого вызываем:
[[pdoMenu? &parents=`[[*id]]` &level=`3` &includeTVs=`price,price2` &showUnpublished=`0` &tplOuter = `@INLINE [[+wrapper]]` &tpl = `@INLINE<br><br> <h3>[[+menutitle]]</h3> [[+wrapper]] ` &tplInner = `@INLINE <table>[[+wrapper]]</table> ` &tplInnerRow = `@INLINE <tr> <td style="width: 50%;">[[+menutitle]]</td> <td style="width: 50%;">[[+link]]</td> [[+wrapper]] </tr> ` ]]
В результате мы получаем вывод всех адресов страниц сайта в таком виде:

3. Теперь копируем все эти адреса и вставляем в EXEL, в первый столбик и удаляем строки с первым уровнем вложености (в основном это корневые контейнеры). Т.к в моем проекте всего 50 страниц я вручную могу откорректировать и убрать вложенность, оставив только конечные адреса страниц. Если сайт большой, через pdoMenu можете вывести только конечные страницы и просто скопировать этот список в эксель.
Получаем что-то вроде этого

4. Далее делаем экспорт в CSV со следующими настройками

5. Далее заходим в системные настройки, в дружественные урл и ставим параметру "Использовать вложенные URL - НЕТ". Так же параметру "Использовать «замороженные» URI родителя - НЕТ"
6. Открываем компонент Redirector и переходим во вкладку "Импорт из CSV". Жмем кнопку "Browse" и выбираем наш csv файл, нажимаем "Начать импорт!". Если все сделано правильно, вы увидете сообщение об успешном импорте.

Далее вы уже увидете список импортированных редиректов.

7. После чего идем в яндекс метрику и открываем ссылки сайта поочереди, на проверку большого сайта, конечно же уйдет много времени. Я обычно зажимаю ctrl (для того чтобы ссылки открывались в новой вкладке) и нажимаю ссылки по очереди, это сильно ускоряет процесс проверки. Вот собственно и все! Удачных редиректов!
Kshishtaf
Спасибо! Отличная инструкция все получилось!
Петр
Спасибо за помощь!