Как запретить индексацию определённых страниц WordPress с помощью robots.txt и мета-тегов

Диагностика проблемы: почему нужно запретить индексацию отдельных страниц

Часто возникает задача исключить из индексации поисковыми системами определённые страницы сайта на WordPress. Это могут быть страницы с дублирующимся контентом, страницы конфиденциальной информации, страницы входа в админку, корзина WooCommerce, страница оформления заказа или любые другие, которые не должны появляться в поисковой выдаче.

Если такие страницы попадут в индекс, это негативно скажется на SEO, может привести к снижению позиции сайта и появлению дублей.

Как проверить, что страница индексируется

  • Выполните поиск в Google по запросу site:example.com адрес_страницы (замените example.com и адрес_страницы на свои значения). Если страница есть в выдаче, она индексируется.
  • Используйте инструменты Яндекс.Вебмастер и Google Search Console для анализа индексирования страниц.
  • Воспользуйтесь плагинами для WordPress, например, Yoast SEO, чтобы проверить, какие страницы разрешены к индексации.

Пошаговое решение: запрет индексации через robots.txt и мета-теги

1. Использование robots.txt для запрета индексации

Файл robots.txt — это первый инструмент для указания поисковым роботам, какие разделы сайта не сканировать.

Для редактирования robots.txt в WordPress можно использовать FTP или встроенный редактор в панели хостинга.

User-agent: *
Disallow: /wp-admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
Disallow: /private-page/

Данный пример запрещает индексацию административной части, страниц корзины, оформления заказа, личного кабинета и страницы с адресом /private-page/.

2. Использование мета-тега noindex для точечного контроля

robots.txt запрещает сканирование, но не гарантирует, что страницы не будут индексироваться, если есть внешние ссылки на них. Поэтому для точного запрета индексации используют мета-тег noindex внутри HTML-кода страницы.

Добавить мета-тег можно вручную в шаблонах темы или с помощью хуков WordPress.

Пример добавления мета-тега noindex на определённые страницы в functions.php вашей темы:

function wp0_add_noindex_meta_tag() {
    if (is_page(array('private-page', 'terms-and-conditions')) || is_cart() || is_checkout() || is_account_page()) {
        echo '<meta name="robots" content="noindex, nofollow">';
    }
}
add_action('wp_head', 'wp0_add_noindex_meta_tag');

Этот код добавит мета-тег noindex, nofollow на страницы с указанными slug, а также на стандартные страницы WooCommerce: корзина, оформление заказа, аккаунт.

3. Использование плагинов для управления индексацией

Если вы используете SEO-плагины типа Yoast SEO или Rank Math, там есть возможность настроить индексацию для страниц и типов записей через интерфейс без кода.

Однако, для более тонкого контроля, особенно в нестандартных случаях, код и robots.txt остаются незаменимыми.

Проверка результата после внедрения

  • Обновите robots.txt и очистите кэш сайта и браузера.
  • Откройте целевые страницы и проверьте в исходном коде наличие мета-тега noindex.
  • В Google Search Console воспользуйтесь инструментом проверки URL. Проверьте, что страница не индексируется (статус «Исключено» с причиной «Отсутствует в индексе из-за тега noindex» или «Запрещено для сканирования robots.txt»).
  • Подождите от нескольких дней до недель для обновления индекса в поисковых системах.

Частые ошибки и как их исправить

  • Ошибка: Добавили в robots.txt Disallow для важных страниц, но они всё равно индексируются.
    Причина: robots.txt запрещает сканирование, но не блокирует индексацию, если есть внешние ссылки.
    Решение: Используйте мета-тег noindex на этих страницах.
  • Ошибка: Мета-тег noindex не выводится на страницах.
    Причина: Условие в PHP-коде неправильно настроено или код не добавлен в functions.php.
    Решение: Проверьте slug страниц и правильность хуков; отладьте код с помощью error_log или var_dump.
  • Ошибка: После изменений страницы всё ещё появляются в поиске.
    Причина: Индекс обновляется с задержкой.
    Решение: Используйте инструменты Google Search Console для повторной отправки URL на переобход.

Практические советы по безопасности и производительности

  • Не запрещайте индексацию через robots.txt страницы с критически важным контентом, если хотите, чтобы они были найдены поисковиками.
  • Для страниц с конфиденциальной информацией лучше использовать авторизацию и запрет доступа, а не только запрет индексации.
  • Избегайте массового использования noindex без необходимости — это может привести к падению трафика.
  • Регулярно проверяйте файл robots.txt на наличие синтаксических ошибок через специальные онлайн-сервисы или инструменты Google Search Console.

Сравнение методов запрета индексации

МетодПреимуществаНедостаткиКогда использовать
robots.txtБыстрая настройка, блокирует сканированиеНе гарантирует запрет индексации, если есть ссылкиЗапрет доступа к разделам, например /wp-admin/
Мета-тег noindexТочный контроль индексации страницыСтраница должна быть доступна для сканированияИсключение отдельных страниц из индекса
SEO-плагины (Yoast, Rank Math)Удобный интерфейс, не требует кодаМогут быть избыточными или конфликтоватьДля массового или стандартного управления индексацией

Наш каталог плагинов WordPress