Если сайт на WordPress начинает плодить служебные URL, поисковик почти всегда первым делом видит не контент, а мусор: архивы авторов без смысла, страницы вложений, теги-пустышки, параметры сортировки, служебные страницы плагинов. В такой ситуации обычно мало просто «добавить сайт в Search Console». Нужно привести в порядок robots.txt и XML-карту сайта, а потом проверить, что WordPress действительно отдает поисковикам только нужные адреса.
Ниже — рабочий сценарий для обычного сайта на WordPress: что закрыть, что оставить в индексации, как не сломать карту сайта и как быстро убедиться, что изменения сработали.
Когда проблема уже есть: как понять, что robots.txt и sitemap настроены плохо
Диагностику удобно начинать не с файла, а с симптомов. Если в индексе появляются странные страницы, а в отчетах Search Console растет число «Просканировано, но не проиндексировано», обычно причина одна из трех: карта сайта содержит лишнее, robots.txt не ограничивает служебные разделы, либо в теме/плагинах есть дубли URL.
Что проверить в первую очередь
- Откройте
/robots.txtв браузере и посмотрите, не закрыт ли там случайно/wp-admin/вместе сadmin-ajax.phpили/wp-content/uploads/. - Проверьте
/sitemap.xmlили/wp-sitemap.xml: нет ли там архивов, которые вы не хотите индексировать. - Посмотрите, не отдаются ли страницы вложений как отдельные посадочные страницы без полезного текста.
- Проверьте, не индексируются ли теги и архивы авторов на небольшом сайте, где они не несут ценности.
Если вы используете SEO-плагин, он может генерировать собственную карту сайта и собственные правила для robots. Это нормально, но важно не смешать два источника правды: WordPress core sitemap и sitemap от плагина должны не конфликтовать между собой.
Что именно настраивать в WordPress: robots.txt, sitemap и индексацию архивов
В WordPress есть два уровня настройки. Первый — технический файл robots.txt, который подсказывает поисковым роботам, куда не ходить. Второй — сама логика индексации: какие типы страниц вообще должны попадать в sitemap и открываться для сканирования.
| Подход | Когда подходит | Плюс | Минус |
|---|---|---|---|
| Только кодом в теме/плагине | Нужны точечные правила без лишних зависимостей | Полный контроль | Нужно следить за обновлениями и тестировать вручную |
| SEO-плагин | Нужно быстро закрыть архивы, теги, медиа и карту сайта | Удобно для редактора | Легко получить дубли настроек, если параллельно править код |
| Гибрид: плагин + точечный код | Сайт уже работает, но есть нестандартные URL | Практичный баланс | Нужно понимать, кто именно генерирует sitemap и мета-robots |
Если сайт небольшой, обычно достаточно убрать из индексации архивы, которые не дают трафика, и оставить в sitemap только реальные материалы. Если сайт контентный и большой, лучше не закрывать все подряд: иногда архивы категорий работают как посадочные страницы и приносят переходы.
Пошаговое решение: как привести robots.txt и sitemap в порядок
Шаг 1. Настройте robots.txt без лишней магии
В WordPress не стоит пытаться физически редактировать файл на хостинге, если задача — просто отдать поисковикам корректный robots.txt. Проще и безопаснее использовать фильтр robots_txt. Так вы не зависите от того, перезапишет ли файл плагин кеша или SEO-модуль.
<?php
add_filter('robots_txt', function ($output, $public) {
$lines = [];
$lines[] = 'User-agent: *';
$lines[] = 'Disallow: /wp-admin/';
$lines[] = 'Allow: /wp-admin/admin-ajax.php';
$lines[] = 'Disallow: /?s=';
$lines[] = 'Disallow: /search/';
$lines[] = 'Disallow: /author/';
$lines[] = 'Disallow: /tag/';
$lines[] = 'Disallow: /attachment/';
$lines[] = '';
$lines[] = 'Sitemap: ' . home_url('/sitemap_index.xml');
return implode("\n", $lines);
}, 10, 2);Здесь есть важная оговорка: адрес /sitemap_index.xml подходит для SEO-плагинов, которые генерируют индекс карт сайта. Если у вас включена стандартная карта WordPress, адрес будет другим — обычно /wp-sitemap.xml. Не пишите оба варианта сразу, если реально используется только один.
Шаг 2. Уберите из sitemap то, что не должно индексироваться
Встроенная карта сайта WordPress не дает тонкой настройки по типам архивов и таксономиям. Если вам нужно убрать, например, теги или страницы вложений, удобнее сделать это через функции темы или собственного плагина. Для SEO-плагинов логика обычно настраивается в интерфейсе, и это даже лучше для редактора, но важно проверить итоговый список URL.
Если вы работаете без SEO-плагина и хотите исключить из sitemap медиа-вложения, можно отключить их тип записи для карты сайта:
<?php
add_filter('wp_sitemaps_post_types', function ($post_types) {
if (isset($post_types['attachment'])) {
unset($post_types['attachment']);
}
return $post_types;
});Для таксономий логика похожая: если теговые архивы не нужны, их лучше не тащить в карту сайта. Но не закрывайте их только через robots.txt, если они уже в индексе: поисковик может продолжать видеть URL как известный, но недоступный для обхода. В таких случаях нужен еще и корректный noindex на самих страницах.
Шаг 3. Закройте служебные страницы не robots.txt, а мета-роботами
Это частая ошибка: люди закрывают все в robots.txt и думают, что проблема решена. На практике поисковик может не увидеть страницу, но URL останется в индексе как «известный, но не просканированный». Для архивов и страниц, которые уже попали в выдачу, лучше отдавать noindex.
Пример для страниц автора и тегов, если они не нужны в поиске:
<?php
add_filter('wp_robots', function ($robots) {
if (is_author() || is_tag()) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Такой подход лучше, чем грубое закрытие в robots.txt, потому что поисковик может пройти по странице, увидеть мета-робот и корректно убрать ее из индекса.
Как проверить, что изменения действительно сработали
Проверка нужна не «на глаз», а по конкретным признакам. Иначе легко получить ситуацию, когда robots.txt обновился, а sitemap по-прежнему отдает старые URL из кеша или SEO-плагина.
- Откройте
/robots.txtв браузере и убедитесь, что там видны именно ваши правила, а не старый файл с хостинга. - Проверьте
/sitemap.xmlили/wp-sitemap.xmlи убедитесь, что в нем нет лишних типов записей. - В Search Console отправьте карту сайта заново и посмотрите, нет ли ошибок чтения.
- Откройте несколько страниц, которые должны быть закрыты, и проверьте исходный код на наличие
noindex. - Если используется кеш-плагин, очистите кеш после правок и проверьте страницу в режиме инкогнито.
Для быстрой локальной проверки можно посмотреть заголовки ответа и убедиться, что нужная страница действительно отдает HTML с мета-роботом, а не редиректится на канонический URL без вашего участия.
Частые ошибки и как их исправить
Закрыли слишком много в robots.txt
Если в Disallow попадает весь /wp-content/, поисковик перестает нормально обходить CSS, JS и изображения. Это может повлиять на рендеринг страницы и на то, как робот оценивает ее качество. Закрывать нужно точечно, а не по папке целиком.
Оставили в sitemap страницы, которые уже помечены noindex
Это создает противоречие: карта сайта говорит «индексируй», а страница — «не индексируй». В итоге поисковик тратит обход на лишние URL. Если архив закрыт, уберите его и из sitemap.
Используют одновременно несколько SEO-плагинов
Два плагина могут генерировать разные карты сайта или разные canonical-теги. Внешне сайт работает, но поисковик видит дубли. Если уже есть SEO-плагин, не добавляйте второй «для карты сайта» без необходимости.
Проверяют только robots.txt и забывают про каноникал
Если у страницы есть параметры сортировки, фильтры или UTM, robots.txt не решает проблему дублей полностью. В таких случаях нужен canonical на основную версию URL, иначе дубли будут продолжать копиться.
Практические советы по безопасности и производительности
robots.txt и sitemap — это не только про SEO. Нормально настроенный robots.txt уменьшает шум для ботов, а аккуратная карта сайта помогает быстрее находить важные страницы. Но не стоит использовать robots.txt как средство защиты. Он не скрывает данные, а лишь подсказывает роботам, куда не ходить.
Если у вас есть служебные разделы, которые не должны быть доступны вообще, ограничивайте их на уровне прав доступа, а не через robots.txt. Для кеша и производительности полезно помнить еще одну вещь: sitemap не должен генерироваться тяжелым запросом на каждом хите. Если сайт большой и карта сайта строится плагином, проверьте, не создает ли он лишнюю нагрузку на сервер в часы индексации.
На практике хороший рабочий набор выглядит так: служебные архивы закрыты через noindex, в robots.txt нет грубых запретов на ресурсы темы, в sitemap попадают только полезные URL, а после правок есть ручная проверка в Search Console и в исходном коде страниц.
Если вам нужен более широкий набор инструментов для чистки дублей и технической SEO-настройки, в экосистеме WPShop есть Clearfy Pro: он как раз закрывает типовые задачи по удалению дублей и чистке WordPress. Но даже с плагином важно понимать, какие URL вы скрываете и почему — иначе легко убрать из индекса то, что приносит трафик.