All to Lat — латинские slug’и транслитерацией для WordPress и WooCommerce
Латинские slug'и транслитерацией для WordPress и WooCommerce: кириллица в ссылках заменяется автоматически, откат и 301-редиректы со старых адресов.
- Совместимость
- WordPress 6.2+ · WooCommerce · PHP 7.2+
Что умеет модуль
Как это выглядит
Главное о модуле
После конвертации ничего не 404-ится
Переименованную запись ведёт WordPress сам — через _wp_old_slug.
Что стоит знать перед включением
Включение влияет только на slug’и, созданные с этого момента.
Чего плагин не делает
Черновики он не трогает.
Технические требования
WordPress 6.2 и новее, PHP 7.2 и новее. WooCommerce не обязателен: плагин работает и на обычном блоге, а с Woo — ещё и на товарах, категориях и атрибутах.
История версий
Предпросмотр искал только в первых строках и на сайте со свежим латинским контентом писал «нечего менять», пока счётчик рядом показывал сотни; конвертер записывал slug’и в черновики и…
Первый выпуск.
Полное описание модуля
All to Lat делает все ссылки сайта латиницей. WordPress строит slug из заголовка — и на украинском заголовке в адресе оседает %d0%b0%d0%b1%d0%b2: в выдаче это выглядит спамно, при копировании в мессенджер или письмо ломается, а читателю не говорит ничего. Плагин транслитерирует заголовок первым, поэтому в адресе стоит upravlinnia-nerukhomistiu.
После конвертации ничего не 404-ится
Переименованную запись ведёт WordPress сам — через _wp_old_slug. Переименованную рубрику или метку он не ведёт: такого механизма для терминов в ядре просто нет, и категория, которая отвечала по старому адресу, начинает отдавать 404 вместе со всеми ссылками на неё. Этот 301 плагин отправляет сам, из собственного журнала, и только для запроса, который уже ничего не нашёл — живую страницу обработчик не трогает.
Интерфейс плагина — на украинском: перевод идёт в сборке, отдельно ничего ставить не надо.
Что стоит знать перед включением
Включение влияет только на slug’и, созданные с этого момента. Существующие адреса меняются только тогда, когда вы сами запустите массовую конвертацию — она предупреждает, показывает предпросмотр и оставляет журнал, который можно откатить.
Чего плагин не делает
Черновики он не трогает. WordPress намеренно держит у черновика пустой slug и подставляет его из заголовка при публикации — если записать адрес сейчас, он застынет на недописанном названии, а откатить его некуда: предыдущего значения просто нет. Поэтому массовая конвертация работает только с тем, что уже имеет адрес.
Зачем это магазину
WordPress берёт slug из заголовка, а если заголовок кириллицей — в него ложится кириллица. В браузере такой адрес выглядит нормально, но стоит его куда-то скопировать, он превращается в %D0%BA%D1%83%D0%BF%D0%B8%D1%82%D0%B8 длиной в экран.
Это бьёт в трёх местах сразу: ссылка в мессенджере выглядит как спам, аналитика показывает нечитаемые URL, а часть внешних сервисов (агрегаторы, маркетплейсы, некоторые почтовые клиенты) такие адреса просто режет.
Как это работает — шаг за шагом
1. Плагин включается и дальше молча перехватывает момент, когда WordPress формирует slug.
2. Заголовок транслитерируется по украинской таблице (стандарт по умолчанию, в настройках его можно сменить) — именно украинской, а не «русской для всех»: і, ї, є, ґ обрабатываются правильно, а щ становится shch, как в паспортном стандарте.
3. Новая запись, товар, категория или тег сразу получает латинский slug. Ничего нажимать не нужно.
4. Для уже опубликованного есть массовая конвертация — за один проход по всему каталогу.
5. Со старых кириллических адресов ставится 301, поэтому позиции в поиске и чужие ссылки не теряются.
Что получает админ
Экран настроек минимальный: стандарт транслитерации, разделитель, длина, к чему применять (slug’и, имена файлов) и отдельная вкладка массовой конвертации, где выбираете, что именно конвертировать. Плагин не добавляет ни виджетов, ни блоков, ничего на фронт.
Slug остаётся обычным полем WordPress — его можно отредактировать руками, и плагин это уважает, а не переписывает обратно при следующем сохранении.
Что под капотом
Транслитерация вешается на штатный фильтр WordPress для slug, а не на JavaScript в форме редактора. Это важно: slug выходит латинским и тогда, когда запись создаёт импорт, REST API или другой плагин, — то есть там, где JS-решение не срабатывает вообще.
301-редиректы хранятся отдельно и не зависят от темы. Выключили плагин — старые адреса рубрик и меток перестают редиректиться (записи и дальше ведёт сам WordPress), но ничего не ломается.
Как установить
1. Загрузите архив в «Плагины → Добавить новый → Загрузить плагин» и активируйте.
2. Проверьте на одной новой записи, что slug вышел латинским.
3. Если каталог уже кириллический — сделайте бэкап базы и запустите массовую конвертацию.
4. Убедитесь, что старые адреса отдают 301 на новые.
Вопросы
о модуле
Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.
Изменятся ли мои нынешние адреса после активации?
Нет. Включение влияет только на slug'и, созданные с этого момента. Существующие адреса меняются только тогда, когда вы сами запустите массовую конвертацию — она предупреждает, показывает предпросмотр и оставляет журнал, который можно откатить.
Старые ссылки после конвертации будут работать?
Да. Записи ведёт сам WordPress через мету _wp_old_slug, которую плагин дописывает; рубрики и метки ведёт плагин из своего журнала. В обоих случаях это 301 — именно то, что нужно поисковым системам, чтобы перенести позиции на новый адрес.
Почему WordPress сам не ведёт переименованную рубрику?
Такого механизма для терминов в ядре просто нет — он существует только для записей. Поэтому категория, переименованная без плагина, начинает отдавать 404 вместе со всеми ссылками на неё.
Работает с WooCommerce?
Да. Товар — это тип записи, а категории товаров — таксономия, поэтому оба проходят через тот же фильтр и оба есть в списке массовой конвертации.
А с многоязычным сайтом?
Да. Плагин транслитерирует тот текст, который ему дали, поэтому каждый язык даёт собственный slug. Стандарт выбирается под ваше письмо — он влияет только на кириллицу.
Что будет с именами файлов в медиатеке?
Новые загрузки сохраняются латиницей: «Отчёт.pdf» становится «otchet.pdf», расширение не меняется. Уже загруженные файлы плагин не переименовывает — это порвало бы ссылки в контенте.
Сколько стоит?
Бесплатно, без ограничений по количеству записей или прогонов.
Трогает ли конвертация черновики?
Нет. У черновика WordPress намеренно держит пустой slug и строит его из заголовка при публикации. Если бы плагин записал адрес сейчас, он застыл бы на недописанном названии, а откатить его было бы некуда — предыдущего значения просто нет.
Что произойдёт со старыми адресами, если выключить транслитерацию после конвертации?
Ничего — 301 управляется собственным переключателем «301 со старых адресов». Выключение транслитерации влияет только на slug'и, которые будут создаваться дальше; уже перенаправленные адреса работают, пока включён редирект.
Пока нет ни одного отзыва. Будьте первым.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Не тот вариант, что искали?
Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.
Заказать кастомный модуль
Покупка модуля
—