Якщо ви це читаєте, вже пізно.
(Ні, я жартую. Це мікстейп Дрейка з 2015 року.)
Якщо ви читаєте це, ви, ймовірно, тільки що спробували відвідати свій вебсайт WordPress і були зустрінуті з погрозливим повідомленням.
“На цьому веб-сайті сталася критична помилка.”
Ковток.
Але це нормально. Ми можемо це виправити.
Крок перший: Не панікуйте.
Те, з чим ви зіткнулися, це “критичне повідомлення про помилку.”
(Або артист, раніше відомий як Білий екран смерті, AKA WSoD.)
Це одна з найпоширеніших помилок WordPress, і хоча ця назва звучить лякаюче, реальність не така страшна, як ви могли б уявити.
Протягом багатьох років сайти WordPress, що стикалися з цією проблемою, просто відображали порожній, повністю білий екран.
(Це було не дуже корисно.)
Але, починаючи з версії WordPress 5.2, з’явилося повідомлення про помилку, яке повідомляє вас, коли щось пішло не так, і дає уявлення про те, як виправити проблему.
У цьому посібнику ми глибше розглянемо причини, через які виникає критичне повідомлення про помилку, та як з ним впоратися, коли воно з’являється.
Влаштуємо вечірку!
Що таке критична помилка WordPress?
Знаменита критична помилка або WSoD може статися коли щось пішло не так з WordPress.
Зазвичай, ви побачите вищезазначене повідомлення (або, в деяких випадках, просто білий екран) при спробі доступу до frontend вашого сайту. У деяких випадках ви побачите той самий результат при спробі доступу до адміністративної панелі WordPress («wp-admin»), що робить цю помилку особливо лякаючою для когось, хто зіткнувся з нею вперше.
Не хвилюйтеся, ваш сайт все ще тут. Вам просто потрібно вирішити помилку, щоб відновити його роботу.
Перш ніж ми до цього дійдемо, що спричиняє критичну помилку насамперед?
Проблема часто виникає через PHP вашого сайту, яка є мовою програмування, на якій базується WordPress.
PHP
PHP (Hypertext Preprocessor) – це відкрита мова сценаріїв. Широко використовується у веб-розробці та може бути вбудована в HTML. Декілька популярних систем управління контентом (CMS), таких як WordPress, побудовані на PHP.
Читати більшеПомилка, як правило, викликана через:
- Нефункціональний код додано на ваш сайт
- Конфлікти між плагінами
- Проблеми з версією PHP/обмеження пам’яті
Ми допоможемо вам зрозуміти, яка проблема викликає ваш випадок і як ви можете її вирішити. Ймовірно, ви також багато дізнаєтеся про WordPress по дорозі.
Відновлення з резервної копії
Найшвидший та найпростіший спосіб вирішення критичної помилки — це просто повернути ваш сайт до попередньої версії.
У більшості випадків проблема виникла через зміни, внесені в WordPress.
Наприклад, якщо ви нещодавно встановили новий плагін, додали деякий код на свій сайт, або внесли зміни до файлів теми вашого сайту.
Перш ніж ми зануримося в те, як виправити ці проблеми, розгляньте можливість відновлення резервної копії вашого веб-сайту.
Багато провайдерів хостингу для WordPress пропонують сервіси керованого резервного копіювання.
Якщо це так, тоді все, що вам потрібно зробити, це увійти в свій хостинг-акаунт і знайти, де зберігаються резервні копії. Знайдіть резервну копію, яка була створена до початку помилки.
Іноді це може не бути варіантом — Можливо, ваш хостинг не забезпечує резервне копіювання, або можливо ви нещодавно зробили багато змін на своєму сайті або додали багато контенту, який ви не хочете втратити.
Якщо це так, то нам потрібно буде знайти інший спосіб вирішення проблеми.
(Варто зазначити, що якщо ви відновите попередню версію свого сайту, ви, ймовірно, втратите всі зміни, зроблені на вашому сайті між зараз і часом створення резервної копії. Це включає нові дописи або сторінки, завантажені файли зображень та будь-які інші оновлення, які ви зробили протягом цього часу.)
Швидке вирішення критичної помилки
Почнімо з кількох легких виправлень спочатку.
Прочитайте електронний лист від WordPress (якщо це застосовно)
Найкращий варіант: Як тільки ця помилка буде викликана на вашому сайті, ви можете отримати електронний лист від WordPress, надісланий на адміністративну адресу електронної пошти.
Помилка, яку ви побачите, буде виглядати приблизно так:
Якщо ви перевірите свою електронну пошту, ви повинні отримати повідомлення про помилку та деякі деталі щодо усунення проблем.
Дотримуйтесь інструкцій з електронної пошти та перевірте, чи це вирішить проблему.
У деяких випадках ви побачите лише звичайний білий екран або отримаєте повідомлення про помилку без згадки про вхідний лист.
Якщо це так, перегляньте наступні кроки, щоб вирішити проблему іншим способом.
Спробуйте використати режим відновлення
У деяких випадках, електронна пошта, яку ви отримуєте від WordPress, змусить вас ініціювати спеціальну функцію, яка називається Режим відновлення.
Це дозволить вам відновити доступ до вашої панелі адміністратора WP для усунення помилок, але важливо, що це не вирішить проблему. Замість цього, це просто надасть вам доступ до панелі адміністратора WP, щоб вимкнути плагіни або виправити будь-які помилки коду без використання доступу через FTP/SFTP.
Навіть якщо ви не отримали електронного листа з інструкціями або інструкції не спрацювали, ви все ще можете спробувати використовувати режим відновлення вручну.
Щоб увійти на ваш сайт у режимі відновлення, просто відвідайте цю URL-адресу:
yoursite.com/wp-login.php?action=entered_recovery_mode
Звідти вас перенаправлять на екран входу в WordPress, де ви зможете ввести своє ім’я користувача та пароль.
Зануртеся та скасуйте будь-які зміни, поверніть ваші теми, плагіни або що-небудь інше, що могло спричинити проблему.
Поверніть останню дію, що ви зробили на вашому сайті
Додавання рядка коду або вставлення PHP-скрипту з інтернету може зламати ваш сайт.
Якщо ви нещодавно вносили зміни в свій сайт WordPress безпосередньо перед виникненням проблеми, то найпростіший варіант може бути вручну видалити або відкотити цю зміну на сайті.
Якщо ви маєте доступ до панелі адміністратора WP:
Увійдіть у ваш WordPress backend і спробуйте видалити або відкотити зміну, яку ви нещодавно зробили.
Наприклад, якщо ви додали деякий код з онлайн-посібника, спробуйте видалити цей код із файлів теми та перевірте, чи це вирішить проблему.
Якщо ви нещодавно встановили або оновили плагін, спробуйте деактивувати цей плагін.
Плагіни є найпоширенішою причиною помилки WSoD, тому якщо ви нещодавно внесли зміни в один з них, вашою першою дією має бути його деактивація. Якщо ви перезавантажите свій сайт і все повернеться до норми, ви знайшли джерело вашої проблеми! Вам слід тоді зв’язатися з розробником плагіна або зареєструвати звернення на його форумі підтримки для подальшої допомоги.
Якщо ви не впевнені, який плагін може бути проблемою, ви можете деактивувати всі свої плагіни одночасно, перейшовши на екран Plugins у вашій панелі керування WordPress і використавши опцію Deactivate у випадаючому меню Bulk Actions.
Якщо ви не можете отримати доступ до адміністративної зони WP:
Вам потрібно буде зробити ці зміни, отримавши доступ до веб-сервера вашого сайту через SFTP/FTP клієнт або використовуючи файл-менеджер вашого хоста.
Як тільки ви отримаєте доступ до свого сайту, перейдіть до головного каталогу WordPress. (Зазвичай називається «wordpress» або щось на кшталт «home», «html» або «www».)
Знайдіть папку wp-content.
Звідти вам потрібно буде внести зміни безпосередньо у відповідний файл.
Наприклад, припустимо, ви змінили файл теми вашого сайту, що призвело до помилки.
Перейдіть до wp-content > themes > your-theme-name. Потім знайдіть відповідний файл, який ви редагували (наприклад, “header.php”). Відкрийте файл.
Ви можете редагувати його за допомогою текстового редактора для робочого столу, такого як Блокнот, або IDE, як-от Sublime Text. Видаліть доданий вами код та збережіть файл.
Іншою ситуацією може бути те, що ви встановили новий plugin, який спричинив помилку.
У такому випадку перейдіть до папки /wp_content/plugins.
Знайдіть папку відповідного плагіна. Тепер перейменуйте папку на будь-яку іншу назву, окрім поточної. Наприклад, змініть назву з “simple-plugin” на “simple-plugin.renamed”.
Це деактивує плагін і повинно вирішити проблему.
Змініть свою тему
Так само як плагіни можуть містити застарілий або невірний код, так можуть і теми. Деякі теми можуть бути неправильно закодовані або спричинити конфлікт з одним або декількома вашими плагінами. Також могли виникнути проблеми під час встановлення або оновлення теми, що залишило її неповною. Нарешті, якщо ви внесли зміни до файлу functions.php теми, це також може спричинити помилку.
На щастя, перевірити, чи ваша тема є причиною WSoD, дуже просто. Все, що вам потрібно зробити, це вимкнути її та замінити на загальнодоступну тему.
Якщо ви маєте доступ до адміністративної панелі керування:
Перейдіть до розділу Зовнішній вигляд > Теми. Наведіть курсор на одну зі стандартних тем WordPress, наприклад, Twenty Twenty-Three, і клікніть Активувати.
Якщо панель керування адміністратора недоступна, ви також можете зробити це за допомогою SFTP/FTP або File Manager.
Відкрийте папку /wp_content/themes і просто перейменуйте папку для теми, яку ви зараз використовуєте. (Наприклад, змініть назву папки з «current-theme» на «current-theme_test.»)
Це призведе до деактивації вашої теми WordPress та автоматичного застосування теми за замовчуванням. Тепер ви можете перевірити свій сайт, щоб побачити, чи зникла критична помилка.
Якщо цей метод вирішить проблему, ви зрозумієте, що ваша тема була причиною помилки. Якщо ви нещодавно внесли зміни до теми, вам слід спробувати видалити ці зміни або видалити тему і перевстановити оригінальну версію. Якщо це не вирішить проблему, вам слід звернутися до офіційної документації теми або звернутися до розробника за додатковою допомогою.
Увімкніть режим налагодження для діагностики проблеми
Якщо ви дійшли аж сюди і не знайшли рішення своїх проблем, або ви визначили проблему, але все ще потрібно знайти спосіб її вирішити, ну, настав час перестати грати в добряка.
Знайомтеся: режим налагодження WordPress.
Це інструмент, вбудований у всі інсталяції WordPress. Зазвичай, він вимкнений, оскільки призначений виключно для тестувальних цілей, але ви можете активувати його в будь-який час.
Активація режиму відладки дозволяє створювати журнал помилок усього, що відбувається, коли ваш сайт намагається завантажитися. Ви навіть можете вибрати, щоб ця інформація відображалася прямо на сторінці.
Рекомендується виконувати це на тестовій або тимчасовій версії вашого сайту, оскільки інформація, зібрана в режимі налагодження, може бути конфіденційною. Наприклад, вона може містити особисті дані або виявляти проблеми безпеки.
Щоб активувати режим відлагодження, вам потрібно відредагувати файл wp-config.php вашого сайту. Цей файл є дуже важливим елементом вашого сайту, оскільки містить всю інформацію про вашу базу даних (включаючи ваші паролі). Тому, перш ніж починати редагування, ви повинні звернутися до офіційної документації.
Коли ви будете готові розпочати відлагодження, отримайте доступ до свого сайту через SFTP, SSH або файловий менеджер вашого хоста. (Дивіться другий варіант для більш детальної інформації.)
Перейдіть до кореневої директорії вашої інсталяції WordPress. (Це має бути папка, яка містить папки на кшталт “wp-content.”)
Шукайте файл wp-config.php.
Відкрийте його і шукайте наступний рядок у коді файлу:
define( 'WP_DEBUG', false );
Цей код встановлює режим відлагодження на “false” або вимкнено.
Замініть цей рядок наступними двома рядками:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
(Якщо ви не бачите нічого, що б виглядало як оригінальний рядок у wp-config, ви можете вставити ці два рядки в будь-яке місце файлу перед останнім рядком, який має бути, «/* Ось і все, припиніть редагування! Щасливого блогінгу. */.»)
Коли ви зберігаєте файл, активується режим налагодження. Це також увімкне журнал налагодження WP, який генерує файл debug.log у директорії /wp-content/. Цей файл журналу помилок можна відкрити та прочитати за допомогою більшості стандартних текстових редакторів, таких як TextEdit або Notepad.
Нотатка для ентузіастів: Ви також можете вибрати відображення повідомлень про помилки безпосередньо на сторінці. Для цього додайте наступний код до wp-config.php: define( ‘WP_DEBUG_DISPLAY’, true );
Тепер спробуйте знову відвідати свій вебсайт.
Потім відкрийте файл журналу в директорії /wp-content/.
Ви повинні побачити деякі деталі про помилку PHP, яка сталася.
(Зверніть увагу: не забудьте вимкнути режим відладки та ведення журналу відладки після вирішення вашої проблеми. Пам’ятайте, що журнал відладки іноді може виявляти уразливості та інші проблеми з вашим сайтом.)
Маючи цю інформацію, ми приступимо до вирішення проблеми.
Усунення проблеми
Якщо ви дочитали цю статтю до цього моменту, то, ймовірно, ви дійшли до частини, де ви зараз дивитесь на файл логів і думаєте: «що, до біса, це означає?»
Давайте виправимо це раз і назавжди.
Видалення або виправлення коду теми
Одна з найпоширеніших проблем, яка спричиняє критичне повідомлення про помилку, це те, що в файлі теми вашого сайту є пошкоджений або неправильно сформований код.
Наприклад, ви можете побачити помилку, як цю:
Помилка парсингу: синтаксична помилка, невластивий $end в /home/name/public_html/wordpress/wp-content/themes/your_theme/functions.php на рядку 231
У цьому випадку ви можете побачити, що проблема полягає у файлі functions.php, зокрема на рядку номер 231. Це точно говорить нам, де шукати рішення проблеми.
Тепер ви можете відкрити файл функцій, перевірити вказаний рядок і дослідити, що могло спричинити синтаксичну помилку. Зазвичай це щось просте, як відсутність крапки з комою або опечатка.
Якщо ви отримуєте повідомлення про помилки, які не такі зрозумілі, ви зазвичай можете ввести їх у Google або інший пошуковик, щоб знайти більше інформації. Рідко трапляється унікальна проблема, тому хтось завжди, ймовірно, стикався — і вирішував — вашу конкретну проблему до цього. Таким чином, ви зазвичай можете звернутися до WordPress Codex та форумів підтримки за допомогою.
Не володієте PHP та це все виглядає для вас як іноземна мова? Розгляньте можливість звернення до технічної підтримки вашого хостинг-провайдера.
Поділіться помилкою з ними та перевірте, чи можуть вони допомогти вам усунути проблему.
Як тільки ви виправите проблему, ви можете зберегти файл і потім перевірити ваш сайт знову.
Вимкнути плагіни
Навіть якщо ви не встановлювали плагін нещодавно, він все одно може спричинити помилку.
Багато сайтів налаштовані на автоматичне оновлення плагінів, і нове оновлення або плагіну, або вашої інсталяції WordPress може спричинити помилку.
Як ви можете зрозуміти, що це так і визначити, який плагін в цьому винен?
Згідно з вашим кодом помилки, має бути доказ, що проблема викликана плагіном.
Ви можете побачити таку помилку:
Parse error: syntax error, unexpected $end in /home/name/public_html/wordpress/wp-content/plugins/your_plugin/plugin.php on line 231
Ви можете зрозуміти, що це помилка, пов’язана з плагіном, оскільки місце помилки – це файл у папці /wp-content/plugins.
Якщо ви досвідчений PHP-кодер, ви можете вирішити проблему (як обговорено в першому розділі.)
Якщо ні, ви, мабуть, захочете вимкнути плагін, доки не буде знайдено рішення.
Для цього перейдіть до папки /wp-content/plugins/your_plugin. Перейменуйте папку на будь-що, крім її поточної назви (наприклад, “your_plugin_disabled”).
Це вимкне плагін, який спричиняє помилку, і відновить ваш сайт, поки ви з’ясовуєте, як вирішити проблему, що створює помилку.
Якщо це не вирішить проблему, як очікувалося, або у вас виникли труднощі, розгляньте можливість тимчасового вимкнення всіх ваших плагінів.
Зробіть це, просто перейменувавши весь каталог “plugins” на щось нове, наприклад, “plugins_test”.
Це не буде довгостроковим рішенням, але це важлива частина усунення проблем.
Якщо це вирішує проблему, ви можете створити нову папку під назвою «plugins» і потім перемістити папки плагінів до неї поодинці, щоб побачити, який плагін призводить до збою сайту.
Пов’язано: Як створити свій перший WordPress Plugin (З мінімальною кількістю кодування)
Збільште ліміт вашої пам’яті
Якщо WSoD з’являється лише час від часу або на певних частинах вашого сайту, це може бути через те, що ваш сайт перевищив свій максимальний ліміт пам’яті. Це стосується зокрема ліміту пам’яті PHP, який є кількістю пам’яті, виділеної для PHP, на якому працює WordPress. Ви можете скористатися екраном інформації про стан сайту, щоб дізнатися деталі про конфігурацію вашого сайту WordPress. Зазвичай цей ліміт встановлюється на 40MB за замовчуванням, але інколи цього недостатньо.
Щоб виправити це, вам потрібно виділити більше пам’яті для вашої інсталяції. Спосіб це зробити може варіюватися в залежності від вашої конкретної конфігурації та хоста, але давайте розглянемо деякі з найпоширеніших методів.
Щоб збільшити PHP пам’ять вашого сайту:
- Отримайте доступ до свого сайту через SFTP/FTP, Файловий менеджер або SSH
- Перейдіть до кореневої папки WordPress
- Відкрийте файл wp-config.php
Все, що вам потрібно зробити, це додати наступний рядок у файл перед закриваючим рядком:
define( 'WP_MEMORY_LIMIT', '128M' );
Число + “M” це кількість МБ (мегабайт), яку ви хочете виділити для пам’яті PHP.
Проте, ви можете збільшити ліміт пам’яті лише до певної межі. Ваш сайт і установка матимуть встановлений максимум, який ви не можете перевищити, тому на певному етапі ви просто не зможете продовжувати підвищувати ліміт. Якщо це станеться і ви виявите, що збільшення ліміту пам’яті не вирішує проблему, ви можете розглянути можливість оновлення вашого поточного хостинг-плану. Можливо, ваш сайт переріс хостингове середовище, і вам потрібно буде розглянути перехід на інший хостинг-план.
Перевірте Незвичайні Помилки
Якщо ви дійшли до цього моменту і досі не змогли вирішити вашу WSoD, ми вам співчуваємо. Ви також належите до меншості, оскільки техніки, які ми розглянули досі, допомагають вирішити переважну більшість помилок. Однак, є ще надія!
Тепер ми швидко розглянемо деякі з менш поширених проблем, які можуть спричинити проблеми з WordPress (що призводить до WSoD). Ці причини менш імовірні, але про них не можна забувати, тому важливо перевірити їх, якщо ви вже спробували все інше.
Перевірте, чи ваш сервер не працює
Можливо, проблеми вашого сайту виникають через проблеми з сервером хостингу. Сервер може бути повністю недоступний, тому перевірте інші сайти, які, на вашу думку, розміщені на тому ж сервері. Також можливо, що виникла помилка сервера або сервер не працює належним чином. Можливо, він навіть знаходиться на обслуговуванні.
Один із способів перевірити це – переглянути статус сервісів вашого хоста:
Навіть якщо ваш сервер здається нормальним і хост не має проблем, вам все одно слід спробувати звернутися до їхньої підтримки. Ваш сайт все ще може відчувати проблеми через сервер, навіть якщо ніхто інший не має такої ж проблеми. Тому вони можуть вам допомогти.
Перевірте ваше рішення для кешування
Застосування рішення для кешування у WordPress є чудовим способом прискорення вашого сайту. Однак, оскільки воно зберігає старі версії файлів, існує ризик, що застарілий контент може спричинити проблеми.
Цю проблему можна вирішити, очистивши кеш, що дозволить видалити всі непотрібні збережені дані з вашого сайту. Після цього перевірте свій сайт знову, щоб побачити, чи вдалося виправити проблему. Якщо так, можливо, вам варто звернутися до розробників вашого рішення для кешування, щоб дізнатися, чому сталася помилка WSoD, або зв’язатися з командою підтримки вашого хосту.
Пов’язано: Оптимізація швидкості вашого сайту: посібник
Дослідіть свій сайт на наявність пошкоджених файлів
Це рідкісний випадок, коли основні файли WordPress бувають пошкоджені, але це можливо.
Наприклад, помилка може виникнути, коли встановлюється нова версія WordPress, що призводить до неповноти одного або декількох файлів. Коли це так, зазвичай ви побачите щось у журналі помилок, створеному режимом налагодження – але не завжди. Якщо ви підозрюєте, що є проблема з основними файлами вашого сайту, вам слід звернутися до вашого хоста та попросити допомоги у діагностуванні та виправленні проблеми.
Що робити, якщо ніщо не виправляє критичну помилку
У малоймовірному випадку, коли критична помилка залишається після того, як ви виконали всі вищезазначені методи усунення проблем, настав час вдатися до крайніх заходів.
Однак, перш ніж робити що-небудь інше, ви повинні спочатку звернутися до команди підтримки вашого хоста, якщо ви ще цього не зробили. У багатьох випадках вони зможуть вам допомогти.
Однією з можливих проблем може бути те, що версія PHP, яка використовується на вашому сервері, застаріла і більше не підтримується WordPress. Це трапляється час від часу, якщо ви не підтримуєте ваше хостингове середовище оновленим, оскільки нові версії WordPress іноді вимагають новішої версії PHP. (На момент написання цього, WordPress вимагає PHP 7.4 або новіший.)
Якщо це не спрацює або ваша служба підтримки хостингу не може надати допомогу, то вам може знадобитися перевстановити WordPress повністю.
Іноді, якщо ваш сайт був зламано або на ваш сайт якимось чином було додано шкідливе програмне забезпечення, може бути дуже складно вирішити проблему без повного перезапуску.
Malware
Malware — це тип шкідливого програмного забезпечення, яке спеціально розроблене для заподіяння шкоди комп’ютеру або серверу жертви. Найчастіше використовується для доступу до приватної інформації або для утримання файлів під викупом.
Читати даліАле якщо ви слідуватимете нашим інструкціям щодо як відновити зламаний сайт, ви повинні зможете перевстановити WordPress і повторно підключити його до вашої існуючої бази даних, не втрачаючи всіх ваших файлів та вмісту.
Це виправлено?
Сподіваємося, що цей посібник допоміг вам виправити ваш сайт 20 хвилин тому і ви навіть не дочитали цю статтю до кінця.
Але благословіть ваше серце, якщо ви все ще читаєте.
Майте на увазі, що хоча багато з цих виправлень можуть здатися простими, вони можуть швидко перетворитися на набагато більші проблеми, якщо ви не впевнені, що робите.
Тож не бійтеся просити про допомогу.
Адже саме для цього ми тут.
Ви мрієте, ми програмуємо
Скористайтеся нашим 20-річним досвідом у програмуванні, коли обираєте нашу послугу веб-розробки. Просто повідомте нам, чого ви хочете для вашого сайту — ми зробимо все інше.
Дізнатися більше