All to Lat — латинські slug’и транслітерацією для WordPress і WooCommerce
Замість %d0%b0%d0%b1 в адресі — читабельна латиниця. Один фільтр покриває записи, сторінки, товари, рубрики й імена файлів; наявні адреси конвертуються масово, з відкатом і 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» стає «zvit.pdf», розширення не змінюється. Уже завантажені файли плагін не перейменовує — це порвало б посилання в контенті.
Скільки коштує?
Безкоштовно, без обмежень за кількістю записів чи прогонів.
Чи чіпає конвертація чернетки?
Ні. У чернетки WordPress навмисно тримає порожній slug і будує його із заголовка при публікації. Якби плагін записав адресу зараз, вона застигла б на недописаній назві, а відкотити її не було б куди — попереднього значення просто немає.
Що станеться зі старими адресами, якщо вимкнути транслітерацію після конвертації?
Нічого — 301 керується власним перемикачем «301 зі старих адрес». Вимкнення транслітерації впливає лише на slug'и, які створюватимуться далі; уже перенаправлені адреси працюють, поки ввімкнений редірект.
Поки що жодного відгуку. Будьте першим.
Поки питань немає. Запитай — ми відповімо протягом 24 годин.
Не той варіант, що шукаєте?
Робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.
Замовити кастомний модуль
Купівля модуля
—


