Если в индексе уже появились страницы поиска, вложений или результаты фильтров, их лучше закрыть как можно раньше. Такие URL обычно не дают трафика, дублируют контент или создают мусорные страницы, которые поисковик тратит на обход вместо полезных материалов. В WordPress это решается не одним способом: часть URL удобнее закрывать на уровне шаблона, часть — через SEO-плагин, а часть вообще лучше не отдавать в индекс с помощью заголовка или мета-тега.
Ниже — практический разбор именно для типовых служебных страниц WordPress: внутренний поиск, страницы вложений и страницы с результатами фильтров. Я покажу, что именно закрывать, как это сделать и как проверить, что поисковик больше не будет их индексировать.
Какие страницы WordPress обычно нужно закрыть
Служебные страницы отличаются тем, что они нужны пользователю или самому движку сайта, но почти никогда не должны ранжироваться в поиске. Для WordPress чаще всего это:
- страницы внутреннего поиска — URL вида
?s=запрос; - страницы вложений — отдельные страницы медиафайлов, которые WordPress может создавать автоматически;
- результаты фильтров — URL с параметрами сортировки, отбора, пагинации фильтров и фасетной навигации;
- служебные параметры в URL, если они не создают уникальную полезную страницу.
Логика простая: если страница не несёт самостоятельной ценности и появляется только как технический результат действия пользователя или фильтра, ей не место в индексе. Но закрывать нужно аккуратно: не путайте служебные URL с важными посадочными страницами, которые тоже могут содержать параметры. Например, не каждый URL с параметром надо запрещать — иногда это нормальная страница каталога с сортировкой, и тогда лучше использовать канонический адрес, а не полный запрет.
Как закрыть страницы поиска WordPress
Внутренний поиск сайта почти всегда стоит исключить из индекса. Такие страницы обычно содержат тонкий контент, быстро меняются и создают бесконечное число вариантов URL под разные запросы.
Самый надёжный вариант — отдавать для страниц поиска мета-тег noindex и при необходимости nofollow. В WordPress это проще всего сделать через SEO-плагин, если он умеет управлять индексированием архивов и служебных страниц. Если плагина нет или вы хотите точечное решение, можно добавить правило в тему или в мини-плагин.
Для WordPress есть встроенный фильтр wp_robots, который позволяет изменить robots-правила для конкретной страницы. Для поиска это выглядит так:
add_filter( 'wp_robots', function( $robots ) {
if ( is_search() ) {
$robots['noindex'] = true;
$robots['nofollow'] = true;
}
return $robots;
} );Этот код лучше добавлять не в файлы ядра, а в functions.php дочерней темы или в собственный мини-плагин. Если тема обновляется часто, мини-плагин безопаснее: правило не исчезнет после обновления.
После добавления проверьте исходный код страницы поиска. В HTML должен появиться robots-тег с noindex. Если используете SEO-плагин, убедитесь, что он не переопределяет это правило своим собственным шаблоном.
Что делать со страницами вложений
Страницы вложений — частая причина мусора в индексе. WordPress может создавать отдельную страницу для изображения, PDF или другого файла. Если на такой странице нет уникального текста и она просто показывает медиафайл, индексировать её обычно бессмысленно.
Здесь есть два рабочих подхода.
1. Перенаправлять вложения на сам файл или родительскую запись
Это хороший вариант, если вам не нужны отдельные страницы вложений вообще. Тогда пользователь и поисковик не попадают на пустую служебную страницу, а сразу видят сам файл или материал, в котором он используется.
В WordPress это можно сделать через SEO-плагин или кодом. Если нужен именно код, обычно используют проверку типа записи attachment и редирект на URL файла или родительской записи. Но здесь важно не сломать сайт: перед редиректами проверьте, что ваши вложения не используются как полноценные страницы галерей или портфолио.
2. Оставить страницу, но закрыть её от индексации
Если по каким-то причинам редирект не подходит, ставьте noindex на страницы вложений. Для этого в WordPress есть условный тег is_attachment():
add_filter( 'wp_robots', function( $robots ) {
if ( is_attachment() ) {
$robots['noindex'] = true;
}
return $robots;
} );На практике чаще выбирают редирект, а не просто закрытие от индексации. Но если вложение должно открываться пользователю, например как отдельный PDF-документ, тогда редирект может быть лишним, и noindex будет безопаснее.
Как закрыть результаты фильтров и URL с параметрами
Фильтры в каталоге, блоге или архиве часто создают десятки и сотни URL с параметрами: сортировка, диапазон цен, цвет, размер, наличие, дата и так далее. Если такие страницы не несут самостоятельной ценности, их лучше не индексировать. Иначе поисковик быстро набирает огромный хвост дублей и почти дублей.
Здесь важно не действовать грубо. Не каждый URL с параметром надо закрывать полностью. Если параметр меняет только сортировку или порядок вывода, обычно достаточно канонической ссылки на основную страницу. Если же параметр создаёт отдельную комбинацию фильтров, которая не нужна в поиске, тогда уместен noindex.
Для типовых параметров можно ориентироваться на логику шаблона. Например, если фильтры живут в URL через $_GET, а страница не должна индексироваться при любом активном фильтре, можно добавить условие на наличие параметров:
add_filter( 'wp_robots', function( $robots ) {
if ( ! empty( $_GET ) ) {
$robots['noindex'] = true;
$robots['nofollow'] = true;
}
return $robots;
} );Но этот вариант слишком общий для реального проекта. Он может закрыть не только фильтры, но и полезные страницы с параметрами, например сортировку или UTM-метки. Поэтому в рабочем сайте лучше проверять конкретные параметры, которые создаёт именно ваш фильтр, а не ставить запрет на все URL с query string.
Более аккуратный подход — закрывать только те параметры, которые действительно порождают мусорные страницы. Например, если фильтр использует color, size и sort, можно отдельно решить, что sort не индексируется, а комбинации color и size — только при определённых условиях. Здесь уже нужно смотреть на структуру сайта и поведение каталога.
Что выбрать: noindex, robots.txt или редирект
Для служебных страниц WordPress эти способы решают разные задачи, и путать их не стоит.
| Способ | Когда подходит | Что важно знать |
|---|---|---|
noindex | Страница нужна пользователю, но не должна быть в поиске | Страница может оставаться доступной, но поисковик не должен её индексировать |
robots.txt | Нужно ограничить обход, а не саму индексацию | Не лучший способ для уже известных URL: поисковик может сохранить адрес в индексе без содержимого |
| Редирект | Страница не нужна вообще и есть понятная замена | Самый жёсткий вариант, но требует аккуратности, чтобы не сломать пользовательский сценарий |
Для поиска и страниц вложений чаще всего достаточно noindex или редиректа. Для фильтров обычно лучше сочетать канонический URL и точечный noindex на служебные комбинации. robots.txt полезен как дополнительная мера, но не как единственный способ убрать уже существующие страницы из индекса.
Как проверить, что закрытие сработало
После настройки не полагайтесь только на предположение, что всё работает. Проверьте три вещи.
- Исходный код страницы. На странице поиска, вложения или фильтра должен быть robots-тег с
noindex, если вы выбрали этот способ. - HTTP-ответ. Если вы настроили редирект для вложений, убедитесь, что URL действительно перенаправляет на нужную страницу, а не отдаёт 200 OK.
- Поведение в поиске. Уже проиндексированные URL не исчезают мгновенно. После изменения может пройти время, пока поисковик переобойдёт страницу и уберёт её из выдачи.
Если у вас подключена Google Search Console или Яндекс Вебмастер, отправьте на переобход несколько типовых URL и посмотрите, как они распознаются. Это особенно полезно для фильтров: по одному тестовому адресу легко понять, не закрыли ли вы лишнее.
Типичные ошибки, из-за которых служебные страницы остаются в индексе
Самая частая ошибка — закрыть URL в robots.txt и считать задачу решённой. Если страница уже известна поисковику, запрет на обход не всегда убирает её из индекса. Для удаления из выдачи нужен именно сигнал noindex или редирект на другой адрес.
Вторая ошибка — закрывать слишком много. Например, поставить noindex на все URL с параметрами и неожиданно убрать из поиска полезные страницы сортировки или посадочные страницы с фильтрами, которые реально собирают трафик. Перед массовым правилом проверьте, какие параметры используются на сайте и что именно они меняют.
Третья ошибка — забыть про страницы вложений. На небольших сайтах они часто не бросаются в глаза, но именно они потом всплывают в индексе как пустые страницы изображений.
Если у вас на сайте много дублей, служебных архивов и параметров, часть работы можно упростить с помощью SEO-плагина, который умеет управлять индексированием шаблонов и технических страниц. Но даже в этом случае полезно понимать, какие URL вы закрываете и почему: автоматическая настройка не заменяет проверку конкретных страниц.
Если нужно, начните с поиска, затем проверьте вложения и только после этого переходите к фильтрам. Такой порядок помогает быстро убрать самые очевидные мусорные URL и не задеть рабочие страницы сайта.