All to Lat — латинські slug’и транслітерацією для WordPress і WooCommerce
Замість %d0%b0%d0%b1 в адресі — читабельна латиниця. Один фільтр покриває записи, сторінки, товари, рубрики й імена файлів; наявні адреси конвертуються масово, з відкатом і 301.
Що всередині
- Slug латиницею для записів, сторінок, довільних типів, рубрик і міток
- Товари, категорії та атрибути WooCommerce — тим самим фільтром
- Імена завантажених файлів транслітеруються, розширення зберігається
- Працює для редактора, XML-імпорту, REST API і WP-CLI
- Українська (КМУ 55/2010), російська (BGN/PCGN), болгарська, сербська, білоруська
- Грецька і латиниця з діакритикою: pl, cs, sk, de, fr, es, pt, tr, ro, hu, балтійські, скандинавські, vi
- Німецькі умляути як ae/oe/ue — окремою опцією
- Масова конвертація наявних адрес батчами з попереднім переглядом
- Журнал змін і відкат прогону одним кліком
- 301 для перейменованих рубрик і міток, яких WordPress не веде сам
- Безкоштовний
All to Lat робить усі посилання сайту латиницею. WordPress будує slug із заголовка — і на українському заголовку в адресі осідає %d0%b0%d0%b1%d0%b2: у видачі це виглядає спамно, при копіюванні в месенджер чи лист ламається, а читачеві не каже нічого. Плагін транслітерує заголовок першим, тож у адресі стоїть upravlinnia-nerukhomistiu.


Після конвертації нічого не 404-иться
Перейменований запис веде WordPress сам — через _wp_old_slug. Перейменовану рубрику чи мітку він не веде: такого механізму для термінів у ядрі просто немає, і категорія, яка відповідала за старою адресою, починає віддавати 404 разом з усіма посиланнями на неї. Цей 301 плагін надсилає сам, з власного журналу, і тільки для запиту, який уже нічого не знайшов — жива сторінка обробника не торкається.
Інтерфейс плагіна — українською: переклад іде в збірці, окремо нічого ставити не треба.
Що варто знати перед увімкненням
Увімкнення впливає лише на slug’и, створені з цієї миті. Наявні адреси змінюються тільки тоді, коли ви самі запустите масову конвертацію — вона попереджає, показує попередній перегляд і лишає журнал, який можна відкотити.

Чого плагін не робить
Чернетки він не чіпає. WordPress навмисно тримає у чернетки порожній slug і підставляє його з заголовка при публікації — якщо записати адресу зараз, вона застигне на недописаній назві, а відкотити її нікуди: попереднього значення просто немає. Тому масова конвертація працює лише з тим, що вже має адресу.
Історія версій
1.1.0 — попередній перегляд шукав тільки в перших рядках і на сайті зі свіжим латинським контентом писав «нічого міняти», поки лічильник поруч показував сотні; конвертер записував slug’и у чернетки і відкотити їх було неможливо; 301 для перейменованих рубрик помирав, щойно вимикали транслітерацію нових посилань — тепер він має власний перемикач; якщо одну адресу мали і рубрика, і мітка, обидві старі адреси вели на одну з них — тепер вирішує шлях запиту; «Відкотити» стирав рядок журналу навіть тоді, коли slug не вдалося повернути, і забирав із ним редірект; довгий прогін мовчки зупинявся на стелі батчів — тепер каже, де спинився, і продовжує з того місця. Лічильники рахує база, а не PHP (сторінка налаштувань на великому каталозі більше не гальмує), скрипт і стилі адмінки винесені у файли. Мінімальна версія WordPress — 6.2.
1.0.0 — перший випуск.
Часті питання
Чи зміняться мої нинішні адреси після активації?
Ні. Увімкнення впливає лише на slug'и, створені з цієї миті. Наявні адреси змінюються тільки тоді, коли ви самі запустите масову конвертацію — вона попереджає, показує попередній перегляд і лишає журнал, який можна відкотити.
Старі посилання після конвертації працюватимуть?
Так. Записи веде сам WordPress через мету _wp_old_slug, яку плагін дописує; рубрики й мітки веде плагін зі свого журналу. В обох випадках це 301 — саме те, що потрібно пошуковим системам, щоб перенести позиції на нову адресу.
Чому WordPress сам не веде перейменовану рубрику?
Такого механізму для термінів у ядрі просто немає — він існує лише для записів. Тому категорія, перейменована без плагіна, починає віддавати 404 разом з усіма посиланнями на неї.
Працює з WooCommerce?
Так. Товар — це тип запису, а категорії товарів — таксономія, тож обидва проходять через той самий фільтр і обидва є в списку масової конвертації.
А з багатомовним сайтом?
Так. Плагін транслітерує той текст, який йому дали, тож кожна мова дає власний slug. Стандарт вибирається під ваше письмо — він впливає лише на кирилицю.
Що буде з іменами файлів у медіатеці?
Нові завантаження зберігаються латиницею: «Звіт.pdf» стає «zvit.pdf», розширення не змінюється. Уже завантажені файли плагін не перейменовує — це порвало б посилання в контенті.
Скільки коштує?
Безкоштовно, без обмежень за кількістю записів чи прогонів.
Чи чіпає конвертація чернетки?
Ні. У чернетки WordPress навмисно тримає порожній slug і будує його із заголовка при публікації. Якби плагін записав адресу зараз, вона застигла б на недописаній назві, а відкотити її не було б куди — попереднього значення просто немає.
Що станеться зі старими адресами, якщо вимкнути транслітерацію після конвертації?
Нічого — 301 керується власним перемикачем «301 зі старих адрес». Вимкнення транслітерації впливає лише на slug'и, які створюватимуться далі; уже перенаправлені адреси працюють, поки ввімкнений редірект.
Питання щодо модуля?
Пишіть у Telegram — відповімо протягом робочого дня. Допоможемо з налаштуванням, сумісністю та активацією ключа.
Поки що жодного відгуку. Будь першим — нижче.
Залишити відгук
Відгук модерується перед публікацією — це звичайно займає до 24 годин.
Поки питань немає. Запитай — ми відповімо протягом 24 годин.
Поставити питання
Зазвичай відповідаємо протягом 24 годин у робочий час.
Купівля модуля
—