Ошибки

Ошибка 410 Gone: что значит и когда её отдавать

410 Gone — ресурс по этому адресу больше недоступен, и, скорее всего, навсегда. В отличие от 404 этот код говорит и посетителям, и поисковикам: ждать нечего, ссылки на адрес можно убирать.

Обновлено 07.10.2026≈ 4 мин чтения
Содержание 10

Что означает код 410

По стандарту HTTP код 410 значит: ресурса по этому адресу больше нет, и это, скорее всего, навсегда. Если сервер не знает, навсегда ли, стандарт советует отвечать 404.

Стандарт называет 410 прежде всего инструментом сопровождения сайта: владелец сообщает, что убрал ресурс намеренно и хочет, чтобы ссылки на него удалили. Типичные примеры — страница акции, которая закончилась, или страница человека, который больше не связан с сайтом.

Помечать кодом 410 каждую удалённую страницу не обязательно, как и держать такой ответ бесконечно: это решает владелец сайта. Браузеры и прокси могут сохранить ответ 410 в кэше, если заголовки этого не запрещают.

Если вы посетитель

  1. Страницу удалили намеренно, и обновление не поможет.
  2. Откройте главную или раздел уровнем выше — возможно, там есть похожие материалы.
  3. Если вам нужна именно эта страница, поищите её копию в поисковике или спросите владельца сайта.

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Ресурс есть, но доступ запрещён

Источники

Сверено 6 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 07.10.2026