MODX настройка ЧПУ

MODX настройка ЧПУ MODX Revo

Сегодня же мы продолжим настраивать MODX, а если конкретнее, то настроим ЧПУ MODX — человека понятные (дружественные) URL адреса (иными словами сделаем читаемыми URL адреса (пример: Заголовок страницы «О компании», сейчас выглядит так: /index.php?id=7, а станет выглядеть так /o-kompanii.html или /about).

Настройка ЧПУ MODX

Настройка состоит из нескольких шагов.

Настройка базового URL

Кто идет по моим урокам с нуля — вам данный шаг делать пока что не нужно — сделаем во время натяжки шаблона.

Проверьте стоит ли у вас в шаблонах (или чанке) в секции head параметр <base href="">:

<head>
<base href="[[!++site_url]]">
...
</head>

На Fenom вызов выглядит так:

<head>
<base href="{'site_url' | config}" />
...
</head>

Если его нет пропишите —  без него будут проблемы с дублированием URL относительно текущей страницы при переходе на другую страницу.

Переименовываем файл ht.access

В корневой папке сайта лежит файл ht.access переименуйте его в .htaccess. Сделать это можно по FTP или через файловый менеджер хостинга: если вы это еще не сделали и не знаете как это сделать, это описано в одной из в следующих уроков: Настройка .htaccess для MODX.

Установка пакета для транслитерации

На данный момент мне известно 4 пакета (дополнения), один самый часто устанавливаемый из основного репозитория: translit — мне не нравится качество его транслитерации (оставляет точки, запитые, круглые скобки) — но он совместим с MODX 3.

И 3 дополнения из репозитория modstore:

Translitor — улучшенная версия translit — качество транслитерации лучше и вырезает точки с запятыми (не корректно работает с MODX 3).

yTranslit — генерирует дружественных url через api переводчика Яндекс. Уже не актуален, т.к. с 2021 бесплатного api у яндекса больше нет.

gTranslit  — тоже самое, что yTranslit, только работает с помощью GoogleTranslateForFree (не проверял работу с MODX 3).

Пример транслитерации 3 мя компонентами фразы: «Тарифы, цены.»

Translit: «tarify,-ceny.»

Translitor: tarify-ceny

gTranslit: rates-prices

Какое дополнение выбрать?

Под поисковую систему яндекс больше заходит Translitor, а вот под Google лучше заходит gTranslit. Если выбирать меньшее из зол, то наверное лучше использовать в России Translitor — устанавливаете его из репозитория Modxstore.

Системные настройки MODX — Дружественные URL

Идем в «Системные настройки«, на открывшейся странице в фильтре выбираем «Дружественные URL«. Далее находим следующие пункты и выставляем соответствующие значения:

Значения которые должны быть заданы по умолчанию:

Перепроверьте на всякий случай! Описания настроек можете почитать нажав на против них на знак +.

  • Автоматически генерировать псевдоним — automatic_alias: Да
  • Суффикс контейнера — container_suffix: /
  • Только строчные символы в псевдонимах — friendly_alias_lowercase_only: Да
  • Шаблон для фильтрации символов в псевдонимах — friendly_alias_restrict_chars_pattern: /[\0\x0B\t\n\r\f\a&=+%#<>»~:`@\?\[\]\{\}\|\^’\\]/
  • Вырезать теги элементов из псевдонима — friendly_alias_strip_element_tags: Да
  • Символы, вырезаемые из псевдонима — friendly_alias_trim_chars: /.-_
  • Разделитель слов в псевдонимах — friendly_alias_word_delimiter: —
  • Разделители слов в псевдонимах — friendly_alias_word_delimiters: -_
  • Проверять на дублирование URI во всех контекстах — global_duplicate_uri_check: Нет

Теперь пробежимся по настройкам которые пришлось изменить!

Вот эти три значение выставляет translitor при его установке:

  • Транслитерация псевдонимов — friendly_alias_translit: russian
  • Класс, управляющий транслитерацией псевдонимов — friendly_alias_translit_class: translitor
  • Путь к классу, осуществляющему транслитерацию псевдонимов — friendly_alias_translit_class_path: {core_path}components/translitor/model/
Если установили gTranslit, он сам должен проставить настройки:
  • friendly_alias_translit_class = modx.gtranslit.modTransliterate
  • friendly_alias_translit_class_path = «{core_path}components/gtranslit/model/»
  • friendly_alias_translit = ru


А вот эти мы получается меняем в ручную:

  • Максимальная длина псевдонима — friendly_alias_max_length — 70 (большее 70 символов получается слишком длинный адрес страницы).
  • Создавать ЧПУ-псевдоним (так называемые «дружественные URL») «на лету» — friendly_alias_realtime — Да (генерирует псевдоним в реальном времени).
  • Метод фильтрации символов в псевдонимах — friendly_alias_restrict_chars — alphanumeric (чтобы у псевдонима вырезалось все кроме букв и цифр)
  • Использовать дружественные URL — friendly_urls — Да (включаем URL вида /o-nas.html или /about-us.html (транслитерация псевдонимов), а не параметрические, вроде /index.php?p=3 (для поддержки опции на некоторых хостингах нужны соответствующие настройки веб-сервера Apache в файле .htaccess или в конфиг-файле Nginx)
  • Строгий режим дружественных URL — friendly_urls_strict — Да

Дальше в отличии от того какую вы хотите сделать структуру URL — вложенную (web-revenue.ru/modx-revo/nastroyka-chpu) или плоскую (web-revenue.ru/nastroyka-chpu)

Для вложенной структуры указываем.

Использовать вложенные URL — use_alias_path — Да

Чтобы в URL учитывался псевдоним родителя, а не его замороженный URL

Не работают дружественные url? Не забываем про требования к серверу:
На сервере (Apache) должна быть включена функция Mod_Rewrite.

А для плоской Использовать вложенные URL — Нет

Настройку Использовать «замороженные» URI родителя — use_frozen_parent_uris — любой (по желанию)

В принципе все! У нас сейчас ЧПУ вида /o-kompanii.html (или /about-us.html).

Все настройки ЧПУ в MODX
Все настройки ЧПУ в MODX (под translitor)

Системные настройки MODX — Шлюз

Переключаемся в фильтре на Шлюз и меняем настройку

Строгий метод запроса — request_method_strict — Да

Чтобы ссылки работали только в ЧПУ-виде через редирект и не открывались по ссылкам вида https://site.ru/index.php?id=7

В следующем уроке продолжим настройку постоянных ссылок, уберем в конце URL окончание .html.

 

Поделиться с друзьями
Алексей

Веб-дизайнер и SEO оптимизатор. Занимаюсь созданием сайтов с 2010 года и их продвижение с 2012 года!

Оцените автора
( 6 оценок, среднее 5 из 5 )
Web-Revenue.ru
Добавить комментарий