Якщо ви новачок в WordPress, то вам невідомо, чому щось не працює. Наша мета не пояснити, як виправити всі проблеми, а описати основні етапи процесу пошуку та усунення несправностей у WordPress:

Основні принципи

Усунення несправностей WordPress починається з наступних кроків:

Розуміння того, що ви робите

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

Вивчення документації

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

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

Вивчення розділу «Довідка»

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

Вивчення кодексу WordPress

Ще один корисний джерело інформації — Кодекс WordPress. У ньому надана докладна інформація про кожному аспекті WordPress. Вивчивши офіційну документацію, ви істотно зменшите ймовірність того, що у вас щось піде не так.

Пошук підказок

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

Очистіть всі дані браузера

Браузери пам’ятають багато речей про сторінках і ресурсах, які ви відвідували. Щоб бути впевненим, що ви тестуєте потрібний код, очистіть cookie браузера, кеш і даних форм. Мені подобається використовувати кілька браузерів, щоб деякі з них працювали в
«чистому» режимі, без збереження історії або даних взагалі.

Оновлення WordPress

Переконайтеся, що ви використовуєте останню версію WordPress і всіх плагінів. Це найкращий спосіб виключити проблеми, пов’язані з несумісністю з-за роботи застарілих версій.

Зберігайте резервні копії

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

Думайте логічно

Мистецтво усунення неполадок WordPress

Всякий раз, коли ви займаєтеся усуненням неполадок, намагайтеся мислити логічно. Пам’ятайте, що ви маєте справу зі сценаріями логіки, так що теоретично завжди можна визначити причину проблеми.

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

Визначення

Щоб зрозуміти, що ви намагаєтеся виправити, корисно вміти описати чи визначити. Наприклад: «Моя домашня сторінка не завантажується«. Ще краще: «Моя домашня сторінка не завантажує потрібний шаблон теми«. Продовжуючи цю думку, в кінцевому підсумку більш точне визначення буде значним кроком вперед у вирішенні проблеми, наприклад:

«Моя домашня сторінка не завантажує потрібний шаблон теми, коли в налаштуваннях читання в якості головної сторінки задана статична сторінка«.

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

Відтворення

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

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

Усунення сторонніх факторів

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

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

Тестування

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

Чого потрібно уникати

Список того, чого не треба робити:

Масова активація плагінів

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

Сумнівні плагіни і теми

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

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

Використання величезної кількості плагінів

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

Сторонні сервіси

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

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

Але визначити, які саме зміни вносять, наприклад, API, віджети Facebook і так далі, може виявитися важко. API-інтерфейси постійно змінюються, так що якщо ви підключаєте який-небудь з них, переконайтеся, що знаєте, що він робить.

Зміна ядра

При роботі з WordPress не вносьте зміни в файли ядра. Те ж саме стосується плагінів та тем. Але файли ядра не змінюйте ні в якому разі. Якщо ви хочете зробити це, пам’ятаєте, що це принесе вам більше труднощів, ніж проблема, яку ви намагаєтеся вирішити. Якщо вам потрібно внести зміни у функціонал ядра, використовуйте плагін або файл functions.php вашої теми. Зрештою, саме для цього вони і призначені.

Основні етапи усунення неполадок

Якщо ви в чомусь сумніваєтеся, я рекомендую вам слідувати стандартним етапів процесу усунення неполадок:

Ознайомтеся з документацією

Завжди вивчайте документацію теми або плагіна. Часто в документації описуються відомі помилки та можливі шляхи їх обходу або рішення.

Перевірте всі налаштування

Перед використанням плагіна або теми вивчіть всі доступні налаштування та параметри. Часто якийсь незрозумілий пункт повністю змінює роботу плагіна. Якщо ви намагаєтеся діагностувати та усунути якусь проблему, перевірте налаштування кожного параметра плагіна. Можливо, що виникла проблема вирішується буквально в один клік.

Перевірте логи помилок

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

Перевірте файл functions.php

Якщо ви намагаєтеся діагностувати будь-які проблеми, пов’язані з темою, перевірте всі користувальницькі скрипти, які додавалися через файл functions.php. Перевірте всі нещодавно додані функції, щоб визначити, пов’язаний чи який-небудь код у файлі functions.php з даною проблемою.

Перевірте код на наявність синтаксичних помилок

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

Додаткові дії

Також при усуненні неполадок не забудьте перевірити наступне:

  • Користувальницькі директиви у файлі wp-config.php;
  • Користувальницькі директиви у файлі php.ini;
  • Користувальницькі директиви у всіх файлах .htaccess;
  • Налаштування і директиви, задані за допомогою панелі керування сервером.

Якщо задіяний будь-який з цих елементів, він може бути пов’язаний з несправністю.

Відкат

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

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

Режим налагодження

Ще один чудовий спосіб усунення неполадок — це запустити WordPress в режимі «налагодження«. В режимі налагодження виводиться інформація про помилки, попередження і сповіщення, які можуть дати нам цінні відомості про те, що відбувається з системою. Як сказано в кодексі WordPress, ви можете включити режим відладки, встановивши для WP_DEBUG у файлі config.php значення true.

Наприклад, так:

define(‘WP_DEBUG’, true); // включення режиму налагодження

Коли закінчите перевірку, щоб відключити режим відладки, змініть назад true на false (без лапок). Для отримання більш детальної інформації зверніться до кодексу WP. Також в Plugin Directory ви можете знайти ряд відмінних плагінів:

  • Debug Bar;
  • Debug Objects;
  • AskApache Debug Viewer.

Якщо ви виявили помилку в темі або плагіні, зверніться до розробника. Якщо ви виявили помилку в ядрі WordPress, виконайте дії, описані в керівництві з повідомленнями про помилки кодексу WordPress.

Порада: Коли мова йде про PHP, є чітке розходження між повідомленнями, попередженнями і помилками. Якщо ви бачите в журналі помилок помилки та попередження, це не дуже добре. Але якщо там з’являються повідомлення, це не страшно, в 99,9% випадків вам не про що хвилюватися. Швидше за все, це повідомлення для передачі інформації від розробників про передові методи.

Якщо ви бачите повідомлення, просто ознайомтеся з ними: повідомлення не означають нічого поганого. Якщо ви не хочете бачити їх, вимкніть режим відладки або змінити рівень звітів про помилки PHP на сервері.

Налаштування за замовчуванням WordPress

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

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

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

Рухаючись далі, ви можете почати відтворювати свій сайт на «полігоні», перевіряючи працездатність після кожного кроку. Ви побачите, після установки якого плагіна або скрипта сайт перестає працювати. Це точно вкаже вам, яка частина системи конфліктує з плагіном.

Якщо плагін не працює на WordPress за замовчуванням, ви повинні звернутися до розробника плагіна.

Скидання бази даних

Якщо ви маєте справу з новим сайтом, який ще не містить контенту, то можете спробувати скинути базу даних. Існує декілька придатних для цього плагінів (дивіться список посилань нижче). Це також можна зробити вручну, видаляючи стару базу даних і відкривши інсталяційний файл /wp-admin/install.php у браузері. Таким чином, ви ініціюєте процес установки і відтворення бази даних.

Порада: Навіть якщо у вас немає ніяких проблем з сайтом, скидання бази даних після експериментів з купою нових тем і плагінів, це відмінний спосіб очистити залишилися дані до завершення етапу настройки перед початком розвитку сайту:

  • WordPress Database Reset;
  • WordPress Reset.

Почніть спочатку

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

Пошук і усунення неполадок плагінів

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

Ось загальна послідовність етапів:

  • Деякі функції не працюють належним чином;
  • Для діагностики проблеми вимкніть всі плагіни;
  • Потім повторно активувати кожен плагін по одному, перевіряючи роботу кожного.
  • Якщо усуває проблему конкретного плагіна, то вам потрібно відключити всі плагіни крім цього конкретного плагіна. Ідея полягає в тому, щоб виключити сторонні фактори і визначити, які саме плагіни є причиною проблеми. Нижче наводиться графік, на якому зображений весь процес:

    Мистецтво усунення неполадок WordPress

    Пошук і усунення неполадок плагінів WordPress

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

    Примітка: Перед відключенням плагінів ви можете використовувати «режим обслуговування». Це найпростіше зробити для одного плагіна, однак не має сенсу, якщо ви відключаєте плагіни для діагностики проблем.

    Пошук і усунення неполадок теми

    Наприклад, щоб визначити, чи є тема причиною проблеми, спробуйте перейти на одну з тем WordPress за замовчуванням. Якщо помилка не зникає, то проблема полягає не у вашій темі. Якщо помилка зникала, то проблема пов’язана з темою.

    Приклади усунення конкретних проблем

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

    Не працює шорткод

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

    Ось суть моєї відповіді, в якому пояснюються декілька логічних кроків, спрямованих на виключення сторонніх факторів та визначення причини проблеми:

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

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

    Не працює E-mail

    Припустимо, у вас виникли проблеми, пов’язані з тим, що на WordPress не працює електронна пошта. Можливо, WordPress не відправляє електронні листи. Може листи надсилаються, але ви не отримуєте. Чи не отримуєте листи, відправлені на електронні скриньки Hotmail. Коли ви стикаєтеся з проблемами з електронною поштою, майте на увазі, що це може бути пов’язано з багатьма факторами.

    У тому числі:

    • WordPress;
    • Активна тема WordPress;
    • Плагіни;
    • Користувальницькі скрипти;
    • Серверне програмне забезпечення;
    • Правила / політика хостингу;
    • Протоколи DNS / доменів;
    • Функціональні можливості мережі;
    • Скрипти, що блокують спам;
    • Сторонні сервіси, такі як Gmail, Hotmail і т. д.;
    • Заголовки листів.

    Проблеми з електронною поштою є одними з найбільш складних для налагодження. Існує плагін, який може допомогти з деякими з цих пунктів, він називається Check Email. Ви можете почати з нього, а потім продовжувати діагностику, поки проблема не буде визначена. Даний плагін допоможе встановити, чи пов’язана проблема з WordPress або з чим-небудь іншим.

    Оновлення не працюють

    Коли мова йде про автоматичне оновлення в один клік, існує безліч факторів, які треба враховувати:

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

    Отримання довідки за WordPress

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

    Форуми підтримки WordPress.
    Керівництво кодексу WordPress по усуненню неполадок.
    Керівництво Кодексу WordPress з пошуку довідки.
    WordPress IRC Live Help.
    Питання WordPress.
    Список розробників і дизайнерів WordPress.
    Де отримати довідку з WordPress.

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

    Перш, ніж звертатися в службу підтримки

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

    • Чітке, лаконічне опис проблеми і те, як її відтворити;
    • Відповідні скріншоти, які ілюструють те, що відбувається;
    • Назва та опис повідомлень про помилки;
    • URL-адресу вашого сайту і / або інших записів, сторінок;
    • Назва всіх відповідних плагінів або тим;
    • Всі дії або рішення, які ви вже випробували.

    Підводячи підсумки

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

    Переклад статті «The Art of Troubleshooting WordPress» був підготовлений дружною командою проекту Сайтостроение від А до Я.