Старые страницы в WordPress часто остаются в индексе дольше, чем нужно: архивы авторов без контента, служебные страницы, дубли пагинации, тестовые записи, устаревшие посадочные. Если просто удалить их из меню, поисковик всё равно может продолжать их обходить и показывать в выдаче. Рабочее решение обычно состоит из двух частей: ограничить обход через robots.txt там, где это оправдано, и явно поставить noindex на конкретные типы страниц через meta robots.
Когда проблема действительно в индексации, а не в контенте
Сначала стоит понять, что именно происходит. Если страница уже в индексе, но вы хотите убрать её из поиска, одного запрета в robots.txt недостаточно: поисковик может перестать заходить на URL, но не обязан быстро удалить его из выдачи. Для удаления из индекса нужен сигнал noindex или корректный 410 Gone/404 Not Found для реально удалённых страниц.
Типичные сценарии
- Архивы тегов и авторов создают дубли и тонкие страницы.
- Страницы поиска по сайту индексируются и засоряют выдачу.
- Пагинация архивов даёт много слабых URL без ценности.
- Старые посадочные страницы больше не нужны, но на них ведут внутренние ссылки.
Диагностика: что закрывать, а что не трогать
Не стоит массово запрещать всё подряд. Ошибка здесь одна из самых дорогих: вы можете закрыть от обхода страницы, которые должны передавать вес или участвовать в навигации. Проверьте, какие URL реально создают проблему, и разделите их на две группы: страницы, которые нужно убрать из индекса, и страницы, которые нужно полностью исключить из обхода.
Что проверить в первую очередь
- Отчёт по индексированию в Google Search Console.
- Страницы с метатегом
noindex, которые всё ещё доступны по URL. - Архивы, теги, авторы, поиск и пагинацию.
- Наличие дублей с параметрами в URL.
Быстрая проверка через исходный код
Откройте проблемную страницу и посмотрите исходный HTML. Если там уже есть <meta name="robots" content="noindex,follow">, значит задача не в robots.txt, а в том, как тема или SEO-плагин формирует мета-тег. Если тега нет, а страница должна быть закрыта от индексации, добавляйте его на уровне шаблона или через хук.
Пошаговое решение: robots.txt для обхода, meta robots для индексации
Логика простая: robots.txt ограничивает обход, а meta robots управляет индексацией конкретной страницы. Для WordPress это удобнее делать точечно, а не редактировать шаблоны вручную в каждой теме.
Шаг 1. Добавьте правила в robots.txt
Если у вас есть служебные разделы, которые не должны тратить краулинговый бюджет, можно закрыть их от обхода. Но не запрещайте в robots.txt URL, которые уже должны быть удалены из индекса: поисковик может не увидеть сигнал noindex, если не сможет зайти на страницу.
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Disallow: /tag/
Этот пример не универсален. Например, закрывать /tag/ имеет смысл только если теги у вас не несут SEO-ценности и вы не хотите их обхода. Если теги нужны, лучше оставить их открытыми и управлять индексированием через noindex.
Шаг 2. Поставьте noindex на архивы и поиск через фильтр
Если вы не используете SEO-плагин или хотите точечно управлять мета-тегами, можно добавить фильтр в functions.php дочерней темы или в небольшой mu-plugin. Ниже пример для страниц поиска, архивов тегов и авторов.
<?php
add_filter('wp_robots', function (array $robots) {
if (is_search() || is_tag() || is_author()) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});
Фильтр wp_robots поддерживается в современных версиях WordPress и позволяет не лезть в <head> вручную. Для архивов, которые вы хотите оставить в выдаче, этот код не нужен.
Шаг 3. Для удалённых страниц отдавайте 410 или 404
Если страница больше не должна существовать, не маскируйте её под noindex вечно. Лучше удалить контент и вернуть корректный HTTP-статус. Для реально удалённых материалов чаще подходит 410 Gone, потому что он явно сообщает поисковику, что URL больше не будет восстановлен.
<?php
add_action('template_redirect', function () {
if (is_page('staryj-landing')) {
status_header(410);
nocache_headers();
include get_query_template('404');
exit;
}
});
Такой подход уместен только для конкретного URL или набора URL, которые действительно удалены. Не используйте его для страниц, которые ещё должны работать для пользователей.
Сравнение подходов: что выбрать в реальной задаче
| Подход | Когда подходит | Минус |
|---|---|---|
| robots.txt | Закрыть обход служебных разделов и мусорных URL | Не гарантирует удаление из индекса |
| meta robots noindex | Убрать страницу из поиска, сохранив доступ по URL | Нужно, чтобы поисковик мог зайти на страницу |
| 410 Gone / 404 | Полностью удалённые страницы | Нельзя применять к живым материалам |
Проверка результата после внедрения
После изменений не ограничивайтесь просмотром кода страницы. Нужно проверить и HTTP-ответ, и видимость для поисковика. Если вы закрыли URL в robots.txt, убедитесь, что это не мешает удалению старых страниц из индекса там, где нужен noindex.
Что проверить вручную
- Исходный код страницы: есть ли
noindex. - HTTP-статус:
200,404или410— в зависимости от сценария. - Файл
robots.txt: нет ли лишних запретов. - В Search Console: как страница отображается в отчёте по индексации.
Проверка через curl
Для технической проверки удобно смотреть заголовки ответа. Это помогает понять, не отдаёт ли сервер редирект вместо нужного статуса.
curl -I https://example.com/staryj-landing/
Если вы ожидаете 410 Gone, а видите 200 OK или цепочку редиректов, значит правило срабатывает не там, где нужно: возможно, его перехватывает кэш, плагин редиректов или шаблон темы.
Частые ошибки и как их исправить
Закрыли URL в robots.txt и ждёте удаления из индекса
Это самая распространённая ошибка. Если поисковик не может зайти на страницу, он может не увидеть noindex. Для уже проиндексированных URL сначала дайте сигнал через мета-тег или статус ответа, а потом ограничивайте обход.
Ставите noindex на все архивы без разбора
Иногда архивы категорий дают хороший трафик и помогают структуре сайта. Если закрыть их массово, можно потерять полезные посадочные. Сначала проверьте, какие архивы реально приносят переходы и имеют уникальный контент.
Редактируете robots.txt плагином и забываете о кэше
Если на сайте есть кэширование HTML или CDN, изменения могут не сразу попасть в ответ. После правок очистите кэш плагина, серверный кэш и, если нужно, кэш CDN.
Используете 404 вместо 410 для удалённых страниц
404 тоже допустим, но для окончательно удалённых URL 410 обычно понятнее. Главное — не возвращать 200 на страницу с сообщением «ничего не найдено», если URL уже удалён.
Практические советы по безопасности и производительности
Не открывайте доступ к чувствительным URL только ради индексации. Если раздел должен быть закрыт по безопасности, используйте авторизацию, серверные ограничения или отдельные правила доступа, а не только robots.txt. Файл robots.txt — это не механизм защиты, а лишь подсказка для роботов.
Если на сайте много мусорных URL, имеет смысл сначала убрать источник проблемы: лишние архивы, бесконечные параметры, дубли тегов, автоматические страницы поиска. В ряде случаев это проще сделать через настройки темы, фильтры WordPress или SEO-плагин, чем вручную поддерживать длинный robots.txt.
Для сайтов на Hueman и похожих темах полезно проверить, не создаёт ли тема отдельные архивы или блоки, которые потом попадают в индекс без ценности. Если нужно централизованно чистить дубли, служебные страницы и мета-данные, иногда удобнее использовать инструменты вроде Clearfy Pro, но только как средство управления настройками, а не как замену пониманию, что именно вы закрываете.
Мини-чек-лист перед публикацией правок
- Определили, какие URL нужно убрать из индекса, а какие — только из обхода.
- Проверили, что
noindexдобавлен на нужные шаблоны. - Убедились, что
robots.txtне блокирует страницы, которым нужен сигнал удаления. - Проверили HTTP-статусы через
curl -Iили DevTools. - Очистили кэш сайта и CDN после изменений.
Если задача не ограничивается одной страницей, а касается целого класса URL, лучше сначала составить список шаблонов: архивы, поиск, теги, авторы, параметры. Тогда правки будут предсказуемыми и не затронут полезные разделы сайта.