WP Manifestindependent plugin directory
manifest / performance / smart-jit-manager

Smart JIT Manager

Умное управление OPcache JIT для WordPress. Баланс скорости и стабильности.

by Robert Bennett · github.com/robertobennett/smart-jit-manager · website

1stars
0forks

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.zip

Smart 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
  • Гибкие настройки - два режима работы

Установка

  1. Скачайте архив плагина
  2. В админке WordPress: «Плагины» → «Добавить новый» → «Загрузить плагин»
  3. Загрузите архив и активируйте плагин
  4. Или скопируйте папку плагина в /wp-content/plugins/
  5. Активируйте в меню «Плагины»

Настройка 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: tracing
    • Максимальная производительность
    • Может вызывать проблемы с ПС

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. Конфликты с другими плагинами

Решение: Отключите другие кеширующие плагины

Обновление

  1. Деактивируйте плагин
  2. Удалите старую версию
  3. Установите новую версию
  4. Активируйте плагин
  5. Проверьте настройки

Лицензия

GPL v2 or later - смотрите файл LICENSE

Поддержка

Для технической поддержки:

  1. Проверьте настройки PHP
  2. Посмотрите логи ошибок
  3. Проверьте HTTP-заголовки
  4. Временно отключите другие плагины

Changelog

1.0.2

  • Исправлена обработка размера буфера
  • Добавлены предупреждения в админку
  • Улучшена детекция ботов

1.0.1

  • Безопасный режим по умолчанию
  • Полное отключение для Google/Yandex
  • Исправление 404 ошибок

1.0.0

  • Первоначальный релиз
  • Умное определение пользователей
  • Управление JIT настройками
  • Автоочистка кеша

Важно: Перед использованием в production среде протестируйте на staging-окружении!