Старые страницы в WordPress обычно всплывают не из-за одной ошибки, а из-за набора мелких проблем: запись удалили, а URL остался в выдаче; архивы и пагинация продолжают отдавать 200; в sitemap попадают страницы, которые уже не нужны; редиректы настроены частично. В итоге поисковик тратит обход на мусор, а в индексе висят URL, которые больше не должны ранжироваться.
Если задача именно техническая — убрать из индекса удалённые, устаревшие или служебные страницы и при этом не сломать сайт, лучше идти по шагам: сначала найти источник URL, потом выбрать правильную реакцию сервера, затем проверить индексацию и sitemap.
Когда проблема действительно в индексации старых URL
Не каждый старый адрес нужно закрывать от индексации. Иногда правильнее вернуть 410 Gone, иногда — сделать 301 на актуальную страницу, а иногда — оставить 404 и не трогать ничего. Ошибка начинается там, где все удалённые URL пытаются лечить одним способом.
Типичные симптомы
- в поиске остаются удалённые записи, хотя на сайте их уже нет;
- в отчётах Search Console растёт число страниц с
404илиSoft 404; - в sitemap.xml есть URL, которые уже не открываются;
- старые категории, теги или страницы авторов продолжают индексироваться, хотя контент там пустой или бесполезный;
- поисковик показывает в выдаче URL с устаревшим содержимым, хотя на сайте уже есть новая версия материала.
Что проверить до правок
- открывается ли URL в браузере и какой код ответа он отдаёт;
- есть ли этот адрес в XML-карте сайта;
- есть ли на него внутренние ссылки из меню, хлебных крошек, блоков похожих материалов;
- есть ли редирект, который ведёт на релевантную новую страницу;
- не закрыт ли URL только через
noindex, но при этом он всё ещё доступен и тратит краулинговый бюджет.
Как выбрать правильную реакцию: 301, 410, noindex или удаление из sitemap
Для старых страниц в WordPress обычно используют четыре сценария. Они не взаимозаменяемы, и это важно.
| Сценарий | Что делать | Когда подходит | Компромисс |
|---|---|---|---|
| 301 Redirect | Перенаправить на новый релевантный URL | Страница переехала или есть точный аналог | Часть сигналов передаётся новому адресу, но нужен корректный target |
| 410 Gone | Отдать статус удаления | Страница удалена окончательно и замены нет | Быстрее убирается из индекса, но нельзя использовать для живого контента |
| noindex | Запретить индексацию, оставить доступной | Нужна страница для пользователей, но не для поиска | URL всё ещё обходится роботом |
| Удаление из sitemap | Убрать URL из карты сайта | Страница больше не должна считаться важной | Само по себе не удаляет URL из индекса |
Если страница реально замещена новой — ставьте 301. Если это удалённый материал без замены — лучше 410. Если страница нужна для входа, фильтрации внутри кабинета или внутренней логики, но не должна индексироваться — используйте noindex, но не забывайте убрать её из sitemap.
Пошаговое решение в WordPress
Шаг 1. Уберите URL из XML-карты сайта
Если вы используете SEO-плагин, сначала проверьте настройки sitemap. Частая ошибка — страница уже закрыта в noindex, но продолжает попадать в карту сайта. Для поисковика это противоречивый сигнал.
В Yoast SEO и Rank Math можно исключать типы записей, таксономии и отдельные записи из sitemap через настройки плагина. Если нужна точечная правка без плагина, можно исключить конкретный пост из карты сайта через фильтр WordPress, но это уже зависит от SEO-плагина и его API.
Практически полезнее сначала проверить, не тянется ли URL в sitemap из-за старого типа записи, тега или категории. Иногда проблема не в самой записи, а в архиве, который продолжает генерировать список удалённых материалов.
Шаг 2. Настройте редирект или статус удаления
Если у удалённой страницы есть очевидная замена, делайте 301. Если замены нет — отдавайте 410. Для этого не нужно городить сложную логику в теме: лучше использовать серверные правила или надёжный плагин редиректов. Но если задача точечная и понятная, можно сделать это кодом.
<?php
add_action('template_redirect', function () {
if (!is_404()) {
return;
}
$request_uri = $_SERVER['REQUEST_URI'] ?? '';
// Пример: старый URL статьи переехал на новый адрес.
if ($request_uri === '/old-article/') {
wp_redirect(home_url('/new-article/'), 301);
exit;
}
// Пример: окончательно удалённая страница.
if ($request_uri === '/deleted-page/') {
status_header(410);
nocache_headers();
exit;
}
});Этот подход годится только для простых и понятных случаев. Если редиректов много, лучше вести их в одном месте: через сервер, плагин редиректов или отдельную таблицу соответствий. Иначе код в теме быстро превращается в свалку.
Шаг 3. Закройте от индексации страницы, которые должны жить для пользователей
Иногда удалять страницу нельзя: например, это техническая страница, служебный шаблон или контент, который должен открываться по прямой ссылке, но не участвовать в поиске. В таком случае нужен noindex в <head>.
<?php
add_action('wp_head', function () {
if (is_page('thank-you') || is_page('account')) {
echo '<meta name="robots" content="noindex,follow" />' . "\n";
}
});Важно: noindex не заменяет редирект и не удаляет URL из sitemap. Если страница уже не нужна, лучше сначала убрать её из карты сайта, а потом решить, нужен ли noindex или 410.
Шаг 4. Проверьте внутренние ссылки
Даже идеальный редирект не спасает, если на удалённый URL продолжают ссылаться меню, блоки, виджеты и старые статьи. Поисковик будет регулярно находить этот адрес снова.
- обновите меню и хлебные крошки;
- проверьте блоки «похожие записи» и ручные ссылки в контенте;
- замените ссылки в шаблонах темы, если URL зашит в код;
- уберите старые адреса из XML-карты сайта;
- проверьте, нет ли ссылок в RSS, JSON-LD и микроразметке.
Как проверить, что решение сработало
Проверка должна быть не визуальной, а технической. Откройте URL и посмотрите код ответа. Для удалённой страницы должен быть 410 или корректный 301 на новый адрес. Для страницы с noindex в HTML должен быть виден мета-тег robots.
Если есть доступ к консоли, можно проверить заголовки так:
curl -I https://example.com/deleted-page/Что должно быть видно:
- для редиректа — статус
301и заголовокLocation; - для удалённой страницы —
410 Gone; - для страницы с
noindex— мета-тег в HTML-ответе; - в sitemap — отсутствие удалённого URL;
- в Search Console — постепенное снижение числа таких адресов в отчётах об индексировании.
Если URL всё ещё в индексе, это не всегда ошибка. Поисковику нужно время, чтобы переобойти страницу и обновить состояние. Но если через несколько обходов он продолжает видеть старый адрес как рабочий, значит где-то осталась ссылка, редирект или конфликтующий сигнал.
Частые ошибки и как их исправить
Оставили страницу в sitemap, но закрыли через noindex
Это одна из самых распространённых проблем. Поисковик получает сигнал: «страница важная, но не индексируй её». Такое противоречие обычно замедляет удаление URL из выдачи. Решение простое: сначала убрать из sitemap, потом оставить noindex только если страница действительно нужна пользователю.
Ставят 301 на нерелевантную страницу
Редирект на главную или на случайную категорию выглядит как быстрый способ «спасти» URL, но для поисковика это часто слабый сигнал. Если замены нет, лучше 410. Если замена есть — ведите на максимально близкий по смыслу адрес.
Путают 404 и 410
404 Not Found говорит, что страница не найдена сейчас. 410 Gone — что она удалена намеренно. Для окончательно удалённых материалов 410 обычно чище, потому что быстрее снимает вопрос о существовании страницы.
Отключают индексацию только в robots.txt
Запрет в robots.txt не удаляет URL из индекса, если он уже известен поисковику. Более того, если страница уже в выдаче, робот может продолжать показывать её без содержимого. Для удаления из индекса нужен либо noindex, либо корректный статус ответа, либо редирект.
Что делать, если старых URL много
Когда удалённых страниц десятки или сотни, ручная правка быстро ломается. В этом случае лучше собрать список URL из Search Console, логов сервера и sitemap, а затем разнести их по категориям: редирект, 410, noindex, оставить как есть. Это уже не задача одной записи, а нормальная техническая чистка сайта.
Если нужен более системный подход к SEO-чистке WordPress, удобно использовать инструменты, которые умеют управлять дублями, архивами, служебными страницами и базовыми SEO-настройками без ручной правки шаблонов. Например, Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wpscan.ru&utm_medium=article&utm_campaign=zakryt-ot-indeksacii-starye-udalennye-stranicy-wordpress
Практический чек-лист перед публикацией правок
- проверили, нужен ли 301, 410 или noindex;
- убрали URL из XML-карты сайта;
- обновили внутренние ссылки;
- проверили код ответа через
curl -Iили DevTools; - убедились, что на странице нет конфликтующих сигналов;
- после правок отправили на переобход только те URL, которые действительно важны.
Если делать это последовательно, старые и удалённые страницы перестают мешать индексации, а поисковик быстрее переходит на актуальные URL. В WordPress здесь важна не одна кнопка, а согласованность: статус ответа, sitemap, внутренние ссылки и мета-robots должны говорить одно и то же.