Зачем закрывать служебные страницы от индексации
На каждом сайте есть страницы, которые нужны для работы, но не должны попадать в поисковую выдачу: корзина, страница авторизации, результаты внутреннего поиска, страницы тегов, архивы по авторам, технические страницы плагинов. Если эти страницы проиндексированы, они создают сразу несколько проблем.
Первая — размывание краулингового бюджета. Робот тратит ресурсы на обход страниц, которые не несут поисковой ценности. Вместо того чтобы сканировать новые товары или обновлённые статьи, он обходит пустую корзину и страницу «Вы успешно вышли из системы». На небольших сайтах это некритично, но на сайтах с тысячами страниц разница ощутима.
Вторая — дублирование контента. Страницы результатов внутреннего поиска генерируются динамически и создают бесконечное количество URL: ?s=seo, ?s=seo+audit, ?s=продвижение — каждый запрос создаёт отдельную страницу. Если робот начнёт их индексировать, в поиске появятся сотни мусорных страниц с тонким контентом.
Третья — ухудшение поведенческих метрик. Пользователь, который из поиска попадает на страницу авторизации или пустую корзину, мгновенно уходит. Это увеличивает показатель отказов и ухудшает общую оценку качества сайта.
Закрытие служебных страниц от индексации — базовая задача техаудита, которую я включаю в каждый проект без исключения.
Пошаговая инструкция
Шаг 1. Составьте список страниц для закрытия
Прежде чем что-то закрывать, нужно понять, что именно индексируется. Проверьте:
В Яндекс Вебмастере: «Индексирование» → «Страницы в поиске». Экспортируйте полный список проиндексированных URL. Отфильтруйте служебные.
В Google Search Console (ограничен в РФ с 2022 года, но консоль работает): «Страницы» → фильтр «Проиндексированные». Экспортируйте и сравните с данными Яндекса.
Через оператор site: введите в поиске site:vash-sajt.ru и изучите результаты. Обратите внимание на мусорные страницы, которых не должно быть в выдаче.
Типовой список страниц для закрытия на WordPress:
- Корзина:
/cart/,/korzina/ - Оформление заказа:
/checkout/ - Личный кабинет:
/my-account/ - Страница авторизации:
/wp-login.php - Результаты поиска:
/?s= - Архивы по авторам:
/author/admin/ - Архивы по тегам (если теги дублируют категории):
/tag/ - Архивы по датам:
/2025/04/ - Страницы вложений (attachment): WordPress создаёт отдельную страницу для каждого загруженного изображения
- Технические страницы плагинов:
/wp-json/, страницы форм, страницы «Спасибо за заказ» - Страницы пагинации с тонким контентом
- Feed-ленты:
/feed/,/comments/feed/
Шаг 2. Разберитесь с инструментами: robots.txt vs meta robots vs HTTP-заголовок
Есть три основных способа закрыть страницу от индексации. Каждый работает по-своему, и путать их нельзя.
Robots.txt (Disallow):
- Запрещает роботу сканировать URL. Робот не загрузит страницу.
- Но! Если на страницу ведут внешние ссылки, поисковик может проиндексировать URL без содержимого — покажет его в выдаче с пустым описанием.
- Robots.txt не гарантирует деиндексацию. Это запрет на обход, а не на индексацию.
- Используйте для: блокировки технических директорий (
/wp-admin/), параметризованных URL, API-эндпоинтов.
Meta robots (noindex):
- Тег
<meta name="robots" content="noindex">в<head>страницы. - Робот должен просканировать страницу, чтобы увидеть этот тег. Поэтому страница не должна быть закрыта в robots.txt.
- Гарантирует деиндексацию: робот видит тег, убирает страницу из выдачи.
- Используйте для: служебных страниц, архивов, тегов, страниц поиска — всего, что не должно попадать в выдачу.
X-Robots-Tag (HTTP-заголовок):
- Аналог meta robots, но передаётся через HTTP-заголовок. Работает для любых типов файлов: PDF, изображения, JSON.
- Используйте для: файлов, которые не содержат HTML (PDF-прайсы, внутренние документы).
Важное правило: если хотите деиндексировать страницу, используйте meta robots noindex. Не закрывайте эту же страницу в robots.txt — иначе робот не увидит мета-тег и не уберёт её из индекса. Это самая частая ошибка, которую я встречаю на аудитах.
Шаг 3. Настройте noindex через Yoast SEO
Если на сайте установлен Yoast SEO (или Rank Math, All in One SEO), настройка noindex делается через интерфейс плагина без правки кода.
Глобальные настройки в Yoast SEO:
- Перейдите в «SEO» → «Вид в поисковых системах» (Search Appearance).
- Типы содержимого: для каждого типа записей выберите, показывать ли его в поиске. Если тип «Вложения» (Media/Attachments) — отключите показ в результатах поиска.
- Таксономии: для тегов (Tags) — выключите «Показывать теги в результатах поиска», если теги дублируют категории или не несут уникального контента. Категории обычно стоит оставить индексируемыми.
- Архивы: отключите индексацию архивов по авторам (если автор один — вы получаете дубль главной или блога). Архивы по датам — тоже отключите.
Настройки для отдельных страниц:
- Откройте страницу (корзина, оформление заказа, личный кабинет) в редакторе WordPress.
- Прокрутите до блока Yoast SEO → вкладка «Дополнительно» (Advanced).
- В поле «Разрешить поисковым системам показывать эту страницу?» выберите «Нет».
- Обновите страницу. Yoast добавит тег
<meta name="robots" content="noindex, follow">.
Шаг 4. Настройте robots.txt
Robots.txt дополняет meta robots, но не заменяет его. В файле robots.txt закройте технические директории:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-json/
Disallow: /cgi-bin/
Disallow: /?s=
Disallow: /search/
Disallow: /*?add-to-cart=*
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://vash-sajt.ru/sitemap_index.xml
Обратите внимание на строку Allow: /wp-admin/admin-ajax.php — AJAX-обработчик WordPress используется многими плагинами на фронтенде, его нельзя закрывать.
Файл robots.txt размещается в корне сайта. В WordPress его можно редактировать через Yoast SEO: «SEO» → «Инструменты» → «Редактор файлов» → robots.txt. Или вручную — файл находится в корневой директории сайта.
Шаг 5. Закройте страницы результатов поиска
Внутренний поиск — особый случай. URL вида /?s=ключевое+слово создают бесконечное количество страниц. Закройте их двумя способами одновременно:
- В robots.txt:
Disallow: /?s=— робот не будет сканировать эти URL. - В шаблоне search.php: добавьте meta noindex. В WordPress это можно сделать через functions.php:
add_action('wp_head', function() {
if (is_search()) {
echo '<meta name="robots" content="noindex, follow">';
}
});
Yoast SEO по умолчанию добавляет noindex на страницы поиска. Проверьте, что эта настройка активна.
Шаг 6. Обработайте страницы вложений (attachment)
WordPress создаёт отдельную страницу для каждого загруженного медиафайла. Если вы загрузили 500 изображений — появилось 500 страниц-вложений, каждая с одной картинкой и минимумом текста. Это мусор для индекса.
В Yoast SEO начиная с версии 14.0 страницы вложений автоматически редиректятся на родительскую запись (или на главную, если родителя нет). Убедитесь, что эта функция включена: «SEO» → «Вид в поисковых системах» → «Медиа» → «Перенаправлять URL вложений на URL самого вложения» — «Да».
Если Yoast не используется, добавьте в functions.php редирект attachment-страниц:
add_action('template_redirect', function() {
if (is_attachment()) {
global $post;
if ($post && $post->post_parent) {
wp_redirect(get_permalink($post->post_parent), 301);
} else {
wp_redirect(home_url(), 301);
}
exit;
}
});
Шаг 7. Проверьте результат
После всех настроек нужно убедиться, что закрытие работает. Проверяйте:
- Meta-тег noindex: откройте служебную страницу, просмотрите HTML-код (Ctrl+U в браузере), найдите
<meta name="robots". Должно бытьnoindex. - Robots.txt: откройте
site.ru/robots.txtи убедитесь, что правила на месте. - Screaming Frog: просканируйте сайт, перейдите на вкладку «Directives» → фильтр «Noindex». Здесь отобразятся все страницы с noindex. Убедитесь, что в этом списке только служебные страницы, а не важные разделы.
- Яндекс Вебмастер: через 1-2 недели проверьте «Индексирование» → «Страницы в поиске». Служебные страницы должны исчезнуть из индекса или переместиться в «Исключённые».
Типичные ошибки
- Закрывать в robots.txt страницы, которые нужно деиндексировать. Robots.txt запрещает сканирование, но не гарантирует деиндексацию. Если страница уже в индексе и вы закроете её в robots.txt, робот не сможет увидеть meta noindex — и страница останется в выдаче. Для деиндексации используйте meta robots noindex, а robots.txt — только как дополнительный барьер.
- Закрывать от индексации страницы категорий. Категории — это навигационные страницы, которые важны для SEO. Они агрегируют контент, содержат ключевые слова и участвуют в ранжировании. Закрывайте теги (если дублируют категории), но не сами категории.
- Ставить noindex на страницы с ценным контентом по ошибке. Я встречал сайты, где noindex стоял на всех страницах каталога из-за неправильной настройки Yoast. Всегда проверяйте Screaming Frog: фильтр Noindex должен показывать только служебные URL.
- Забывать про feed-ленты. WordPress генерирует RSS-ленты:
/feed/,/category/name/feed/,/comments/feed/. Их десятки. Если они индексируются, поисковик видит дубли основного контента. Закройте все feed в robots.txt:Disallow: /feed/иDisallow: */feed/. - Оставлять архивы по датам открытыми. Архивы
/2025/04/— это списки записей за месяц. Они полностью дублируют основной блог или категории. Отключите их в Yoast: «Архивы» → «Архивы по датам» → не показывать в поиске. - Не закрывать параметризованные URL. URL с GET-параметрами (
?sort=price,?filter=new,?page=3) создают десятки дублей одной страницы. В Яндекс Вебмастере настройте параметры URL: «Индексирование» → «Параметры URL» — укажите, какие параметры не влияют на содержимое. - Использовать noindex, nofollow вместо noindex, follow. Директива
nofollowв meta robots запрещает роботу переходить по ссылкам на странице. Если на закрытой странице есть ссылки на важные разделы — вы теряете ссылочный вес. Используйтеnoindex, follow: страница не индексируется, но ссылки с неё работают.
Что проверить в итоге
- Файл robots.txt содержит правила для блокировки технических директорий:
/wp-admin/,/wp-includes/,/?s=,/cart/,/checkout/,/my-account/. - Строка
Allow: /wp-admin/admin-ajax.phpприсутствует — AJAX не заблокирован. - Служебные страницы (корзина, личный кабинет, оформление заказа) содержат meta-тег
noindex, follow. - Архивы по тегам (если дублируют категории), авторам и датам помечены noindex в настройках Yoast SEO.
- Страницы вложений (attachment) редиректятся 301 на родительскую запись или главную.
- Страницы результатов внутреннего поиска содержат noindex.
- Feed-ленты (
/feed/,*/feed/) закрыты в robots.txt. - В Screaming Frog фильтр «Noindex» показывает только служебные страницы, ни одна коммерчески важная страница не помечена noindex по ошибке.
- В Яндекс Вебмастере настроены параметры URL — параметры сортировки и фильтрации не создают дубли.
- В индексе Яндекса (оператор
site:) нет мусорных страниц: пустых корзин, результатов поиска, attachment-страниц.