Дополнение Translit предназначено для автоматического преобразования русских (и других кириллических) заголовков страниц в латиницу при генерации псевдонимов (alias). Оно заменяет русские буквы на их латинские аналоги согласно таблице транслитерации, создавая человекопонятные и SEO-дружественные URL адреса. В MODX 3 дополнение также транслитерирует имена загружаемых файлов автоматически, что решает проблемы с кириллическими именами файлов на веб-серверах.
Без транслитерации русские заголовки страниц превращаются в псевдонимы с процентным кодированием (например %D0%BA%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D1%8B), что выглядит некрасиво, сложно для восприятия и может создавать проблемы с некоторыми серверами и браузерами.
- Установка и базовая настройка
- Шаг 1. Установка пакета Translit
- Шаг 2. Настройка системных параметров
- Шаг 3. Проверка работы
- Транслитерация файлов
- Настройка правил транслитерации
- Редактирование таблицы транслитерации
- Популярные изменения для Яндекс
- Создание собственной таблицы
- Использование транслитерации в коде
- Вызов из сниппета
- Очистка псевдонима
- PHP функция transliterator_transliterate
- Распространенные проблемы
- Транслитерация не работает
- Псевдоним не генерируется автоматически
- Файлы не транслитерируются
- Кракозябры в именах файлов
- Настройка разделителя слов
- Примеры транслитерации
- Лучшие практики
- SEO рекомендации
Установка и базовая настройка
Шаг 1. Установка пакета Translit
Установите дополнение через менеджер пакетов:
- Откройте Пакеты → Установщик
- Нажмите Загрузить пакеты
- Найдите translit в списке
- Нажмите Установить
После установки пакет не требует дополнительной конфигурации и готов к работе.
Шаг 2. Настройка системных параметров
См. инструкцию по настройке ЧПУ для русскоязычных сайтов.
Шаг 3. Проверка работы
Создайте новый ресурс с русским заголовком, например Контакты.
При сохранении поле Псевдоним автоматически заполнится значением kontakty.
Теперь страница будет доступна по адресу: https://ваш-сайт.ru/kontakty.
Транслитерация файлов
В MODX Revolution 3 транслитерация файлов работает автоматически после установки translit.
Убедитесь что включена системная настройка:
Транслитерация имен загружаемых файлов (upload_translit) — Да
Эта настройка автоматически транслитерирует имена файлов при загрузке через медиаменеджер или компоненты.
Настройка правил транслитерации
Редактирование таблицы транслитерации
Если стандартная транслитерация вас не устраивает, можно изменить правила.
Откройте файл таблицы транслитерации:
core/components/translit/model/modx/translit/tables/russian.php
Пример содержимого файла:
<?php
return array(
'А' => 'A', 'Б' => 'B', 'В' => 'V',
'Г' => 'G', 'Д' => 'D', 'Е' => 'E',
'Ё' => 'Yo', 'Ж' => 'Zh', 'З' => 'Z',
'И' => 'I', 'Й' => 'Y', 'К' => 'K',
'Л' => 'L', 'М' => 'M', 'Н' => 'N',
'О' => 'O', 'П' => 'P', 'Р' => 'R',
'С' => 'S', 'Т' => 'T', 'У' => 'U',
'Ф' => 'F', 'Х' => 'Kh', 'Ц' => 'Ts',
'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Shch',
'Ъ' => '', 'Ы' => 'Y', 'Ь' => '',
'Э' => 'E', 'Ю' => 'Yu', 'Я' => 'Ya',
'а' => 'a', 'б' => 'b', 'в' => 'v',
'г' => 'g', 'д' => 'd', 'е' => 'e',
'ё' => 'yo', 'ж' => 'zh', 'з' => 'z',
'и' => 'i', 'й' => 'y', 'к' => 'k',
'л' => 'l', 'м' => 'm', 'н' => 'n',
'о' => 'o', 'п' => 'p', 'р' => 'r',
'с' => 's', 'т' => 't', 'у' => 'u',
'ф' => 'f', 'х' => 'kh', 'ц' => 'ts',
'ч' => 'ch', 'ш' => 'sh', 'щ' => 'shch',
'ъ' => '', 'ы' => 'y', 'ь' => '',
'э' => 'e', 'ю' => 'yu', 'я' => 'ya',
);
Популярные изменения для Яндекс
Для лучшей индексации в Яндексе рекомендуется изменить некоторые правила:
<?php
return array(
// ... другие буквы
'Ж' => 'J', // вместо Zh
'Х' => 'H', // вместо Kh
'Ц' => 'C', // вместо Ts
'Ч' => 'Ch',
'Ш' => 'Sh',
'Щ' => 'Sch', // вместо Shch
'Ю' => 'Ju', // вместо Yu
'Я' => 'Ja', // вместо Ya
'ж' => 'j', // вместо zh
'х' => 'h', // вместо kh
'ц' => 'c', // вместо ts
'ч' => 'ch',
'ш' => 'sh',
'щ' => 'sch', // вместо shch
'ю' => 'ju', // вместо yu
'я' => 'ja', // вместо ya
);
После изменения файла очистите кеш MODX.
Создание собственной таблицы
Вы можете создать свою таблицу транслитерации:
- Скопируйте файл
russian.phpвcustom.phpв той же папке - Отредактируйте правила в
custom.php - В системных настройках измените
friendly_alias_translitнаcustom
Использование транслитерации в коде
Вызов из сниппета
Если нужно транслитерировать строку программно:
<?php
$modx->getService('translit', 'modTransliterate');
$transliterated = $modx->translit->translate('Привет мир');
// Результат: privet-mir
С указанием таблицы транслитерации:
<?php
$text = 'Заголовок статьи';
$alias = $modx->translit->translate($text, 'russian');
Очистка псевдонима
Для создания корректного псевдонима с удалением спецсимволов:
<?php
$modx->getService('translit', 'modTransliterate');
$clean_alias = $modx->translit->sanitize('Текст (со скобками) / слэшами!', 'russian');
// Результат: tekst-so-skobkami-sleshami
PHP функция transliterator_transliterate
Альтернативный способ через встроенную PHP функцию:
<?php
$text = 'Привет мир';
$result = transliterator_transliterate('Any-Latin; Latin-ASCII', $text);
// Результат: Privet mir
Этот метод не требует установки дополнений и использует стандарты ICU.
Распространенные проблемы
Транслитерация не работает
Проверьте настройки:
- Установлен ли пакет translit
automatic_alias= Даfriendly_alias_translit= russianfriendly_alias_translit_class= translit.modTransliterate- Очищен ли кеш
Псевдоним не генерируется автоматически
Убедитесь что:
- Поле псевдонима пустое при сохранении
- Параметр
automatic_aliasвключен - У вас есть права на редактирование ресурса
Файлы не транслитерируются
Для MODX 3 проверьте upload_translit.
Для MODX 2 установите filetranslit или создайте плагин.
Кракозябры в именах файлов
Возможные причины:
- Неправильная кодировка сервера
- Отсутствует транслитерация файлов
- Проблемы с локалью PHP
Решение — установить транслитерацию файлов и проверить кодировку.
Настройка разделителя слов
По умолчанию слова разделяются дефисом -.
Изменить разделитель можно через системную настройку:
Разделитель слов в автоматическом псевдониме (friendly_alias_word_delimiter) — -
Возможные варианты:
-(дефис) — рекомендуется_(подчеркивание)- пустое значение (без разделителя)
Примеры транслитерации
Типичные преобразования:
| Заголовок | Псевдоним |
|---|---|
| Контакты | kontakty |
| О компании | o-kompanii |
| Услуги и цены | uslugi-i-ceny |
| Новости 2026 | novosti-2026 |
| Статья №5 | statya-5 |
Лучшие практики
- Всегда используйте транслитерацию для русскоязычных сайтов.
- Не меняйте таблицу без необходимости — стандартная работает хорошо.
- Используйте дефис как разделитель — это стандарт для URL.
- Транслитерируйте файлы для предотвращения проблем на серверах.
- Проверяйте псевдонимы перед публикацией важных страниц.
SEO рекомендации
Транслитерированные URL лучше для SEO чем процентное кодирование:
✅ Хорошо: https://site.ru/kontakty
❌ Плохо: https://site.ru/%D0%BA%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D1%8B
Преимущества транслитерации:
- URL понятны пользователям;
- Легко копируются и вставляются;
- Лучше индексируются поисковиками;
- Не вызывают проблем с кодировкой;
- Выглядят профессионально.






