Ошибка 410 Gone: что значит и когда её отдавать
410 Gone — ресурс по этому адресу больше недоступен, и, скорее всего, навсегда. В отличие от 404 этот код говорит и посетителям, и поисковикам: ждать нечего, ссылки на адрес можно убирать.
Содержание 10
Что означает код 410
По стандарту HTTP код 410 значит: ресурса по этому адресу больше нет, и это, скорее всего, навсегда. Если сервер не знает, навсегда ли, стандарт советует отвечать 404.
Стандарт называет 410 прежде всего инструментом сопровождения сайта: владелец сообщает, что убрал ресурс намеренно и хочет, чтобы ссылки на него удалили. Типичные примеры — страница акции, которая закончилась, или страница человека, который больше не связан с сайтом.
Помечать кодом 410 каждую удалённую страницу не обязательно, как и держать такой ответ бесконечно: это решает владелец сайта. Браузеры и прокси могут сохранить ответ 410 в кэше, если заголовки этого не запрещают.
Если вы посетитель
- Страницу удалили намеренно, и обновление не поможет.
- Откройте главную или раздел уровнем выше — возможно, там есть похожие материалы.
- Если вам нужна именно эта страница, поищите её копию в поисковике или спросите владельца сайта.
410 или 404
| Ситуация | Код |
|---|---|
| Страницу удалили насовсем, замены нет | 410 |
| Страницы нет, и неизвестно, вернётся ли | 404 |
| Страница переехала на новый адрес | 301 |
Как отдать 410 в nginx
Одна страница:
location = /old-page/ {
return 410;
}Целый раздел — все адреса, которые начинаются с /old-section/:
location /old-section/ {
return 410;
}Если в разделе были файлы .php, учтите порядок выбора блоков location: регулярные выражения проверяются после префиксных, и побеждает первое подходящее. Блок для PHP (location ~ \.php$) перехватит такие адреса, и 410 они не получат. Чтобы этого не случилось, опишите раздел тоже регулярным выражением и поставьте этот блок выше блока для PHP:
location ~ ^/old-section/ {
return 410;
}Своя страница для 410 подключается так же, как для 404:
error_page 410 /410.html;После любых правок: sudo nginx -t, затем sudo systemctl reload nginx.
Как отдать 410 в Apache
На хостинге с Apache хватит строки в файле .htaccess в корне сайта:
Redirect gone /old-page/Путь указывают от корня сайта, с косой чертой в начале, и с учётом регистра букв. Правило срабатывает и для адресов, которые начинаются с этого пути.
Проверьте результат командой curl -I с адресом удалённой страницы: в первой строке ответа должен быть код 410.
410 в WordPress
Удалённые записи и страницы WordPress отдаёт с кодом 404. Если нужен именно 410, на сервере с nginx проще всего задать его блоком с точным адресом, как в примере выше: точное совпадение (location =) nginx выбирает раньше любых других блоков.
410 и поиск Яндекса
- По справке Яндекса, страница с ответом 410 — как и с 404 или 403 — выпадает из поисковой базы в течение недели после того, как робот её обойдёт.
- Для удалённых страниц Яндекс советует ответ 410, для переехавших — перенаправление 301.
- Ускорить удаление можно в Вебмастере: инструмент «Удаление страниц из поиска» принимает до 500 адресов одного сайта в сутки. Удалить сразу весь раздел по началу адреса можно, только если он закрыт в robots.txt директивой Disallow, — до 20 таких заявок в сутки.
Чем 410 отличается от соседних кодов
| Код | Когда возникает |
|---|---|
| 404 | Ничего не найдено — временно или навсегда, неизвестно |
| 410 | Ресурс удалён насовсем |
| 301 | Ресурс переехал на новый адрес |
| 403 | Ресурс есть, но доступ запрещён |
Источники
- RFC 9110, раздел 15.5.11 — определение кода 410.
- Документация nginx: return и location.
- Документация Apache: директива Redirect.
- Яндекс Вебмастер: коды ответа HTTP и как удалить страницы из поиска.
Сверено 6 октября 2026 года.
Что почитать дальше
- Ошибка 404 Not Found — когда страницы нет, а вернётся ли она, неизвестно.
- Редирект 301 — если у страницы есть новый адрес.
- Как перенести сайт на другой хостинг — без потерянных страниц.
- Коды ответа HTTP — полный список с расшифровкой.
Проверено и обновлено: 07.10.2026