6 сентября 2026 вышел Dr.Slon Toolkit 0.12.0. В этом выпуске две рабочие вещи для клиентских WordPress-сайтов: капча Яндекса наконец нормально садится на форму входа, и уже существующие кириллические постоянные ссылки можно перевести в латиницу вместе с 301.
Плагин модульный, ставится ZIP из GitHub Releases, Composer на сервере клиента не нужен. Нужны WordPress 6.6+ и PHP 8.1+. Обновление с 0.11.x приходит из того же GitHub Release, если автообновления плагинов не выключены.
Почему капча Яндекса не влазила в wp-login
Стандартная форма входа WordPress узкая: блок #login шириной 320px, у формы внутренние отступы по 24px и overflow: hidden. Чекбокс Yandex SmartCaptcha около 300×100 пикселей. В чистой математике он уже шире полезной области формы, поэтому виджет обрезался по краям, а выпадающая проверка могла прятаться за рамкой.
В 0.11.0 капча уже проверяла токен на сервере, но контейнер был с фиксированной высотой 100px и без отдельной вёрстки под wp-login. Для скрытого URL входа это тот же экран: WordPress всё равно рисует нативную форму.
Что сделано с формой входа
В 0.12.0 на страницу логина подключается свой CSS. Форма становится шире (360px), у #loginform снимается скрытие overflow, виджет оборачивается в .dstk-login-captcha. На узком экране чекбокс чуть масштабируется, чтобы не вылезал за край телефона.
Логика проверки не менялась. Нужны клиентский и серверный ключи из Yandex Cloud. Восстановление пароля и XML-RPC капчей не закрываются. Если API Яндекса не отвечает, вход не блокируется: это сознательный fail-open, чтобы админ не остался за дверью из-за чужого сбоя.
Кириллица в старых ссылках
Модуль транслитерации и раньше переводил новые slug: «Главная страница» становилась glavnaya-stranitsa, то же для рубрик и имён загружаемых файлов. Уже опубликованные URL он намеренно не трогал, чтобы не развалить внешние ссылки и индекс.
На сайте, который жил без плагина, в базе остаются post_name вроде о-компании и ярлыки рубрик новости. В браузере это выглядит как русские пути, в sitemap и в письмах клиентов тоже. Для нового сайта это не проблема. Для старого, который пора привести к латинице, ручной правки сотен записей недостаточно: ещё нужны редиректы.
Как перевести существующие URL
На странице Dr.Slon Toolkit появился блок «Существующие кириллические URL». Плагин показывает порцию записей, страниц и публичных рубрик, у которых в slug есть кириллица, и предлагает латинский вариант по тому же профилю, что и для новых заголовков.
- Включите модуль «Транслитерация URL», если хотите, чтобы новые материалы тоже шли латиницей.
- Сделайте резервную копию базы. Меняются постоянные ссылки, это не косметика.
- Отметьте «Поставить 301 со старых адресов на новые» и подтверждение, что ссылки изменятся.
- Нажмите «Перевести существующие URL». За один запуск уходит до 100 slug: сначала термины, потом записи, родители раньше детей.
- Если порция не последняя, запустите перевод ещё раз.
Редиректы пишутся в отдельную опцию dstk_translit_redirects, не в текстовое поле Redirect Manager (там лимит 100 правил). Старый путь продолжает отдавать 301 даже если модуль транслитерации потом выключить. Цепочки схлопываются: если сначала /новости/ ушёл на промежуточный адрес, а потом ещё раз, в правиле остаётся конечный URL.
Для записей WordPress и сам сохраняет _wp_old_slug. Отдельные 301 нужны, когда в пути сидит кириллическая рубрика или родительская страница: после смены ярлыка категории меняется и URL латинской записи.
Что инструмент не делает
Не переименовывает файлы в uploads. Имя фото.jpg на диске останется как было, транслитерация файлов работает только для новых загрузок. Не трогает японские и прочие некириллические slug. Не переписывает содержимое постов в поиске старых URL внутри текста.
Перед массовой сменой ссылок разумна копия базы. Если в постоянных ссылках участвует %category%, сначала смотрите превью: в таблице видно, какой slug станет каким. После перевода сбросьте кеш страниц и проверьте пару старых адресов в приватном окне.
Как поставить 0.12.0
Скачивать нужно asset dr-slon-toolkit-0.12.0.zip со страницы GitHub Releases, не Source code и не кнопку Code → Download ZIP. С 0.9.0 плагин проверяет SHA-256 и структуру архива. На сайте с уже установленным Toolkit обновление должно появиться в стандартном списке обновлений WordPress.
wp plugin get dr-slon-toolkit --field=version
Ожидаемый ответ после обновления: 0.12.0. Если WP-CLI нет, версия видна на экране плагинов и в шапке настроек Dr.Slon Toolkit.
Где обычно ломается
Капча не показывается, пока не заполнены оба ключа: в админке будет предупреждение. Если тема или другой плагин жёстко задаёт ширину #login, наш CSS может проиграть по специфичности, это видно сразу на экране входа.
После перевода URL кеш (плагин страниц, CDN, HTML-кеш хостинга) может ещё отдавать старые адреса. Редирект живёт на template_redirect, поэтому «голый» WordPress должен ответить 301. Если видите 200 со старым путём, сначала снимите кеш.
Меню из произвольных ссылок, где URL вбит руками, тоже упрётся в 301, если отмечена галка редиректов. Ссылки на вложения в медиабиблиотеке по файлу на диске не изменятся.
Как проверить результат
- Форма входа: чекбокс Яндекса целиком внутри белой карточки, кнопка «Войти» не перекрыта.
- Скрытый slug входа, если модуль включён: та же форма, капча на месте.
- Превью транслитерации: в таблице нет кириллицы в колонке «Станет».
- Старый адрес записи: ответ 301 на латинский путь, страница открывается.
- Sitemap и внутренний поиск: новые URL, без русских сегментов в пути записей и рубрик.
Вывод
0.12.0 закрывает две бытовые дыры клиентского WordPress: капча на входе больше не торчит из узкой формы, а кириллические ссылки с прошлых лет можно убрать без ручной правки каждой записи. Ставить только ZIP с GitHub Releases. Перед массовым переводом URL нужна копия базы, после него проверка 301 и сброс кеша.
Репозиторий и исходники: A-Krivoshen/dr-slon-toolkit. Задачи по WordPress и сопровождению сайтов по-прежнему на wordpress.krivoshein.site.