Що таке помилка 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 за визначенням не є остаточною. Сторінка може повернутися. Коли сервер знає, що сторінку видалено назавжди, RFC радить 410 Gone.
- Код 404 може навмисно приховувати сторінку. Сервер, який не хоче розкривати, що заборонений ресурс існує, може відповісти 404 замість 403. Наприклад, GitHub повертає 404 Not Found для приватних репозиторіїв, коли запит не автентифіковано належним чином, тож сторонні не можуть переконатися, що репозиторій існує.
- Клас 4xx означає «помилку клієнта», але на практиці причина зазвичай на боці сайту: видалена сторінка або бите посилання.
Сайти формулюють повідомлення по-різному («404 Not Found», «Сторінку не знайдено», «HTTP Error 404»), але код стану за ним той самий.
Що означає 403 Forbidden?
RFC 9110 визначає 403 Forbidden так (у нашому перекладі): сервер «зрозумів запит, але відмовляється його виконати». Якщо запит містив облікові дані, сервер вважає їх недостатніми, і повторення того самого запиту не допоможе. Сторінка існує, просто вам не дозволено її бачити.
Помилку 403 Forbidden часто плутають із 401:
- 401 Unauthorized означає, що в запиті немає дійсних облікових даних. Сервер має додати заголовок
WWW-Authenticate, який пояснює, як автентифікуватися, і вхід із правильним обліковим записом може розв’язати проблему. - 403 Forbidden означає, що сервер відмовляє в доступі. Повторний вхід із тим самим обліковим записом не допоможе: потрібні інші дозволи, або власник сайту має змінити правило.
Браузери зазвичай показують «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
Якщо ви відвідувач, спробуйте ці кроки по черзі:
- Перевірте URL-адресу на одруки або обрізаний текст у кінці довгого посилання. Шляхи можуть бути чутливими до регістру:
/Contact/і/contact/можуть бути різними сторінками. - Перезавантажте сторінку. Сторінка, яку саме повторно публікують, може на мить повертати помилку.
- Пошукайте на сайті. Видаліть останню частину шляху або скористайтеся полем пошуку на сайті, щоб знайти, куди перемістився вміст.
- У разі 403 очистьте файли cookie та кеш сайту. Прострочений сеансовий cookie може змусити сервер відхиляти запити; вихід і повторний вхід допомагають із тієї самої причини.
- Вимкніть VPN або проксі. Деякі сайти й брандмауери блокують діапазони адрес VPN або цілі країни кодом 403.
- Повідомте власника сайту, якщо бите посилання розміщене на самому сайті.
Чому сайт повертає 404 Not Found
Для власників сайтів більшість помилок 404 має одну з таких причин:
- Видалені або переміщені сторінки без переспрямування, часто після редизайну чи міграції CMS.
- Одруки в посиланнях — на ваших власних сторінках або на інших сайтах.
- Чутливість до регістру. На типових серверах Linux
/Guide.htmlі/guide.html— різні файли. - Скісна риска в кінці.
/pricingі/pricing/— різні URL-адреси, і сервер може віддавати одну, а для іншої повертати 404. - Правила перезапису. Зламане правило в
.htaccess, змінене налаштування постійних посилань або відсутній рядокtry_filesу Nginx можуть спрямовувати дійсні URL-адреси на 404.
Що спричиняє помилку 403 Forbidden на вашому сайті
На вашому власному сайті помилка 403 Forbidden зазвичай виникає через:
- Права доступу до файлів. Вебсервер має мати змогу читати файли. На типовому Linux-хостингу файли мають права
644(rw-r--r--: власник читає й записує, решта лише читає), а каталоги —755(rwxr-xr-x). Уникайте777, що дозволяє записувати будь-кому. - Відсутність індексного файлу за вимкненого переліку вмісту каталогу. Запит до папки без
index.htmlчиindex.phpотримує 403, коли в Apache заданоOptions -Indexesабо в Nginx —autoindex off. - Правила заборони в
.htaccessабо конфігурації сервера, наприкладRequire all deniedчи список дозволених IP-адрес, до якого не входить відвідувач. - Брандмауер вебзастосунків або CDN, що блокує IP-адреси, країни, user agent або підозрілі шаблони запитів.
- Захист від хотлінкінгу, який повертає 403 на запити зображень з інших доменів.
Як виправити помилки 404
Правильне рішення залежить від того, що сталося зі сторінкою:
- Вміст переміщено: додайте переспрямування 301 на нову URL-адресу, щоб відвідувачі, посилання й пошукові системи переходили за ним.
- Сторінку видалено помилково: відновіть її за тією самою URL-адресою.
- Ваші власні посилання неправильні: виправте меню, внутрішні посилання й записи в sitemap, які ведуть на відсутню URL-адресу.
- Сторінку видалено навмисно: повертайте 410 Gone (або залиште 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
- Google Search Console: відкрийте Індексування › Сторінки й перегляньте причини «Не знайдено (404)» і «Soft 404», де перелічено відповідні URL-адреси.
- Журнали сервера: вони фіксують кожен запит із його статусом. У поширеному форматі журналу «combined» для Apache і Nginx поле 7 — це шлях, а поле 9 — код стану, тож ця команда показує найчастіше запитувані відсутні URL-адреси:
awk '$9 == 404 {print $7}' access.log | sort | uniq -c | sort -rn | head
На зразку журналу із семи запитів вона вивела 3 /old-guide/ і 1 /Contact/: одну переміщену сторінку, якій потрібне переспрямування, і одне посилання з неправильною великою літерою.
- Перевірка посилань: краулер сайту переходить за кожним внутрішнім посиланням і повідомляє про ті, що повертають 4xx або 5xx; багато таких інструментів перевіряють і зовнішні посилання.
- Швидка ручна перевірка:
curl -I https://example.com/old-guide/отримує лише заголовки, а перший рядок показує статус, наприкладHTTP/2 404. Генератор cURL створить цю команду, коли ви виберете метод HEAD.
Знайдіть будь-який код стану
Безкоштовний довідник кодів стану 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 Безкоштовно, без реєстрації.