Dr.Slon Toolkit — модульный плагин для обслуживания клиентских сайтов

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 нужно сделать один раз вручную. Дальше обновления идут из админки.

Установка

  1. Откройте страницу релизов.
  2. Скачайте файл dr-slon-toolkit-0.9.1.zip (именно asset, не Source code).
  3. В WordPress: Плагины → Добавить новый → Загрузить плагин.
  4. Активируйте и настройте в меню 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


Комментарии загружаются…

blank
Обзор конфиденциальности

На этом сайте используются файлы cookie, что позволяет нам обеспечить наилучшее качество обслуживания пользователей. Информация о файлах cookie хранится в вашем браузере и выполняет такие функции, как распознавание вас при возвращении на наш сайт и помощь нашей команде в понимании того, какие разделы сайта вы считаете наиболее интересными и полезными.