На живом WordPress-сайте проблема обычно не в одной «плохой» странице, а в наборе однотипных URL: старые архивы, страницы с параметрами, дубли категорий, версии с ?replytocom, вложения медиафайлов, тестовые публикации, которые уже удалили, но поисковик их еще помнит. Если просто поставить noindex на все подряд, можно случайно убрать из поиска полезные страницы. Если ничего не делать — индекс разрастается мусором, а в отчетах Search Console появляются дубли и «Просканировано, но не проиндексировано».
Ниже — рабочий сценарий: как понять, какие URL реально мешают, как убрать их из индекса аккуратно и как проверить, что вы не задели важные страницы.
Что именно нужно удалять из индекса, а что трогать нельзя
Сначала разделите URL на три группы. Это экономит время и снижает риск поломать SEO.
1. Технические и мусорные URL
Это страницы, которые не должны ранжироваться вообще: результаты внутреннего поиска, архивы с параметрами сортировки, страницы вложений без полезного контента, дубли с ?replytocom, служебные страницы плагинов, тестовые записи. Их можно закрывать от индексации или отдавать noindex в зависимости от сценария.
2. Дубли полезных страниц
Например, одна и та же статья доступна по нескольким адресам из-за неправильных канонических ссылок, пагинации, категорий или тегов. Здесь задача не просто «скрыть», а оставить в индексе один основной URL и убрать остальные.
3. Страницы, которые нужно удалить полностью
Если контент устарел, не нужен и не имеет замены, лучше отдавать 410 Gone или хотя бы 404, а не держать его в индексе через редирект на нерелевантную страницу. Редирект на главную — частая ошибка: поисковик видит несоответствие и может игнорировать сигнал.
Диагностика: как найти лишние URL в WordPress
Начинать лучше не с кода, а с проверки фактических адресов. Самый полезный источник — Google Search Console, разделы «Страницы» и «Проверка URL». Там видно, какие адреса уже в индексе, какие исключены и почему.
Дополнительно проверьте сайт вручную:
- поиск по
site:example.comв Google; - отчеты плагина SEO, если он показывает канонические URL и индексируемость;
- список медиа-вложений и архивов автора;
- URL с параметрами, которые генерирует тема или фильтры;
- старые записи и страницы, которые уже удалены, но на них есть внешние ссылки.
Если у вас есть доступ к серверным логам, полезно посмотреть, какие URL чаще всего сканирует бот. Иногда мусор в индексе поддерживается именно внутренними ссылками из темы или хлебных крошек.
Пошаговое решение: как убрать страницы из индекса без лишнего риска
Универсального способа нет, поэтому лучше выбирать действие по типу URL.
Шаг 1. Для удаленных страниц используйте 410, а не редирект на главную
Если страница удалена окончательно, отдайте 410 Gone. Это честный сигнал поисковику: адрес больше не существует и не должен возвращаться в индекс.
<?php
add_action('template_redirect', function () {
if (is_admin() || wp_doing_ajax()) {
return;
}
$path = trim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/');
// Пример: старый раздел /old-news/ больше не существует
if ($path === 'old-news') {
status_header(410);
nocache_headers();
exit;
}
});
Этот вариант подходит только для точечных случаев. Если удаленных URL много, лучше настроить правила на уровне сервера или использовать карту редиректов/удалений в плагине.
Шаг 2. Для дублей ставьте канонический URL
Если у страницы есть несколько версий, не прячьте все копии без разбора. Оставьте одну основную версию через rel=canonical. В WordPress это обычно делает SEO-плагин, но если у вас кастомная тема или конфликт, проверьте, что каноникал не ломается шаблонами.
Пример для своей логики в теме:
<?php
add_action('wp_head', function () {
if (!is_singular()) {
return;
}
$canonical = get_permalink();
echo '<link rel="canonical" href="' . esc_url($canonical) . '" />' . "\n";
}, 1);
Если SEO-плагин уже выводит canonical, не дублируйте его вручную. Два канонических тега — частая причина путаницы.
Шаг 3. Для архивов и служебных страниц используйте noindex, но не блокируйте сканирование без необходимости
Для страниц, которые должны быть доступны пользователю, но не нужны в поиске, обычно достаточно noindex, follow. Это относится к внутреннему поиску, страницам автора на небольшом сайте, архивам тегов без ценности, страницам пагинации в некоторых сценариях.
Пример добавления мета-тега для конкретного шаблона:
<?php
add_action('wp_head', function () {
if (is_search() || is_tag()) {
echo '<meta name="robots" content="noindex,follow" />' . "\n";
}
});
Если вы используете SEO-плагин, лучше настраивать это в его интерфейсе или фильтрах, а не дублировать мета-теги вручную.
Шаг 4. Уберите внутренние ссылки на мусорные URL
Поисковик часто держит в индексе то, что активно связано внутренними ссылками. Проверьте меню, хлебные крошки, блоки «похожие записи», виджеты и шаблоны архивов. Если ссылка ведет на устаревший URL, даже noindex не поможет быстро.
Практически это означает:
- заменить старые ссылки в контенте;
- убрать ссылки из шаблонов темы;
- проверить автогенерируемые блоки;
- обновить sitemap, чтобы в нем не было удаленных URL.
Сравнение подходов: что выбрать в конкретной ситуации
| Ситуация | Лучший вариант | Компромисс |
|---|---|---|
| Страница удалена навсегда | 410 Gone | 404, если 410 сложно внедрить |
| Есть дубль полезной страницы | canonical на основную версию | 301-редирект, если дубль не нужен пользователю |
| Архив или поиск не должны ранжироваться | noindex,follow | Закрытие через SEO-плагин |
| Мусорный параметр в URL | Нормализация URL и редирект | Игнорирование параметра в индексации |
Проверка результата после внедрения
После изменений не полагайтесь на ощущение «вроде стало лучше». Проверьте результат по шагам.
- Откройте URL в браузере и убедитесь, что он отдает нужный статус:
410,404,301или обычный200для страниц сnoindex. - Проверьте исходный код страницы: есть ли
meta robots, корректный лиcanonical. - В Search Console отправьте URL на повторную проверку через «Проверка URL».
- Посмотрите, исчез ли URL из sitemap.xml, если он удален.
- Через несколько дней проверьте отчет по страницам и убедитесь, что количество дублей и исключенных URL меняется в нужную сторону.
Для быстрой локальной проверки статуса удобно использовать:
curl -I https://example.com/old-news/
Если страница должна быть закрыта от индексации, но доступна пользователю, в ответе не должно быть X-Robots-Tag: noindex случайно на весь сайт, иначе вы закроете лишнее.
Частые ошибки и как их исправить
Редирект всех удаленных страниц на главную
Это плохая практика для SEO. Поисковик видит нерелевантную замену и может считать сигнал слабым. Для удаленного контента используйте 410 или тематически близкую замену, если она действительно есть.
Ставят noindex и одновременно блокируют URL в robots.txt
Если бот не может зайти на страницу, он не увидит noindex. В итоге URL может дольше висеть в индексе как «заблокированный robots.txt». Для удаления из индекса сначала дайте поисковику увидеть сигнал, потом уже при необходимости ограничивайте доступ.
Оставляют дубли в sitemap.xml
Если удаленная или каноническая версия все еще есть в карте сайта, вы сами подсказываете поисковику неправильный URL. После чистки обязательно пересоберите sitemap.
Дублируют canonical вручную и через плагин
Два canonical-тега или конфликт между темой и SEO-плагином часто ломают логику индексации. Проверьте исходник страницы и оставьте только один источник правды.
Закрывают от индексации полезные страницы по шаблону
Например, ставят noindex на все архивы, а потом теряют трафик на категорийные страницы, которые реально приводили пользователей. Сначала оцените, какие архивы дают переходы, и только потом принимайте решение.
Практические советы по безопасности и производительности
Чистка индекса почти всегда идет рядом с чисткой сайта. Если у вас много старых URL, проверьте и техническую часть:
- уберите неиспользуемые шаблоны и страницы из меню;
- очистите внутренние ссылки в контенте;
- обновите sitemap после удаления записей;
- не держите тяжелые редирект-цепочки;
- проверяйте, не создают ли плагины лишние архивы и параметры.
Если нужен более системный контроль дублей, архивов и технического мусора, имеет смысл смотреть в сторону инструментов, которые умеют работать с SEO-настройками и чисткой сайта на уровне WordPress, например Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже с плагином базовая логика остается той же: сначала диагностика, потом точечное действие, потом проверка статуса и индекса.
Если после внедрения изменений нужные страницы продолжают выпадать из поиска, проверьте не только мета-теги, но и серверные ответы, каноникалы, sitemap и внутренние ссылки. В WordPress именно комбинация этих факторов обычно решает, останется URL в индексе или нет.