Smart JIT Manager
Умное управление OPcache JIT для WordPress. Баланс скорости и стабильности.
by Robert Bennett · github.com/robertobennett/smart-jit-manager · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/robertobennett/smart-jit-manager/archive/refs/heads/main.zipSmart JIT Manager for WordPress
Версия: 1.0.2
Требуется WordPress: 5.0+
Требуется PHP: 8.0+
Лицензия: GPL v2 or later
Описание
Умный плагин для управления OPcache JIT компиляцией в WordPress. Обеспечивает максимальную производительность для реальных пользователей и гарантированную стабильность для поисковых систем. Решает проблемы с кешированием контента и 404 ошибками.
Ключевые особенности
- Ускорение для пользователей - агрессивный JIT в режиме
tracing - Стабильность для ПС - полное отключение JIT для поисковых роботов
- Автоочистка кеша - при публикации нового контента
- Исправление 404 - автоматическое перенаправление для закешированных записей
- Мониторинг - детальная информация о работе JIT
- Гибкие настройки - два режима работы
Установка
- Скачайте архив плагина
- В админке WordPress: «Плагины» → «Добавить новый» → «Загрузить плагин»
- Загрузите архив и активируйте плагин
- Или скопируйте папку плагина в
/wp-content/plugins/ - Активируйте в меню «Плагины»
Настройка PHP
1. Основные настройки в php.ini
; Включение OPcache
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.validate_timestamps=1
; Базовые настройки JIT
opcache.jit_buffer_size=100M
opcache.jit=tracing
2. Оптимальные настройки для производительности
; Агрессивный режим JIT
opcache.jit_buffer_size=100M
opcache.jit=tracing
opcache.jit_max_trace_points=100000
opcache.jit_max_root_traces=10000
opcache.jit_max_polymorphic_calls=1000
; Дополнительные оптимизации
opcache.interned_strings_buffer=16
opcache.max_wasted_percentage=10
3. Безопасные настройки для стабильности
; Сбалансированный режим
opcache.jit_buffer_size=64M
opcache.jit=function
opcache.jit_max_trace_points=50000
opcache.jit_max_root_traces=5000
; Консервативные настройки
opcache.revalidate_freq=30
opcache.validate_timestamps=1
4. Для shared-хостинга (.user.ini)
; Минимальные настройки
opcache.enable=1
opcache.jit_buffer_size=64M
opcache.jit=function
opcache.revalidate_freq=120
Настройка плагина
1. Режимы работы
После активации перейдите в «Настройки» → «JIT Manager»:
-
🟢 Безопасный режим (рекомендуется)
- JIT:
function - Баланс скорости и стабильности
- Подходит для большинства сайтов
- JIT:
-
🟡 Экспертный режим
- JIT:
tracing - Максимальная производительность
- Может вызывать проблемы с ПС
- JIT:
2. Мониторинг
Плагин добавляет в админ-бар:
- Текущий режим работы
- Размер буфера JIT
- Статус JIT компиляции
3. HTTP-заголовки для отладки
Плагин добавляет диагностические заголовки:
X-JIT-Mode: BALANCED-for-human
X-JIT-Buffer: 100M
X-JIT-Actual: tracing
X-Bot-Detected: no
Решаемые проблемы
1. Проблема: Поисковые роботы не видят контент
Решение: Полное отключение JIT для:
- Googlebot, Yandex, Bingbot
- Всех ботов и краулеров
- IP-адресов поисковых систем
2. Проблема: 404 ошибки для новых записей
Решение: Автоматическое определение и перенаправление
3. Проблема: Задержки при публикации
Решение: Автоочистка OPcache при обновлении контента
Диагностика
1. Проверка настроек PHP
Создайте файл phpinfo.php в корне сайта:
<?php phpinfo();
Проверьте разделы:
- OPcache - должен быть включен
- JIT - должен быть активен
- Buffer size - рекомендуемо 64-100MB
2. Тестовый скрипт
Создайте jit-test.php:
<?php
header('Content-Type: text/plain');
echo "JIT: " . ini_get('opcache.jit') . "\n";
echo "Buffer: " . ini_get('opcache.jit_buffer_size') . "\n";
echo "User-Agent: " . ($_SERVER['HTTP_USER_AGENT'] ?? 'Unknown');
3. Проверка ботов
Откройте сайт с User-Agent:
User-Agent: Googlebot/2.1
В заголовках должен быть:
X-JIT-Mode: SAFE-for-bot
X-Bot-Detected: yes
Производительность
Рекомендуемые значения буфера:
- Малые сайты (до 10k посетителей/мес): 64M
- Средние сайты (до 100k посетителей/мес): 100M
- Крупные сайты (100k+ посетителей/мес): 128-256M
Мониторинг использования:
# Проверка использования OPcache
php -r "print_r(opcache_get_status()['memory_usage']);"
# Статистика JIT
php -r "print_r(opcache_get_status()['jit']);"
Безопасность
Отключение для конкретных User-Agent:
Плагин автоматически отключает JIT для:
Googlebot, Yandex, Bingbot, DuckDuckBot
Baiduspider, Sogou, Facebot, Facebook
AhrefsBot, SemrushBot, MJ12bot, DotBot
Megaindex, Mail.Ru, PetalBot, ZoomInfo
SerpstatBot, и все боты/crawlers/spiders
IP-адреса поисковых систем:
- Google:
66.249.64.0/19,66.249.64.0/20 - Yandex:
77.88.0.0/18,5.255.0.0/16 - Bing:
207.46.0.0/16,157.55.0.0/16
Устранение неполадок
1. JIT не включается
Решение: Проверьте поддержку OPcache в PHP:
<?php
var_dump(function_exists('opcache_get_status'));
2. Буфер не меняется
Решение: Размер буфера меняется только в php.ini
3. Проблемы с кешированием
Решение: Временно отключите плагин и проверьте
4. Конфликты с другими плагинами
Решение: Отключите другие кеширующие плагины
Обновление
- Деактивируйте плагин
- Удалите старую версию
- Установите новую версию
- Активируйте плагин
- Проверьте настройки
Лицензия
GPL v2 or later - смотрите файл LICENSE
Поддержка
Для технической поддержки:
- Проверьте настройки PHP
- Посмотрите логи ошибок
- Проверьте HTTP-заголовки
- Временно отключите другие плагины
Changelog
1.0.2
- Исправлена обработка размера буфера
- Добавлены предупреждения в админку
- Улучшена детекция ботов
1.0.1
- Безопасный режим по умолчанию
- Полное отключение для Google/Yandex
- Исправление 404 ошибок
1.0.0
- Первоначальный релиз
- Умное определение пользователей
- Управление JIT настройками
- Автоочистка кеша
Важно: Перед использованием в production среде протестируйте на staging-окружении!