Плагин WordPress Query Monitor: давайте отладим и улучшим производительность
Опубликовано: 2019-09-05
Вы получаете ошибки WordPress, но не можете их исправить?
Чтобы обнаружить ошибки WordPress, разработчики обычно работают в обратном порядке. Они начинают с исключения частей кода, которые могут содержать проблему (ы), а затем начинают оценивать отдельные области. В общем, для веб-сайтов WordPress основными проблемами являются настройки PHP, файл .htaccess, файл wp-config, запросы к базе данных и настройки DNS.
Некоторое время назад я наткнулся на плагин WordPress Query Monitor, отличный инструмент для разработки, позволяющий узнать, что происходит на веб-сайте. Плагин предлагает подробную информацию, которую разработчики могут использовать, чтобы сузить «проблемные» области кода.
В этом руководстве по плагину я начну с подробного знакомства с плагином WordPress Query Monitor, а затем перейду к краткому описанию общего варианта использования плагина.
- Что такое монитор запросов WordPress?
- Особенности монитора запросов WordPress
- Почему Query Monitor полезен для разработчиков?
- Как использовать WordPress Query Monitor?
Что такое монитор запросов WordPress?
Query Monitor - это плагин WordPress, который добавляет большую ценность на этапе отладки и в целом улучшает общую производительность ваших рабочих процессов разработки WordPress.
Плагин добавляет запись в верхнюю строку меню, которая действует как раскрывающийся список, который содержит количество запросов, выполняемых на текущей странице, время загрузки, фильтры по типу запроса, фильтры по компонентам и т. Д. В результате разработчики иметь лучшее представление о том, что могло вызвать ошибки на веб-сайте.

Он был разработан Джоном Блэкборном и доступен как в официальном репозитории плагинов WordPress, так и на GitHub. Как и любой отличный плагин WordPress, Query Monitor регулярно обновляется, и команда разработчиков обеспечивает отличную поддержку и исправления для всех обнаруженных ошибок.
Установка очень проста и обычно не требует дополнительных действий (по сравнению с процессом установки аналогичных плагинов). После установки этот плагин отладки WordPress не требует дополнительной настройки. Прямо из коробки он начинает отображать раскрывающийся список на панели инструментов администратора.

Щелкая записи в раскрывающемся списке, вы можете получить доступ к сведениям о запросах, которые выполняются к базе данных, скриптах и загруженном CSS, активных обработчиках и вызовах HTTP API.

Особенности монитора запросов WordPress
Вот краткий обзор возможностей плагина Query Monitor.
Ошибки темы
Функция темы перечисляет все запросы, инициированные установленной темой WordPress. Он отображает имя файла шаблона темы, отвечающего за конкретный запрос, и показывает полную иерархию шаблонов. Функция темы также выделяет выгруженные части темы и имя активной темы WordPress.
Ошибки PHP
WordPress работает на PHP, и независимо от того, генерируется ли запрос темой или плагином, он имеет форму кода PHP. Функция ошибок PHP выделяет исходные компоненты и место, ответственное за создание запроса.
Примечание. Не все запросы, перечисленные в Query Monitor, являются серьезными. Вполне возможно, что это просто предупреждение.
Вызовы AJAX
Динамические сайты WordPress совершают множество вызовов Ajax для отправки и получения данных в режиме реального времени без загрузки всей веб-страницы. Query Monitor также показывает эти запросы вместе с другой полезной отладочной информацией. Эта информация может помочь разработчику выделить любые ошибки.
REST API
Если у вас есть разрешение на мониторинг монитора запросов, вы можете отлаживать информацию, представленную в заголовке запроса аутентифицированного WordPress REST API. В настоящее время плагин поддерживает только ошибки PHP и использование памяти.
Аутентификация
По умолчанию только администратор односайтовой установки и суперадминистратор мультисайта WordPress могут просматривать журналы внутри монитора запросов. Однако вы можете настроить файл cookie аутентификации, который позволит вам видеть журналы, даже если вы вошли в систему как пользователь.
Заявление о конфиденциальности
WordPress Query Monitor не собирает и не отправляет данные третьим лицам.
Я также заметил, что в FAQ указано, что надстройки Debug Bar можно использовать с Query Monitor, просто сначала деактивируйте Debug Bar. А также есть надстройки для Query Monitor.
Почему Query Monitor полезен для разработчиков?
С помощью подключаемого модуля Query Monitor разработчики могут иметь четкое представление о том, какие области следует улучшить. Более того, разработчики могут обнаружить плагин или другие ресурсы веб-сайта, которые потребляют чрезмерный объем ресурсов или (в худших случаях) конфликтуют с остальными файлами ядра.
Для владельцев веб-сайтов и разработчиков, заинтересованных в улучшении оптимизации веб-производительности (WPO), Query Monitor - идеальное решение для выявления узких мест, которые можно исправить с помощью улучшенных фрагментов кода, альтернатив или, в некоторых случаях, полной замены скриптов / плагинов.
Рассмотрим простую задачу разработчика - узнать время загрузки страницы и количество активных запросов на странице.
WordPress предлагает две простые функции: get_num_queries () и timer_stop () . Как следует из названия, get_num_queries () возвращает количество запросов к базе данных, сгенерированных во время выполнения, а timer_stop () возвращает количество секунд, необходимых для создания страницы.

Как использовать WordPress Query Monitor?
После того, как вы установили и активировали Query Monitor, вам нужно перейти в Plugins → Installed Plugins → Query Monitor → Settings и затем нажать кнопку « Set authentication cookie ». Теперь давайте подробно рассмотрим каждый раздел плагина Query Monitor.
Обзор
Первая вкладка предоставляет вам обзор вашего веб-сайта. Он показывает время создания страницы, пиковое использование памяти, время запроса к базе данных и запросы к базе данных.

Запросы к базе данных
Каждый раз, когда пользователь запрашивает какую-либо информацию или пытается отправить информацию, запускается запрос к базе данных. Query Monitor отслеживает этот запрос и отображает его в журналах, чтобы вы, как пользователь, могли видеть, какие запросы были выполнены успешно, а какие нет. А также может фильтровать по типу и компоненту запроса.

Запрос
Функция запроса показывает переменную запроса для текущего пользователя и выделяет настраиваемый запрос. Он также показывает связанные строки запроса, присутствующие внутри запроса.

Экран администратора
В этом разделе показаны действия, происходящие в панели администратора WordPress. В нем перечислены компоненты, к которым осуществляется доступ из панели администратора, и отображается ошибка из-за недоступности какого-либо файла PHP.

Скрипты
Когда вы переходите на вкладку «Сценарии» в мониторе запросов, он перечисляет все поставленные в очередь сценарии и стили, включенные в запрос. Он также выделяет любой сломанный или не отвечающий скрипт из-за внешней зависимости.

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

Крючки и действия
Хуки и действия играют важную роль на любом сайте WordPress, поскольку они позволяют создавать настраиваемые функции, используя предопределенные элементы управления, предоставляемые самим WordPress. Иногда это может привести к поломке вашего веб-сайта, а устранение ошибки может оказаться утомительной работой.
Благодаря Query Monitor, который имеет встроенный инструмент для выявления ошибок, вызванных хуками и действиями. Это позволяет фильтровать действия и перехватчики по ядру, теме или плагину. А также дать вам полное имя и ссылку, которые можно легко найти внутри кода для целей отладки.

Языки
В случае многоязычного веб-сайта вкладка «Язык» определяет все поврежденные или недоступные файлы, а также отображает языковые настройки.

Вызовы HTTP API
На этой вкладке отображаются все запросы на стороне сервера, а также код ответа, журнал тайм-аута и неудавшиеся запросы. Это полезная функция, поскольку она позволяет вам видеть ответ в режиме реального времени и помогает эффективно отлаживать серверный код.

Временные обновления
WordPress может кэшировать ответ API в своей базе данных, поскольку некоторые API допускают только определенное количество запросов в определенный момент времени. Transient Updates показывает эти переходные процессы, а также отображает размер и компонент.

Проверки возможностей
По умолчанию он неактивен, и его можно активировать, поместив код в файл wp-config.php. Проверка возможностей выполняет проверку возможностей для каждого пользователя на странице и отображает параметры вместе с результатом.

Среда
Это полный обзор среды WordPress и содержит три раздела для PHP, базы данных и WordPress. Внутри каждого раздела отображается полезная информация о среде, такая как версия MySQL, ограничение памяти PHP, версия WordPress и т. Д.

Условные
Показывает все условия WordPress для текущего запроса.

Подведение итогов!
Плагин WordPress Query Monitor ориентирован на отладку и предоставляет всю необходимую информацию в удобном для понимания виде. Плагин идеально подходит для быстрого определения плагинов, тем или функций, которые влияют на производительность веб-сайта.
Плагин объединяет меню на панели инструментов администратора, которое показывает общее описание текущей страницы с полными данными, отображаемыми на панели (после выбора пункта меню). Какие из этих компонентов вы чаще всего используете для поддержания работоспособности своего сайта? Какие-либо предложения?
