Skip to content

Всё для WordPress, веб-разработки — и не только

Транслитерация кириллических заголовков в URL-slug

Транслитерация для URL: кириллические заголовки в slug-и

Вставьте список заголовков — получите готовые slug-и по официальной украинской транслитерации или по схеме, которую используют WordPress-плагины. Инструмент сразу показывает коллизии: когда два разных заголовка дают одинаковый URL.

По одной строке. Перетащите сюда .txt или .csv — файл читается локально. Строки в percent-encoding (%D0%BA%D0%BE%D0%B4) декодируются автоматически, так что можно вставлять адреса прямо из браузера.
Это четыре разных способа записать те же самые буквы.
Обрезается по границе слова, а не посреди него
Обработка гh (КМУ-55) или g (российская, ГОСТ); хkh / h / x; щshch / sch / shh; иy или i. Именно поэтому англоязычные slugify-библиотеки для украинского непригодны: внутри в них зашита одна таблица, обычно российская, и украинский текст выходит транслитерированным по чужим правилам. КМУ-55 дополнительно не передаёт мягкий знак и апостроф и пишет зг как zgh, чтобы отличить от ж.
ОригиналSlugДлина
Вставьте заголовки — по одному в строку.

Заголовки не покидают ваш браузер — транслитерация выполняется локально, без отправки на сервер.

Почему обычные транслитераторы не годятся для URL

Украинские онлайн-сервисы транслитерации сделаны для документов: они передают имя «Олександр» как «Oleksandr» и на этом останавливаются. Для адреса страницы этого мало — нужен ещё нижний регистр, замена пробелов и пунктуации на дефисы, обрезка по границе слова и проверка на повторы. Вторая проблема — англоязычные библиотеки slugify не различают украинский и русский. Это критично, потому что одни и те же кириллические буквы транслитерируются по-разному: украинская «г» это h, русская — g; украинская «и» это y, русская — i. Библиотека, настроенная на русский, сделает из «Гриби» слово «Griby» вместо «Hryby». Третье — коллизии. Если два заголовка дают одинаковый slug, WordPress молча добавит в конец «-2». Вы узнаете об этом, только когда увидите странный адрес в поиске. Инструмент подсвечивает такие случаи заранее. Официальная украинская транслитерация закреплена постановлением Кабинета Министров №55 от 27 января 2010 года. По ней мягкий знак и апостроф не передаются вообще, а сочетание «зг» передаётся как «zgh», чтобы отличить его от «ж».

Частые вопросы