
🔧 404 Помилка на WordPress: як виправити і більше не втрачати сторінки
Перейшли за посиланням на свій сайт, а там порожня сторінка з «404 Not Found». Хоча точно пам’ятаєте: допис був, працював, і ви його не видаляли. Ситуація неприємна і, на жаль, знайома кожному адміністратору WordPress.
Найчастіше винна проста розсинхронізація правил перезапису URL. На практиці у 8 з 10 випадків проблема вирішується за хвилину, одним натисканням кнопки в адмінці. А якщо не допомогло, розберемо решту причин по ланцюжку, від плагінів до серверних налаштувань.
Нижче покроковий посібник: від швидкого виправлення до повної діагностики, включно з ручним редагуванням .htaccess, пошуком битих посилань через Google Search Console та налаштуванням переспрямувань.
💡 Швидкий огляд:
- Збережіть постійні посилання в адмінці — це скидає rewrite rules і лагодить більшість 404 помилок.
- Перевірте плагіни та тему: тимчасово вимкніть усе і вмикайте по одному, щоб знайти конфлікт.
- Оновіть файл htaccess вручну через FTP або файловий менеджер хостингу.
- Налаштуйте 301 переспрямування через плагін Redirection для видалених і переміщених сторінок.
- Зверніться до хостера, якщо попередні кроки не допомогли.
Крок 1: Збережіть налаштування постійних посилань
Це найшвидший і найдієвіший спосіб. WordPress зберігає правила маршрутизації URL у спеціальному кеші rewrite rules, і іноді цей кеш скидається некоректно, наприклад, після оновлення ядра або встановлення плагіна, який реєструє свої типи записів.
Зайдіть в адмінку: Налаштування → Постійні посилання. Нічого не змінюйте, просто натисніть кнопку «Зберегти зміни» внизу сторінки.

WordPress заново згенерує правила перезапису і запише їх у .htaccess. Після цього перевірте проблемні сторінки, у більшості випадків 404 помилка зникає одразу.
Якщо не спрацювало, спробуйте тимчасово перемкнути структуру посилань на «Прості», зберегти, а потім повернути назад і зберегти ще раз. Так ви двічі форсуєте перегенерацію rewrite rules.

Крок 2: Перевірте плагіни та тему на конфлікти
Деякі плагіни втручаються в маршрутизацію URL, реєструють свої правила перезапису або перевизначають наявні. Конфлікт двох плагінів або плагіна з темою ламає постійні посилання, і частина сторінок іде в 404.
Як знайти винуватця:
- Зробіть повний бекап сайту. Перед будь-якими маніпуляціями з активними плагінами та темою це обов’язково. Використовуйте BackWPup або будь-який інший плагін резервного копіювання, якому довіряєте.
- Перейдіть у Плагіни → Встановлені та тимчасово деактивуйте всі плагіни разом (позначте прапорцем і виберіть «Деактивувати» у випадному списку).
- Перевірте, чи зникла 404 помилка. Якщо так, проблема в одному з плагінів.
- Вмикайте плагіни по одному і після кожного перевіряйте проблемний URL. Той, після активації якого помилка повернулася, і є джерелом конфлікту.
Якщо деактивація всіх плагінів не допомогла, тимчасово перемкніть тему на стандартну (Twenty Twenty-Five або Twenty Twenty-Four). Робоче посилання при стандартній темі означає, що конфлікт на боці вашої поточної теми.
Для безпечного тестування на робочому сайті використовуйте staging-оточення (копію сайту на піддомені). Багато хостерів надають його за пару кліків через панель керування. Якщо staging недоступний, проводьте діагностику в години мінімальної відвідуваності та повертайте плагіни одразу після перевірки.
Крок 3: Оновіть файл.htaccess вручну
Буває, що WordPress не може записати правила перезапису в .htaccess, наприклад, через права доступу на сервері або тому що файл пошкоджений. Тоді навіть збереження налаштувань постійних посилань не допомагає.
Підключіться до сервера через FTP (FileZilla, WinSCP) або відкрийте файловий менеджер у панелі хостингу. У кореневій папці сайту (там же, де лежать wp-content і wp-includes) знайдіть файл .htaccess.
Скопіюйте його вміст і збережіть у безпечному місці, якщо щось піде не так, ви завжди зможете відновити оригінал.
Тепер замініть вміст .htaccess стандартним кодом WordPress:
1 ## BEGIN WordPress 2 <IfModule mod_rewrite.c> 3 RewriteEngine On 4 RewriteBase / 5 RewriteRule ^index\.php$ - [L] 6 RewriteCond %{REQUEST_FILENAME} !-f 7 RewriteCond %{REQUEST_FILENAME} !-d 8 RewriteRule . /index.php [L] 9 </IfModule> 10 ## END WordPress
Збережіть файл і перевірте проблемні сторінки. Якщо помилка зникла, справа була в пошкодженому .htaccess.
Не забудьте повернути права доступу на файл у значення 644: відкритий на запис .htaccess (666 або 777) — це діра в безпеці.
Крок 4: Налаштуйте переспрямування для видалених і переміщених сторінок
Не всі 404 помилки спричинені технічним збоєм. Частина з них — це реально відсутні сторінки: ви видалили допис, змінили його URL під час редагування або перебудували структуру категорій.
Такі 404 помилки видно в Google Search Console у звіті «Сторінки», Google фіксує кожен недоступний URL, за яким переходили користувачі або пошуковий робот.
Для керування переспрямуваннями встановіть безплатний плагін Redirection. Він дає змогу:
- створювати 301 переспрямування зі старого URL на новий за пару кліків;
- відстежувати всі 404 помилки на сайті в реальному часі (журнал прямо в адмінці);
- налаштовувати масові переспрямування за шаблоном (наприклад, при зміні структури постійних посилань).
На кожну зафіксовану 404 у журналі Redirection можна одразу ж призначити переспрямування, не покидаючи адмінки. Це зберігає позиції в пошуку і не дає відвідувачам натрапляти на порожню сторінку.
Крок 5: Зверніться до хостинг-провайдера
Якщо жоден із попередніх кроків не допоміг, проблема глибше, на рівні серверного оточення.
Що може бути не так на боці хостингу:
- Модуль
mod_rewriteне увімкнено в Apache. Без нього WordPress не може формувати «гарні» URL, і будь-які постійні посилання, крім «Простих», видають 404. Техпідтримка вмикає його за хвилину. - Агресивне серверне кешування (Varnish, Nginx FastCGI cache). Іноді кеш не скидається при збереженні постійних посилань, і сервер продовжує віддавати старі заголовки. Попросіть хостера примусово скинути кеш для вашого домену.
- Некоректна конфігурація Nginx. Якщо сайт працює на зв’язці Nginx + Apache або чистому Nginx, правила перезапису живуть не в
.htaccess, а в конфігураційному файлі сервера. Перегенерація rewrite rules з адмінки WordPress на такі сервери не діє, потрібне редагування конфігу хостинг-провайдером.
При зверненні в підтримку опишіть проблему і перелічіть кроки, які ви вже зробили: це зекономить час і вам, і інженеру.
Інші причини 404 помилок у WordPress
Крім збою rewrite rules і конфліктів плагінів, є ще кілька сценаріїв, за яких сторінки йдуть у 404:
- Зміна домену або переїзд сайту. Після міграції старі URL не працюють, якщо не налаштовані переспрямування. Для масового перенесення використовуйте плагін Duplicator або All-in-One WP Migration, вони автоматично правлять усі внутрішні посилання в базі даних.
- Видалені медіафайли. Якщо ви видалили зображення або PDF через медіатеку, а посилання на нього залишилося в тексті допису, при переході за прямим URL файлу браузер покаже 404. Використовуйте плагін Media Cleaner для пошуку таких «осиротілих» посилань.
- Помилки в ієрархії сторінок. При зміні батьківської сторінки або slug-а категорії дочірні URL ламаються. Якщо ви перебудовуєте структуру, одразу налаштуйте переспрямування зі старих адрес.
- Шкідлива активність. Злам або зараження сайту малвар’ю можуть підміняти правила перезапису і додавати переспрямування на сторонні домени. Регулярно оновлюйте ядро, плагіни та тему, а для моніторингу використовуйте Solid Security (колишній iThemes Security).
⁉️🤔 Часті запитання
Чому після збереження постійних посилань помилка не зникає?
Швидше за все, WordPress не може записати зміни в
.htaccess, перевірте права доступу до файлу (має бути644). Якщо сайт працює на Nginx, правила перезапису керуються не через.htaccess, а через серверний конфіг, зверніться в підтримку хостингу, щоб вони вручну оновили rewrite rules для вашого домену.
Як масово знайти всі 404 помилки на сайті?
Найповніший інструмент, Google Search Console, звіт «Сторінки» → вкладка «Не знайдено (404)». Для моніторингу в реальному часі встановіть плагін Redirection: він логує кожен 404 хіт прямо в адмінці та дає змогу створити переспрямування в один клік. Зовнішні краулери на кшталт Screaming Frog теж підходять, але для разового аудиту.
Чи можна просто видалити биті посилання і не налаштовувати переспрямування?
Технічно так, але ви втратите позиції в пошуку і трафік. Якщо на сторінку вели зовнішні посилання з інших сайтів, відвідувачі потраплятимуть у порожнечу. 301 переспрямування передає посилальну вагу новій сторінці та зберігає користувацький досвід. Для масових 404 на старому сайті переспрямування на головну, крайній варіант, краще вести кожен URL на релевантну заміну.
Чим небезпечний відкритий на запис.htaccess?
Файл
.htaccessіз правами666або777може бути змінений будь-яким процесом на сервері. Зловмисник, який отримав доступ до будь-якого плагіна з уразливістю, допише в нього переспрямування на фішинговий домен, і весь ваш трафік витече. Стандартні права644: власник читає і пише, всі інші, тільки читають.
Плагіни деактивовані, тема стандартна,.htaccess оновлений, 404 залишається. Що далі?
У переважній більшості випадків проблема на рівні сервера. Напишіть у техпідтримку хостингу і перелічіть уже виконані кроки. Попросіть перевірити: чи увімкнено
mod_rewrite, чи не кешує сервер старі заголовки, чи коректно налаштований Nginx (якщо він використовується). З таким списком інженер вирішить питання за один сеанс, а не за три листування.
404 На WordPress: що робити в першу чергу
Алгоритм простий і майже завжди спрацьовує. Починаєте зі швидкого, збереження постійних посилань (8 з 10 випадків). Не допомогло, йдете по ланцюжку: плагіни → .htaccess → переспрямування → техпідтримка хостингу. Кожен наступний крок трохи складніший за попередній, але й імовірність, що проблема там, нижча.
Для профілактики тримайте під рукою три інструменти: плагін для бекапів на кшталт BackWPup, плагін переспрямувань Redirection і Google Search Console для моніторингу. З ними ви не просто лагодите 404, ви бачите їх до того, як їх помітять відвідувачі.
А яка причина 404 помилок зустрічалася вам найчастіше? Діліться досвідом у коментарях.



