Dr.Slon Toolkit — мой собственный модульный плагин WordPress. Написал его с нуля (clean-room) специально под задачи, которые постоянно встречаются на клиентских сайтах: безопасность входа, контроль REST API, IndexNow, sitemap, управление автообновлениями, транслитерация, отключение комментариев и базовая очистка.
Не набор костылей и не «ещё один всё-в-одном». Архитектура модульная: каждый модуль отвечает только за свою зону, включается и выключается независимо, регистрирует только свои хуки. На сервере клиента Composer не нужен.
Текущая версия: 0.9.1
Требования: WordPress 6.6+, PHP 8.1+
Лицензия: GPL-2.0-or-later
Репозиторий: github.com/A-Krivoshein/dr-slon-toolkit
Зачем этот плагин
На большинстве сайтов приходится ставить 5–8 разных плагинов ради базовых вещей: спрятать wp-login.php, ограничить REST, отправить IndexNow, сделать нормальный sitemap, отключить комментарии, транслитерировать URL и файлы, приглушить автообновления.
Каждый такой плагин тянет свой интерфейс, свои опции, иногда конфликты и лишний код. Dr.Slon Toolkit решает эти задачи одним лёгким модульным решением с единой страницей настроек и без удалённого JavaScript в админке.
Модули (что есть в 0.9.x)
1. Скрытый вход (Hide Login)
- Прямой доступ к
wp-login.phpотдаёт 404 (кроме сброса пароля и recovery). - Вход работает по своему slug, например
/my-login/. - При смене slug rewrite-правила обновляются автоматически.
- Аварийное отключение одной константой в
wp-config.php:define('KRV_DSTK_DISABLE_HIDE_LOGIN', true); - Работает даже на сайтах без красивых постоянных ссылок (есть fallback).
2. REST API Control
- Три режима: всем / только авторизованным / whitelist.
- Встроенный неизменяемый allowlist системных маршрутов WordPress (редактор, медиа и т.д.).
- Пользовательский whitelist маршрутов и namespace только расширяет список, не ломает базовый.
- Отдельная capability для обхода ограничений.
- Реализация через нативный
rest_pre_dispatch.
3. IndexNow
- Ручная и автоматическая отправка URL.
- Неблокирующая очередь через WP-Cron с повторами и защитой от гонок.
- Проверочный ключ отдаётся по адресу
/<key>.txtбез записи файла на диск. - Учитывает Search Engine Visibility, noindex и canonical от The SEO Framework — не отправляет то, что не нужно.
4. Sitemap
- Индекс
/sitemap.xml+ отдельные карты по типам записей и таксономиям. - Пагинация, кеширование, корректный
lastmod. - Исключает неопубликованные и защищённые паролем записи.
- TSF-safe режим: если The SEO Framework уже отдаёт свой sitemap, модуль Dr.Slon Toolkit автоматически отключается и показывает уведомление — без дублей.
5. Update Controls
- Управление автообновлениями ядра: all / minor / off.
- Отдельные переключатели для плагинов, тем и переводов.
- Управление e-mail уведомлениями об обновлениях.
- Всё через нативные фильтры WordPress, без хаков ядра.
6. Транслитерация
- Русский профиль для URL записей, терминов и имён загружаемых файлов.
- Не трогает уже опубликованные URL автоматически (безопасное поведение).
7. Отключение комментариев
- Глобально закрывает комментарии и пинги.
- Скрывает соответствующий UI в админке.
- Блокирует POST и REST-запросы к комментариям.
8. Очистка (Cleanup)
- Отключение emoji-скриптов.
- Удаление wp-embed.
- Отключение XML-RPC.
- Безопасное удаление лишних тегов из
<head>.
Архитектура
Плагин построен по принципу «один модуль — одна ответственность».
dr-slon-toolkit.php— точка входа, автозагрузка (vendor или встроенный PSR-4 loader).src/Core— Plugin, Settings, Activator, Deactivator, RewriteManager, ModuleInterface.src/Modules— все функциональные модули.src/Admin— нативная страница настроек через Settings API.src/Integrations— The SEO Framework и GitHub Release Updater.
Настройки хранятся в одной опции dstk_settings с вложенной структурой. Каждый модуль можно включать и выключать независимо.
Обновления
С версии 0.9.0 WordPress сам предлагает обновления из GitHub Releases. Берётся только готовый asset dr-slon-toolkit-x.y.z.zip. Перед установкой проверяются SHA-256, размер, версия и структура пакета. Source code с кнопки «Code → Download ZIP» не используется.
Переход с версий ≤ 0.8.2 на 0.9.0 нужно сделать один раз вручную. Дальше обновления идут из админки.
Установка
- Откройте страницу релизов.
- Скачайте файл
dr-slon-toolkit-0.9.1.zip(именно asset, не Source code). - В WordPress: Плагины → Добавить новый → Загрузить плагин.
- Активируйте и настройте в меню Dr.Slon Toolkit.
Composer на боевом сайте не требуется.
Совместимость
Плагин специально сделан совместимым с The SEO Framework. Модули Sitemap и IndexNow умеют уходить в safe-mode, чтобы не создавать дубли и не отправлять noindex-страницы.
Что в планах
- Redirect Manager
- Login Attempts (защита от перебора)
- Экспорт/импорт профилей настроек
- Расширенные интеграционные тесты
Итог
Dr.Slon Toolkit — рабочий инструмент, который я ставлю на клиентские сайты. Без воды, без лишних зависимостей, с понятной модульной структурой и нормальными проверками безопасности.
Скачать актуальный релиз и посмотреть код можно здесь:
https://github.com/A-Krivoshen/dr-slon-toolkit