Що таке помилка 404? 404 vs 403 Forbidden і як їх виправити

Помилка 404, або 404 Not Found, — це код стану HTTP, який вебсервер повертає, коли за запитаною URL-адресою йому немає чого показати. Стандарт HTTP RFC 9110 формулює це так (у нашому перекладі): сервер «не знайшов поточного представлення цільового ресурсу» або не хоче розкривати, що таке представлення існує. Код не повідомляє, чи сторінку видалено назавжди.

Спробуйте безкоштовно: Коди стану HTTP Безкоштовно, без реєстрації.

Споріднена помилка 403 Forbidden — інша річ: сторінка може існувати, але сервер зрозумів запит і відмовляє в ньому. У цьому посібнику пояснено, що таке помилка 404, що означає 403 Forbidden, чим обидві відрізняються від 401 і 410 та як знайти й виправити їх без шкоди для SEO. Щоб знайти будь-який інший код, скористайтеся пошуком у безкоштовному списку кодів стану HTTP.

Що таке помилка 404? Офіційне значення

Значення помилки 404 визначає RFC 9110, розділ 15.5.5 — чинна специфікація HTTP. На практиці важливі три деталі:

Сайти формулюють повідомлення по-різному («404 Not Found», «Сторінку не знайдено», «HTTP Error 404»), але код стану за ним той самий.

Що означає 403 Forbidden?

RFC 9110 визначає 403 Forbidden так (у нашому перекладі): сервер «зрозумів запит, але відмовляється його виконати». Якщо запит містив облікові дані, сервер вважає їх недостатніми, і повторення того самого запиту не допоможе. Сторінка існує, просто вам не дозволено її бачити.

Помилку 403 Forbidden часто плутають із 401:

Браузери зазвичай показують «403 Forbidden», «Доступ заборонено» або «HTTP Error 403», і відмова може надходити від брандмауера чи CDN перед сайтом, а не від самого сайту.

404 vs 410 vs 403 vs 401: коротке порівняння

Код Назва Що він повідомляє клієнту Типова причина Як виправити
404 Not Found За цією URL-адресою нічого немає, можливо, лише тимчасово Видалена або переміщена сторінка, бите посилання, одрук Виправте посилання, відновіть сторінку або додайте переспрямування 301
410 Gone Ресурс навмисно видалено, і він не повернеться Завершена акція, видалений вміст Нічого; приберіть посилання, які досі ведуть туди
403 Forbidden Сервер зрозумів запит і відмовляє в ньому Дозволи, правила заборони, брандмауер, блокування за IP чи країною Інші дозволи або зміни на сервері
401 Unauthorized Бракує дійсної автентифікації Не виконано вхід, прострочений токен, неправильний пароль Увійдіть або надішліть дійсні облікові дані

Назви збігаються з довідником кодів стану HTTP, який охоплює й переспрямування 3xx.

Що робити, коли ви бачите помилку 404 або 403

Якщо ви відвідувач, спробуйте ці кроки по черзі:

  1. Перевірте URL-адресу на одруки або обрізаний текст у кінці довгого посилання. Шляхи можуть бути чутливими до регістру: /Contact/ і /contact/ можуть бути різними сторінками.
  2. Перезавантажте сторінку. Сторінка, яку саме повторно публікують, може на мить повертати помилку.
  3. Пошукайте на сайті. Видаліть останню частину шляху або скористайтеся полем пошуку на сайті, щоб знайти, куди перемістився вміст.
  4. У разі 403 очистьте файли cookie та кеш сайту. Прострочений сеансовий cookie може змусити сервер відхиляти запити; вихід і повторний вхід допомагають із тієї самої причини.
  5. Вимкніть VPN або проксі. Деякі сайти й брандмауери блокують діапазони адрес VPN або цілі країни кодом 403.
  6. Повідомте власника сайту, якщо бите посилання розміщене на самому сайті.

Чому сайт повертає 404 Not Found

Для власників сайтів більшість помилок 404 має одну з таких причин:

Що спричиняє помилку 403 Forbidden на вашому сайті

На вашому власному сайті помилка 403 Forbidden зазвичай виникає через:

Як виправити помилки 404

Правильне рішення залежить від того, що сталося зі сторінкою:

В Apache усі три правила можна прописати в .htaccess:

Redirect 301 /old-guide/ /new-guide/
Redirect gone /spring-sale-2025/
ErrorDocument 404 /404.html

Еквівалент для Nginx:

location = /old-guide/ { return 301 /new-guide/; }
location = /spring-sale-2025/ { return 410; }
error_page 404 /404.html;

Власна сторінка 404 має повідомляти, що сторінку не знайдено, зберігати навігацію сайту й пропонувати пошук або популярні посилання, і вона все одно має надсилати код стану 404. В Apache вказуйте в ErrorDocument локальний шлях, наприклад /404.html: якщо вказати повну URL-адресу з https://, Apache переспрямує відвідувача, і початковий статус 404 буде втрачено.

Уникайте soft 404 («м’яких» 404): сторінок, які кажуть «не знайдено», але повертають 200 OK. Поширене джерело — односторінкові застосунки, що відповідають на кожен маршрут кодом 200. Також не переспрямовуйте кожну відсутню URL-адресу на головну сторінку. У настановах Google щодо перенесення сайту попереджено, що спрямування багатьох старих URL-адрес на одну нерелевантну адресу, наприклад головну сторінку, може заплутати користувачів і може розцінюватися як soft 404.

Чи шкодять помилки 404 SEO?

Самі по собі — ні. Google Search Central заявляв, що наявність на сайті певної кількості URL-адрес із 404 сама по собі не шкодить йому й не враховується проти нього в результатах пошуку. Довідка Search Console додає, що помилки 404 не обов’язково є проблемою, якщо сторінку видалено без заміни, і радить виправляти ті 404, на які ви посилаєтеся самі або які є у вашому sitemap.

Два випадки таки шкодять. Сторінка, яка раніше ранжувалася, а тепер повертає 404, випадає з індексу разом зі своїм трафіком, тож переспрямуйте її, якщо є релевантна заміна. А soft 404 приховує справжній статус, тому посібник Google про помилки soft 404 радить справжній 404 або 410 для видалених сторінок і 301 для переміщених.

Щодо 404 проти 410: у документації Google сказано, що всі коди 4xx, крім 429, обробляються однаково, а раніше проіндексована URL-адреса видаляється з індексу. Використовуйте 410, бо він чітко заявляє про ваш намір, а не для того, щоб змінити позиції. Код 403 або 401 на сторінці, яку ви хочете бачити в індексі, — гірший варіант: Googlebot не входить в облікові записи, тому Search Console повідомляє «Заблоковано через заборону доступу (403)» або «Заблоковано через неавторизований запит (401)», і сторінка не індексується. Якщо брандмауер блокує Googlebot, виправте правило.

Як знайти биті посилання й помилки 404

awk '$9 == 404 {print $7}' access.log | sort | uniq -c | sort -rn | head

На зразку журналу із семи запитів вона вивела 3 /old-guide/ і 1 /Contact/: одну переміщену сторінку, якій потрібне переспрямування, і одне посилання з неправильною великою літерою.

Знайдіть будь-який код стану

Безкоштовний довідник кодів стану HTTP містить 63 стандартні коди, від 100 Continue до 511 Network Authentication Required, згруповані в п’ять класів. Введіть число, як-от 404, або слово, як-от forbidden, щоб побачити відповідний код, його назву й короткий опис мовою сторінки. Це довідник, а не інструмент перевірки URL-адрес: він не завантажує ваші сторінки, а неофіційних кодів, як-от 499 у Nginx, у ньому немає.

Часті запитання

Помилка 404 — це моя провина?

Зазвичай ні. Можливо, ви помилилися в URL-адресі, але більшість помилок 404 виникає через переміщені чи видалені сторінки й посилання, які так і не оновили.

Що використовувати для видаленої сторінки: 404 чи 410?

Якщо сторінку видалено навмисно й вона не повернеться, найточніша відповідь — 410 Gone; якщо ви не впевнені, підійде 404. Якщо вміст переміщено, натомість використайте переспрямування 301.

Чи може очищення файлів cookie виправити помилку 403 Forbidden?

Іноді. Якщо причина в простроченому або пошкодженому сеансовому cookie, допоможе очищення cookie сайту й повторний вхід. Це не допоможе, коли блокування спричинене правами доступу на сервері, правилом для IP чи країни або блокуванням VPN.

Що таке soft 404?

Сторінка, яка повідомляє відвідувачам, що вмісту не існує, але повертає 200 OK замість 404. Google не показує такі сторінки в результатах пошуку й позначає їх у Search Console. Повертайте справжній 404 чи 410 або 301, якщо вміст переміщено.

Помилка 404 — це помилка клієнта чи сервера?

Вона належить до класу 4xx — помилок клієнта, бо за запитаною URL-адресою немає чого віддавати. Збій сервера проявляється як код 5xx, наприклад 500 Internal Server Error.

Спробуйте безкоштовно: Коди стану HTTP Безкоштовно, без реєстрації.