Опис
Query Monitor — це панель інструментів для розробників WordPress і WooCommerce. Вона дозволяє виконувати налагодження запитів до бази даних, помилок PHP, хуків і дій, блоків редактора блоків, скриптів і таблиць стилів у черзі, викликів HTTP API тощо.
Він включає в себе деякі розширені функції, такі як налагодження викликів Ajax, викликів REST API, перевірка можливостей користувачів, а також повну підтримку блокових тем і повне редагування сайту. Він включає в себе можливість звузити більшу частину його виводу за допомогою плагіна або теми, що дозволяє швидко визначити плагіни, теми або функції, які працюють погано.
Query Monitor значною мірою зосереджується на представленні своєї інформації у зручний спосіб, наприклад, показуючи сукупні запити до бази даних, згруповані за плагінами, темами або функціями, які за них відповідають. Він додає меню панелі інструментів адміністратора, яке відображає огляд поточної сторінки, з повною інформацією про налагодження, яка відображається на панелях після вибору елемента меню.
Query Monitor підтримує версії WordPress до трьох років і PHP версії 7.4 або вище.
Повну інформацію можна знайти на веб-сайті Query Monitor.
Ось огляд того, що відображається при кожному завантаженні сторінки:
- Запити до бази даних, включаючи сповіщення про повільні, дубліковані або помилкові запити. Дозволяє фільтрувати за типом запиту (
SELECT,UPDATE,DELETEтощо), відповідальним компонентом (плагін, тема, ядро WordPress) та викликаючою функцією, а також надає окремі агреговані представлення для кожного з них. - Ім’я файлу шаблону, повна ієрархія шаблонів та імена всіх частин шаблону, які були завантажені або не завантажені (для блокових тем та класичних тем).
- Помилки PHP відображаються у зручному вигляді разом із відповідним компонентом та стеком викликів, а також у вигляді видимого попередження на панелі інструментів адміністратора.
- Використання функції “Зробити це неправильно” або “Застаріле” в коді на вашому сайті.
- Блоки та пов’язані з ними властивості в вмісті публікацій та в повному редагуванні сайту (FSE).
- Зіставлені правила перезапису, пов’язані рядки запиту та змінні запиту.
- Скрипти та таблиці стилів, що знаходяться в черзі, разом з їхніми залежностями, залежними елементами та попередженнями про порушені залежності.
- Налаштування мови та завантажені файли перекладу (файли MO та JSON) для кожного текстового домену.
- Запити HTTP API з кодом відповіді, відповідальним компонентом і часом виконання, з попередженнями про невдалі або помилкові запити.
- Перевірка можливостей користувача, а також результат і будь-які параметри, передані для перевірки можливостей.
- Інформація про середовище, включаючи детальну інформацію про PHP, базу даних, WordPress та веб-сервер.
- Значення всіх умовних функцій WordPress, таких як
is_single(),is_home()тощо. - Транзитні дані, які були оновлені.
- Використання
switch_to_blog()іrestore_current_blog()у багатосайтових інсталяціях.
Крім того:
- Кожного разу, коли відбувається перенаправлення, Query Monitor додає HTTP-заголовок, що містить стек викликів, тому ви можете використовувати свій улюблений HTTP-інспектор або інструменти розробника браузера, щоб відстежити, що спричинило перенаправлення.
- Відповідь на будь-який запит Ajax, ініційований jQuery на сторінці, буде містити в своїх заголовках різну інформацію для налагодження. Помилки PHP також виводяться в консоль розробника браузера.
- Відповідь на автентифікований запит REST API WordPress міститиме огляд інформації про продуктивність та помилки PHP у своїх заголовках, за умови, що автентифікований користувач має дозвіл на перегляд виводу Query Monitor. обгорнутий запит REST API міститиме ще більше інформації для налагодження у властивості
qmвідповіді.
За замовчуванням результати Query Monitor відображаються лише адміністраторам в односайтових інсталяціях та суперадміністраторам в багатосайтових інсталяціях.
Крім того, ви можете встановити файл cookie для автентифікації, який дозволяє переглядати вихідні дані Query Monitor, коли ви не ввійшли в систему (або якщо ви ввійшли в систему як користувач, що не є адміністратором). Детальнішу інформацію див. на панелі налаштувань.
Розширення для браузера
Query Monitor також доступний, як додаткове розширення для інструментів розробника браузера. Це альтернатива використанню вбудованої панелі, яка відображається на панелі інструментів адміністратора.
Використання розширення для браузера має певні переваги порівняно з панеллю на сторінці:
- Панель «Query Monitor» не займає місця на сторінці, яку ви переглядаєте
- Розмір панелі можна змінювати, її можна від’єднати та переміщати, як і будь-яку іншу панель інструментів розробника
Інформацію про розширення для браузера Query Monitor можна знайти тут.
Інші плагіни
Я підтримую кілька інших плагінів для розробників. Ознайомтеся з ними:
- User Switching забезпечує миттєве переключення між обліковими записами користувачів у WordPress.
- WP Crontrol дозволяє переглядати та контролювати те, що відбувається в системі WP-Cron.
Подяки
Час, який я витрачаю на підтримку цього й інших плагінів, частково спонсорують:
Заява про конфіденційність
Монітор запитів є приватним за замовчуванням і завжди буде таким. Він не зберігає постійно жодних даних, які збирає. Він не надсилає дані третім особам і не містить сторонніх ресурсів. Повну заяву про конфіденційність Query Monitor можна знайти тут.
Заява про доступність
Монітор запитів прагне бути повністю доступним для всіх своїх користувачів. Повну заяву про доступність Query Monitor можна знайти тут.
Скріншоти







Часті питання
Чи працює цей плагін з PHP 8?
Так, він активно тестується і працює до PHP 8.4.
Хто може бачити результати Query Monitor?
За замовчуванням результати Query Monitor відображаються лише адміністраторам в односайтових інсталяціях та суперадміністраторам в багатосайтових інсталяціях.
Крім того, ви можете встановити файл cookie для автентифікації, який дозволяє переглядати вихідні дані Query Monitor, коли ви не ввійшли в систему або коли ви ввійшли в систему як користувач, який зазвичай не може бачити вихідні дані Query Monitor. Детальнішу інформацію див. на панелі налаштувань.
Чи впливає сам Query Monitor на час генерації сторінки або використання пам’яті?
Коротка відповідь: Так, але тільки трохи.
Довга відповідь: Query Monitor має невеликий вплив на час генерації сторінки, оскільки він підключається до декількох місць у WordPress так само, як і інші плагіни. Вплив є незначним.
На сторінках, які мають особливо велику кількість запитів до бази даних (сотні), Query Monitor наразі використовує більше пам’яті, ніж я б хотів. Це пов’язано з обсягом даних, що фіксуються в стеку трасування для кожного запиту. Я працюю і буду працювати над постійним зменшенням цього обсягу.
Чи можна заборонити Query Monitor збирати дані під час тривалих запитів?
Так, ви можете викликати
do_action( “qm/cease” ), щоб наказати Query Monitor припинити роботу до кінця генерації сторінки. Він відключиться від подальшого збору даних, видалить всі зібрані до цього моменту дані та пропустить виведення своєї інформації.Це корисно для довготривалих операцій, які виконують дуже велику кількість запитів до бази даних, споживають багато пам’яті або іншим чином не мають значення для Query Monitor, наприклад:
- Резервне копіювання або відновлення вашого сайту
- Імпорт або експорт великої кількості даних
- Запуск сканувань безпеки
Чи є додаткові плагіни для Query Monitor?
Список додаткових плагінів для Query Monitor можна знайти тут.
Крім того, Query Monitor прозоро підтримує додатки для плагіна Debug Bar. Якщо у вас встановлені будь-які додатки Debug Bar, деактивуйте Debug Bar, і додатки з’являться в меню Query Monitor.
Де я можу запропонувати нову функцію або повідомити про помилку?
Будь ласка, використовуйте систему відстеження проблем на репозиторії GitHub Query Monitor, оскільки там легше відстежувати проблеми, ніж на форумах підтримки wordpress.org.
Чи Query Monitor уже включено до мого хостингу?
Деякі веб-хостинг-провайдери включають Query Monitor у склад своєї хостинг-платформи, а це означає, що вам не потрібно встановлювати його самостійно. Ось декілька з них, про які мені відомо:
- Altis Cloud.
- WordPress VIP, хоча користувачам потрібно надати можливість
view_query_monitor, навіть якщо вони є адміністраторами. Додаткову інформацію див. у документації WordPress VIP.
Чи можу я натиснути на стек трасування, щоб відкрити файл у своєму редакторі?
Так. Ви можете увімкнути цю функцію на панелі налаштувань.
Як я можу повідомити про помилку безпеки?
Ви можете надіслати приватний звіт про вразливість безпеки до Query Monitor через вкладку «Безпека» в репозиторії GitHub. Процес консультування з питань безпеки GitHub сприяє приватній співпраці з питань безпеки. Ви отримаєте кредит за дійсний звіт і CVE, якщо це необхідно.
Не повідомляйте про проблеми безпеки на форумах підтримки WordPress.org або електронною поштою. Дякую.
Ви приймаєте пожертви?
Я приймаю спонсорську підтримку через програму GitHub Sponsors. Якщо ви працюєте в агентстві, яке розробляє на WordPress, попросіть свою компанію надати спонсорську підтримку, щоб інвестувати в її ланцюжок поставок. Інструменти, які я підтримую, ймовірно, заощаджують час і гроші вашої компанії, а спонсорська підтримка GitHub тепер може здійснюватися на рівні організації.
Крім того, якщо вам подобається плагін, я був би радий, якби ви залишили відгук. Розкажіть про нього також усім своїм друзям!
Відгуки
Учасники та розробники
“Query Monitor” — проект з відкритим вихідним кодом. В розвиток плагіну внесли свій вклад наступні учасники:
Учасники“Query Monitor” було перекладено на 26 локалізацій. Дякуємо перекладачам за їх роботу.
Перекладіть “Query Monitor” на вашу мову.
Цікавитесь розробкою?
Перегляньте код, перегляньте сховище SVN або підпишіться на журнал розробки за допомогою RSS.
Журнал змін
4.0.7 (20 червня 2026 року)
- Підтверджує підтримку WordPress 6.6.
- Вносить покращення в меню панелі адміністратора
- Відображає запити до бази даних на шкалі часу, навіть якщо файл db.php відсутній
- Додано додаткове підсвічування помилок, пов’язаних із проблемами у черзі завантажуваних JavaScript- та CSS-залежностей
- Додає певну зворотну сумісність із старими версіями браузера Chrome
4.0.6 (11 квітня 2026 року)
У версії 4 Query Monitor додано нове подання часової шкали та перемикається з рендерингу панелей на стороні сервера в PHP на ефективний рендеринг їх на стороні клієнта в Preact.
У версії 4.0.6 виправлено проблему сумісності з темою GeneratePress.
Більше інформації на сайті querymonitor.com/4.
4.0.5 (10 квітня 2026 рік)
У версії 4 Query Monitor додано нове подання часової шкали та перемикається з рендерингу панелей на стороні сервера в PHP на ефективний рендеринг їх на стороні клієнта в Preact.
Версія 4.0.5 виправляє наступне:
- Гарантує, що закриваючі теги скриптів у даних не порушують правильність виведення
- Додає дані “Робиш це неправильно” до перегляду на шкалі часову
Більше інформації на сайті querymonitor.com/4.
4.0.4 (10 квітня 2026 рік)
У версії 4 Query Monitor додано нове подання часової шкали та перемикається з рендерингу панелей на стороні сервера в PHP на ефективний рендеринг їх на стороні клієнта в Preact.
У версії 4.0.4 виправлено наступне:
- Забезпечує, щоб панель Скрипти залишалася видимою, навіть якщо в заголовку немає скриптів у черзі
- Виправляє відображення форматування чисел у деяких локалях
Більше інформації на сайті querymonitor.com/4.
4.0.3 (9 квітня 2026 рік)
У версії 4 Query Monitor додано нове подання часової шкали та перемикається з рендерингу панелей на стороні сервера в PHP на ефективний рендеринг їх на стороні клієнта в Preact.
Версія 4.0.3 виправляє наступне:
- Покращено сумісність із плагінами, які виконують запити, що не використовують кодування UTF-8, або іншим чином використовують дані, що не відповідають кодуванню UTF-8
- Уникає попередження PHP про невизначений файл та номер рядка в деяких кадрах трасування стека
- Спрощує та стандартизує формат імен, що використовуються для зворотних викликів закриття
- Покращує стиль та макет шкали часу
Більше інформації на сайті querymonitor.com/4.
4.0.2 (9 квітня 2026 рік)
У версії 4 Query Monitor додано нове подання часової шкали та перемикається з рендерингу панелей на стороні сервера в PHP на ефективний рендеринг їх на стороні клієнта в Preact.
У версії 4.0.2 виправлено наступне:
- Забезпечує додаткову зворотну сумісність для сторонніх плагінів, які зчитують дані з колекторів QM і відображають власні панелі
- Додає тимчасові оновлення до перегляду шкали часу
Більше інформації на сайті querymonitor.com/4.
4.0.1 (7 квітня 2026 рік)
У версії 4 Query Monitor додано нове подання часової шкали та перемикається з рендерингу панелей на стороні сервера в PHP на ефективний рендеринг їх на стороні клієнта в Preact.
- Версія 4.0.1 вирішує проблему зворотної сумісності з плагінами, які реєструють власні меню або підменю в Query Monitor.
Більше інформації на сайті querymonitor.com/4.
4.0.0 (7 квітня 2026 рік)
У версії 4 Query Monitor додано нове подання часової шкали та перемикається з рендерингу панелей на стороні сервера в PHP на ефективний рендеринг їх на стороні клієнта в Preact. Цей новий підхід надає кілька переваг:
- Продуктивність значно підвищується, особливо на сайтах, де виконується велика кількість запитів, виникає велика кількість помилок PHP або велика кількість даних збирається в одній з інших панелей.
- Покращення будуть реалізовані в майбутньому, такі як відображення показників на стороні клієнта, ліниве завантаження даних, відображення даних з різних запитів та реміксування даних у різні представлення.
- Розмір та обсяг використання пам’яті необроблених даних, зібраних Query Monitor, було зменшено, і тепер вони відображаються на сторінці у форматі JSON. Перегляньте об’єкт
QueryMonitorDataу консолі браузера, щоб поекспериментувати з ним.
Більше інформації на сайті querymonitor.com/4.
3.20.4 (19 березня 2026 рік)
- Це випуск безпеки, який виправляє відображену вразливість XSS на панелі запитів. Докладнішу інформацію дивіться в рекомендаціях щодо безпеки.
3.20.3 (17 березня 2026 рік)
- Тепер, якщо натиснути на QM на панелі інструментів адміністратора вдруге, панель закриється
- Покращення доступності перемикальних кнопок
- У разі невдалого виконання запитів GET до HTTP-API тепер відображається посилання, на яке можна натиснути
Попередні версії
Щоб ознайомитися зі списком змін у попередніх версіях, перейдіть на сторінку випусків на GitHub.
