Если в Search Console всплывают странные URL, а в индексе оказываются архивы, служебные страницы и параметры фильтров, проблема часто не в «плохом SEO», а в базовой настройке robots.txt и карты сайта. В WordPress эти два файла легко оставить на автопилоте, а потом долго разбирать дубли и мусорные страницы.
Ниже — рабочий сценарий: что проверить сначала, как настроить robots.txt и sitemap без лишней магии, и как убедиться, что поисковик видит именно то, что вы хотите.
Когда проблема действительно в robots.txt и sitemap
Сначала стоит отделить техническую ошибку от обычной задержки индексации. Если сайт уже давно открыт, а в поиске появляются:
- архивы по датам, авторам и тегам, которые не нужны в выдаче;
- страницы с параметрами
?replytocom=,?utm_,?ampи похожими хвостами; - дубли главной, категорий или записей с разными адресами;
- URL из служебных разделов, которые вообще не должны попадать в sitemap;
тогда имеет смысл проверить именно карту сайта и правила обхода. Но если страницы не индексируются из-за noindex, каноникала, редиректа или ошибки ответа сервера, один robots.txt это не исправит.
Что смотреть в первую очередь
Откройте в браузере:
/robots.txt;/sitemap.xmlили индекс карты сайта, если он есть;- несколько URL из Search Console, которые вызывают вопросы.
Если robots.txt закрывает важные разделы, а sitemap содержит мусорные URL, вы получите не ускорение индексации, а хаос: поисковик видит карту, но не может нормально обойти часть страниц, либо наоборот — обходит лишнее.
Какой подход выбрать: плагин, код или ручная правка
В WordPress есть три практичных варианта. Выбор зависит от того, насколько у вас сложная структура сайта и кто потом будет это поддерживать.
| Подход | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| SEO-плагин | Нужны понятные настройки без кода | Удобно управлять индексируемыми типами контента | Легко получить дубли, если включено несколько SEO-модулей |
| Код в теме или мини-плагине | Нужен точный контроль над sitemap и robots | Прозрачно, без лишних зависимостей | Требует аккуратной поддержки при обновлениях |
| Ручная правка файлов | Очень простой сайт | Быстро | Легко сломать при следующем изменении, хуже для поддержки |
Если у вас уже стоит SEO-плагин, сначала проверьте, не генерирует ли он собственную карту сайта и не конфликтует ли с другим решением. Два sitemap-генератора на одном сайте — частая причина дублей.
Пошаговая настройка robots.txt в WordPress
WordPress может отдавать виртуальный robots.txt без физического файла в корне. Это удобно, пока вы не пытаетесь править его через FTP и не понимаете, почему изменения не видны. Если нужен контроль, лучше создать физический файл в корне сайта или управлять выводом через код.
Базовый вариант robots.txt
Для большинства сайтов достаточно такого шаблона:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Sitemap: https://example.com/sitemap_index.xmlЗдесь нет попытки закрыть весь /wp-content/ или изображения. Это типичная ошибка: поисковику нужны медиафайлы, а закрытие папок целиком часто приносит больше вреда, чем пользы.
Что можно закрыть, а что лучше не трогать
Обычно имеет смысл закрывать только служебные и бесполезные для индексации URL:
/wp-admin/— административная часть;/wp-login.php— форма входа;- служебные параметры, если они массово плодят дубли;
- внутренние поисковые страницы, если они создают шум.
Не стоит закрывать в robots.txt страницы только потому, что вы не хотите видеть их в поиске. Если URL уже проиндексирован, запрет в robots не удалит его из индекса мгновенно. Для удаления нужен noindex или корректная каноникализация, а затем переобход.
Как настроить XML sitemap без мусорных URL
Карта сайта должна содержать только те URL, которые вы реально хотите отдать поисковику. Если в ней есть черновики, вложения, архивы авторов без смысла или пустые таксономии, это не помогает, а мешает.
Если sitemap генерирует WordPress
Начиная с WordPress 5.5, есть встроенные XML sitemaps. Но на практике их часто заменяют SEO-плагины, и тогда важно не смешать два источника. Проверьте, какой именно sitemap открыт по адресу /sitemap.xml или /sitemap_index.xml.
Если вы хотите убрать из карты сайта, например, вложения или отдельные типы записей, удобнее делать это через фильтры. Пример для мини-плагина или functions.php:
<?php
add_filter( 'wp_sitemaps_post_types', function( $post_types ) {
unset( $post_types['attachment'] );
return $post_types;
} );
add_filter( 'wp_sitemaps_taxonomies', function( $taxonomies ) {
unset( $taxonomies['post_tag'] );
return $taxonomies;
} );Это не универсальная инструкция «убрать теги навсегда». Если теги у вас реально дают трафик и хорошо структурируют контент, их не нужно отключать только ради чистоты отчёта.
Если sitemap делает SEO-плагин
Тогда логика простая: оставляете один источник карты сайта и отключаете лишнее в настройках плагина. Обычно нужно проверить:
- включён ли sitemap вообще;
- какие типы записей попадают в карту;
- не дублируется ли карта через встроенный механизм WordPress;
- не добавлены ли в sitemap страницы, которые закрыты
noindex.
Если у вас стоит Clearfy Pro, его удобно использовать как инструмент для удаления дублей и технической чистки сайта, но принцип тот же: не держать одновременно несколько решений, которые генерируют одну и ту же карту.
Диагностика: как понять, что именно ломает индексацию
Перед изменениями полезно зафиксировать исходное состояние. Это экономит время, когда через неделю нужно понять, что именно помогло.
- Проверьте, открывается ли
/robots.txtбез редиректов и 404. - Убедитесь, что в sitemap нет URL с
noindex. - Посмотрите, не дублируется ли карта сайта у SEO-плагина и ядра WordPress.
- Проверьте, не закрыт ли важный раздел в
robots.txtслучайно. - Сравните URL в sitemap с фактическими каноническими адресами страниц.
Если хотите быстро проверить ответ сервера, используйте:
curl -I https://example.com/robots.txt
curl -I https://example.com/sitemap_index.xmlВ ответе важно увидеть 200 OK, а не цепочку редиректов, 403 или 404. Для sitemap ещё полезно проверить, что отдается XML, а не HTML-страница ошибки.
Проверка результата после внедрения
После правок не нужно ждать «пока Google сам всё поймёт». Есть несколько проверок, которые можно сделать сразу.
Что проверить вручную
robots.txtоткрывается и содержит только нужные директивы;- в sitemap есть только индексируемые URL;
- страницы, которые вы хотите скрыть, не попадают в карту;
- в Search Console нет резкого роста ошибок сканирования по служебным адресам.
Что проверить в Search Console
Откройте отчёт по страницам и посмотрите, какие URL исключены и почему. Если после правок в отчёте остаются старые адреса, это нормально: поисковику нужно время на переобход. Но если новые мусорные URL продолжают появляться, значит источник дублей не устранён.
Хороший признак — когда в sitemap остаются только канонические страницы, а в отчётах по сканированию исчезают служебные и параметрические адреса.
Частые ошибки и как их исправить
Закрыли слишком много в robots.txt
Самая неприятная ошибка — запретить доступ к CSS, JS, изображениям или важным разделам темы. Внешне сайт может работать, но поисковик увидит его иначе, а это влияет и на индексацию, и на оценку страницы.
Исправление простое: уберите лишние Disallow, оставьте только служебные пути и проверьте, что основные страницы доступны для обхода.
Оставили два sitemap-генератора
Например, встроенный sitemap WordPress и sitemap SEO-плагина работают одновременно. В результате поисковик получает два набора карт, иногда с разной структурой и разными URL. Оставьте один источник.
Добавили в sitemap страницы с noindex
Это частая несостыковка между настройками плагина и реальным выводом страниц. Если URL закрыт от индексации, но продолжает попадать в карту, поисковик получает противоречивый сигнал. Уберите такие страницы из sitemap на уровне настроек или фильтра.
Пытаются удалить URL только через robots.txt
Если страница уже в индексе, запрет обхода не решает задачу удаления. Для этого нужно либо вернуть noindex, либо отдать 404/410, либо настроить корректный редирект на релевантную страницу.
Практические советы по безопасности и производительности
Не храните критичную логику в случайно правимом functions.php, если сайт поддерживает несколько человек. Для таких задач лучше мини-плагин: он переживёт смену темы и не потеряется после обновления.
Если сайт большой, не пытайтесь вручную перечислять десятки исключений в robots.txt. Лучше сначала убрать источник дублей на уровне шаблонов, таксономий и SEO-настроек, а потом уже точечно закрыть остатки.
И ещё один практический момент: после изменения sitemap не забывайте очистить кеш, если он есть на уровне плагина, сервера или CDN. Иначе вы будете проверять старую версию файла и думать, что правка не сработала.
Если нужен более широкий контроль над дублями, технической чисткой и SEO-настройками WordPress, имеет смысл смотреть в сторону инструментов, которые умеют управлять служебными страницами и индексируемостью централизованно. Но даже с плагином базовая логика не меняется: один sitemap, понятный robots, никаких лишних URL в индексе.