В чём проблема
Большинство простых модулей транслитерации содержат таблицу ровно из 33 русских букв. Всё, что в неё не попало, обрабатывается по остаточному принципу: символ либо удаляется, либо заменяется разделителем.
Результат предсказуем: «Львів» превращается в lvv, «Київ» — в kiv, «Ґрунт» — в runt. Адрес формально создан, но слова в нём больше нет.
Таблица дополнительных букв
| Буква | Язык | Для адреса | Пример |
|---|---|---|---|
| і | украинский, белорусский | i | Львів → lviv |
| ї | украинский | ji | Київ → kijiv |
| є | украинский | e | Європа → evropa |
| ґ | украинский | g | ґанок → ganok |
| ў | белорусский | u | Наваполацк → navapolack |
| апостроф | украинский, белорусский | удаляется | м'ясо → myaso |
Генератор на этом сайте обрабатывает все шесть позиций: буквы не выпадают, а адрес сохраняет смысл.
Официальная украинская схема — другая
Для документов на Украине действует своя таблица, и она заметно отличается от того, что нужно адресу страницы.
| Буква | Официальная схема | Для адреса |
|---|---|---|
| г | h | g |
| ґ | g | g |
| ж | zh | zh |
| ї | i / yi | ji |
| є | ie / ye | e |
| щ | shch | shh |
Особенность официальной схемы — зависимость от позиции буквы в слове: в начале слова один вариант, в середине другой. Для документов это нормально, для автоматической генерации адресов неудобно. Общая логика различий между схемами разобрана в статье про ГОСТ, ISO и паспортные правила.
Как решить, какую схему брать. Если страница продвигается в русскоязычном поиске — таблица Яндекса. Если сайт на украинском языке и продвигается в украинском сегменте — официальная схема, привычная местной аудитории.
Смешанные тексты
Самый частый случай — не полностью украинский сайт, а русскоязычный ресурс, где встречаются украинские топонимы, имена и названия компаний.
- Каталог доставки с городами: Київ, Львів, Дніпро.
- Карточки товаров с производителями и торговыми марками.
- Статьи и новости с цитатами и именами.
- Отзывы и подписи клиентов.
В таких текстах отдельные буквы попадаются редко, но именно поэтому их пропускают: одна страница из сотни получает испорченный адрес, и это замечают через месяцы.
Как проверить свой сайт
- Найдите страницы, в заголовках которых есть і, ї, є, ґ, ў или апостроф.
- Сравните заголовок с адресом: не пропали ли буквы, нет ли двойных дефисов на их месте.
- Проверьте, не образовались ли одинаковые адреса у разных страниц — например, «Львів» и «Львов» могли дать один и тот же
lvv. - Испорченные адреса поправьте вместе с 301-редиректом, если страницы уже в индексе.
Дубли, возникшие из-за схлопывания разных слов в один адрес, — отдельная проблема, о ней подробно в материале про дубли страниц.
Примеры целых фраз
| Фраза | Адрес |
|---|---|
| Доставка у Київ | dostavka-u-kijiv |
| Магазин у Львові | magazin-u-lvovi |
| Європейська якість | evropejska-yakist |
| Свіже м'ясо | svizhe-myaso |
Проверить любую фразу можно в генераторе — дополнительные буквы обрабатываются наравне с русскими.
Сайт на двух языках: где хранить версии
Если у проекта есть русская и украинская версии, вопрос транслитерации превращается в вопрос структуры. Три рабочих варианта:
| Схема | Пример | Особенности |
|---|---|---|
| Папки | site.com/ua/catalog/ | Проще всего, вес домена общий |
| Поддомены | ua.site.com/catalog/ | Версии разделены, настройка сложнее |
| Отдельные домены | site.ua | Полная независимость, дороже в поддержке |
При любом варианте адреса внутри языковой версии формируются по схеме этого языка: в украинском разделе — по украинской, в русском — по русской. Смешивать нельзя, иначе одна и та же страница получит несопоставимые адреса в разных версиях.
Названия, которые пишутся по-разному
Города и компании часто имеют два написания, и в адресах это создаёт путаницу.
Русская версия: /dostavka/kiev/
Украинская версия: /ua/dostavka/kijiv/
Это правильно: каждая версия использует то написание, которое ищет её аудитория. Ошибкой было бы поставить один и тот же адрес для обеих версий или, наоборот, создать две страницы с одинаковым содержанием в пределах одной версии — это уже дубли.
Как проверить свой модуль за минуту
Создайте черновик с заголовком «Київ, Львів, Європа» и посмотрите на сформированный адрес.
kijiv-lviv-evropa— модуль знает дополнительные буквы, всё в порядке.kiv-lvv-vropa— буквы выбрасываются, нужна доработка.k-v-l-v-v-ropa— буквы заменяются разделителем, это худший вариант.
Если модуль не справляется, адреса для таких страниц проще задавать вручную, подготовив их в генераторе.
Частые вопросы
Что делать с буквой ї в адресе?
В таблице для адресов она передаётся как ji: Київ превращается в kijiv. Официальная украинская схема использует другой вариант, поэтому выбирайте по тому, под какой поиск оптимизируется страница.
Куда девается апостроф?
Он просто удаляется, как и мягкий знак. В адресе апострофы недопустимы: они кодируются и делают ссылку нечитаемой.
Почему в адресе пропадают буквы?
Модуль транслитерации знает только русский алфавит, а всё остальное отбрасывает. Проверьте страницы с украинскими и белорусскими буквами — там адрес чаще всего испорчен.
Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.