7 інструментів налагодження WordPress для усунення несправностей

Хоча WordPress і є доволі стабільним середовищем, де збої трапляються значно рідше, ніж у типових умовах розробки програмного забезпечення, все ж таки існують можливості для виникнення проблем.

Загалом, можна стверджувати, що чим більше гнучкості надає інструмент, тим вищий потенціал для помилок.

Саме у випадку з WordPress, його значна гнучкість створює чимало можливостей для виникнення несправностей. Відкрита архітектура плагінів дозволяє розширювати функціональність CMS; до цього додаються веб-сервер, хостинг, система управління базами даних та мережа. Всі ці складові є незалежними факторами, які можуть стати джерелом проблем.

Серед потенційних проблем можуть бути низька продуктивність, некоректний або пошкоджений контент, різноманітні повідомлення про помилки, а найгірше – “білий екран смерті” (WSoD), який сигналізує про збій веб-сайту та необхідність термінової допомоги.

Навіть незначні проблеми зі швидкістю, наприклад, затримка менше ніж на 2 секунди, є приводом для занепокоєння, оскільки вони можуть (і напевне) негативно вплинути на SEO та позицію у пошуковій видачі. Це, в свою чергу, призводить до зменшення кількості відвідувачів, адже швидкість відгуку сайту має вирішальне значення, особливо для мобільних користувачів.

Тому, наявність інструментів для діагностики проблем з веб-сайтом є надзвичайно важливою. Навіть якщо сайт працює справно, завжди є можливість покращити його продуктивність чи зручність користування.

Що таке налагодження?

Налагодження – це процес, який використовують розробники для виявлення та виправлення помилок (або багів) у своїх програмах. Цей процес включає використання спеціальних інструментів, які дозволяють спостерігати за тим, що відбувається всередині програми під час її виконання.

Інколи, найскладнішим етапом налагодження є точне визначення компонента, команди або інструкції, що викликає помилку. Для цього, розробники, подібно до лікаря, що ставить діагноз, аналізують симптоми та, за потреби, проводять дослідження, щоб виявити причину проблеми. В розробці програмного забезпечення аналогом медичних досліджень є інструменти моніторингу, що надають інформацію про внутрішню роботу сайту.

Розглянемо декілька варіантів.

WP_DEBUG

WordPress має вбудований інструмент налагодження, який часто залишається непоміченим. Йдеться про “прапорець” WP_DEBUG, який активує режим налагодження WordPress при його ввімкненні. Коли WP_DEBUG активовано, створюється журнал, де фіксується вся активність вашого веб-сайту. Аналізуючи цей журнал, можна виявити проблемні місця на вашому WordPress-сайті.

Для активації WP_DEBUG потрібно внести певні зміни до файлу wp-config.php, додавши необхідні рядки, що накажуть сайту реєструвати всі дії в журналі. Це завдання потребує уважності, оскільки навіть незначна помилка у файлі wp-config.php може призвести до збою в роботі сайту. Тому, перед будь-якими змінами обов’язково створіть резервну копію сайту. У випадку помилки, ви зможете відновити сайт до попереднього стану.

Для редагування wp-config.php скористайтесь файловим менеджером вашого хостинг-провайдера, або FTP-клієнтом, щоб завантажити файл та відкрити його в текстовому редакторі. Файл знаходиться у головній директорії вашого WordPress-сайту. Знайдіть рядок, де визначено WP_DEBUG. Він має виглядати так:

define( 'WP_DEBUG', false );

Якщо такий рядок відсутній, знайдіть коментар:

/* That’s all, stop editing! Happy blogging. */

та додайте наступні рядки над цим коментарем. Ці команди накажуть вашому сайту реєструвати всі помилки, але не відображати їх, що є зручним для публічних веб-сайтів:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);

Збережіть файл та, якщо використовуєте FTP, завантажте його назад на сайт. Після цього спробуйте спровокувати помилку (або дочекайтеся її появи) та перегляньте файл debug.log, що знаходиться у папці wp-content вашої WordPress інсталяції. Відкрийте його за допомогою текстового редактора та знайдіть повідомлення про помилки, які вказують на причини проблем.

Після завершення налагодження, вимкніть ведення журналу, змінивши значення “true” на “false” у всіх рядках, які ви додали або змінили у файлі wp-config.php.

Звітування про помилки WPDB

Якщо ви знаєте або підозрюєте, що проблеми викликає база даних, ви можете ввімкнути звітування про помилки WPDB. Це також потребує редагування коду. Увімкнувши цю функцію, ви накажете сайту відображати помилки бази даних на екрані.

Не варто робити цього на робочому веб-сайті, якщо вас турбує те, що ваші відвідувачі побачать повідомлення про помилки. Краще використовувати тестовий сайт (як описано нижче), де ви зможете спокійно перевіряти все, не турбуючись про вплив на користувачів.

Аналіз звітів про помилки або журналів потребує певних технічних знань, так само, як і для читання рентгенівського знімку. Вам потрібно буде розшифрувати певний жаргон програмування, мереж або баз даних. Але, ймовірно, ви зможете виявити корінь проблеми, що впливає на сайт, і отримати допомогу від фахівця, що зможе її вирішити.

Для початку генерації звітів про помилки бази даних, додайте наступний рядок до вашого файлу wp-config.php (аналогічно створенню журналу налагодження):

define( 'SAVEQUERIES', true);

Встановивши для цього значення “true”, база даних почне зберігати всі запити, що робить ваш сайт. Потім ви зможете перевірити кількість запитів, викликаних кожним запитом сторінки, та команди, що їх використовували. Щоб відобразити запити на екрані, додайте ці рядки до PHP-файлу вашої теми в межах потоку виконання:

global $wpdb;
print_r( $wpdb->queries );

Після завершення налагодження, видаліть ці рядки, щоб відновити нормальну роботу сайту.

Використання тестового веб-сайту

Тестовий веб-сайт – це копія вашого основного сайту, на якій ви можете тестувати зміни чи нові функції перед їх запуском. Також доцільно використовувати тестовий сайт для усунення несправностей або моніторингу його поведінки, оскільки це дає змогу вільно проводити експерименти, не впливаючи на фактичних користувачів сайту.

Важливо, щоб тестовий сайт точно відтворював вміст та структуру вашого основного сайту. Кожного разу, коли ви оновлюєте ваш WordPress сайт новим контентом або розширеннями (зокрема плагінами та темами), необхідно оновлювати й тестовий сайт. Таким чином, при виникненні проблеми на вашому основному сайті, ви зможете відтворити її у тестовому середовищі.

Багато хостинг-провайдерів WordPress пропонують тестовий сайт як додаткову перевагу до своїх платних планів. Це найзручніший спосіб створення тестового середовища, де ви зможете без ризиків проводити будь-які експерименти. Якщо ж ваш хостинг-провайдер не надає такої можливості, ви можете створити тестовий сайт за допомогою плагіну WP Staging. Цей плагін спрощує процес клонування веб-сайту, дозволяючи використовувати клон так, начебто це реальний сайт. Ви завжди будете знати, коли працюєте в тестовому середовищі, завдяки помаранчевій смужці у верхній частині екрану.

Якщо ви віддаєте перевагу складнішим рішенням, ви можете створити тестовий сайт вручну на піддомені, за умови, що ваш хостинг-провайдер дозволяє додавати піддомени до вашого облікового запису. Створення тестового сайту таким способом може бути дещо складним, тому, якщо ви новачок у WordPress, краще скористатись іншим варіантом.

Монітор запитів

Назва плагіну Монітор запитів може ввести в оману, оскільки він виконує значно більше функцій, ніж просто відстеження запитів. Це повноцінна панель розробника для WordPress, що дозволяє налагоджувати сценарії, таблиці стилів, виклики API, запити до бази даних, помилки PHP та інше. Деякі розширені функції дозволяють налагоджувати виклики Ajax та перевіряти можливості користувача.

Після встановлення та активації, Query Monitor починає відображати інформацію про поведінку вашого сайту у найбільш зручному форматі.

Наприклад, він показує загальну кількість запитів до бази даних, згрупованих за функціями, плагінами або темами, що їх викликали. Меню панелі адміністратора відображає поточну статистику поточної сторінки, включаючи всю інформацію, необхідну для виявлення проблем.

Завдяки Query Monitor можна поступово звужувати пошук помилок, доки не виявите плагін або тему, що негативно впливає на продуктивність сайту, або викликає збій. Як і WordPress, Query Monitor є абсолютно безкоштовним та з відкритим вихідним кодом.

Раніше відомий як Firebug, Інструменти розробника Firefox – це спеціальна версія Firefox, розроблена для розробників, що пропонує новітні функції та інструменти для розробки. Хоча він не призначений виключно для WordPress, він є корисним інструментом для налагодження веб-сайтів.

Порівняння Інструментів розробника Firefox з більш популярними Інструментами розробника Chrome неминуче. При цьому надійний макет Firefox виділяється. Наприклад, ви можете клікнути правою кнопкою миші на будь-якому елементі, щоб відкрити вкладку інспектора, а веб-консоль пропонує розширені результати при виведенні об’єктів, показуючи набагато більше інформації, ніж просто назву. Він надає додаткову інформацію для певних типів, що дозволяє детально аналізувати властивості об’єкта та надає вичерпну інформацію для елементів DOM.

За допомогою інструмента “Інспектор” можна перевіряти та змінювати HTML і CSS сторінки, як локально у Firefox, так і на віддаленому пристрої, наприклад, Firefox для Android.

Веб-консоль показує всю необхідну інформацію про веб-сторінку: JavaScript, мережеві запити, CSS, попередження, повідомлення про помилки та інформаційні повідомлення, явно зареєстровані кодом JavaScript. Вона також дозволяє взаємодіяти з веб-сторінкою, безпосередньо виконуючи вирази JavaScript у контексті сторінки.

New Relic

Як один із лідерів у сфері моніторингу продуктивності додатків (APM), New Relic – це комерційний продукт, який тисячі розробників по всьому світу використовують щодня для аналізу продуктивності своїх програмних продуктів. Він має архітектуру плагінів, що дозволяє розширювати функціональність за допомогою сторонніх розробок, завдяки чому можна контролювати практично необмежену кількість технологій.

Вартість рішення коливається від $9,37 до $200 за хост на місяць, що робить його придатним для професійних завдань налагодження. Він також має складну систему навчання, тому, окрім витрат на продукт, вам потрібно буде витратити час на вивчення його функціоналу. Користувачі New Relic цінують його легку інтеграцію з програмами для APM та моніторингу інфраструктури.

Kinsta пропонує просту інтеграцію New Relic через панель інструментів MyKinsta.

Панель налагодження

Панель налагодження – це набір плагінів, доступ до яких здійснюється через меню налагодження на панелі адміністратора WordPress. Він відображає різноманітну інформацію, що стосується налагодження. Його параметри включають консоль, короткі коди, константи, типи публікацій, cron, дії та фільтри, перехідні процеси, віддалені запити, а також сценарії списку та залежності стилів. Це плагін з відкритим вихідним кодом, що робить його доступним для безкоштовного використання.

Основний плагін, Debug Bar, надає базову функціональність, що розширюється рештою плагінів. Він працює з вбудованими прапорцями налагодження WordPress, такими як WP_DEBUG та SAVEQUERIES. Коли ці прапорці активні, Панель налагодження надає корисну інформацію для налагодження, наприклад, попередження PHP та запити MySQL, усуваючи потребу в пошуку та аналізі файлів журналу.

Кожен пункт меню Панелі налагодження пропонує свої можливості для налагодження. Консоль, наприклад, надає консоль, в якій ви можете запускати довільний код PHP, що ідеально підходить для тестування вмісту змінних. Cron відображає інформацію про заплановані події WordPress, зокрема час наступної події, кількість запланованих подій, перелік користувацьких запланованих подій та інше. Розділ “Дії та фільтри” відображає хуки, приєднані до поточного запиту. Вкладка “Дії” показує дії, підключені до поточного запиту, а вкладка “Фільтри” показує всі теги фільтрів разом із функціями, доданими до кожного з них.

Налагодження для всіх

Інструменти налагодження здебільшого призначені для професіоналів у сфері розробки програмного забезпечення. Але навіть якщо ви не розробник, а просто ведете блог на WordPress, корисно мати хоча б базове розуміння того, як контролювати та налагоджувати ваш сайт. Маючи такі знання, ви зможете надати розробнику певну інформацію, яка допоможе йому знайти джерело проблеми, та, у певних випадках, ви зможете зекономити час, провівши первинну діагностику.

Дізнайтеся про кілька способів заробити гроші, будучи професіоналом WordPress.