Как запретить индексацию учебных страниц в LearnPress

Если курс, уроки и тесты в LearnPress доступны только для авторизованных пользователей или продаются по подписке, их индексация часто не дает пользы. В поиске начинают всплывать страницы с тонким контентом, дубли архивов, служебные URL и страницы, которые не должны конкурировать с основными посадочными. Ниже — рабочая схема, как закрыть учебные страницы от индексации и при этом не сломать сайт.

Когда это действительно нужно

Не стоит закрывать от индексации весь LearnPress «на всякий случай». Решение уместно, если:

  • уроки доступны только после оплаты или входа;
  • страницы курса содержат мало уникального текста, а основная ценность — внутри кабинета;
  • в поиске уже появились дубли курсов, архивов или страниц с параметрами;
  • нужно убрать из индекса тесты, черновые материалы, внутренние страницы преподавателей;
  • сайт получает мусорный трафик на служебные URL, но не на коммерческие посадочные.

Если курс — это полноценная публичная статья с большим количеством полезного контента, закрывать его от индексации не всегда разумно. Тогда лучше точечно доработать мета-теги, каноникал и структуру архива.

Диагностика проблемы перед изменениями

Сначала проверьте, что именно индексируется. Частая ошибка — закрыть не те страницы и потом искать причину падения трафика. Откройте в Google Search Console отчеты по страницам и посмотрите, какие URL уже попали в индекс: курсы, уроки, викторины, архивы таксономий, страницы с параметрами.

Полезно отдельно проверить:

  • есть ли у учебных страниц мета noindex уже сейчас;
  • не отдает ли тема или SEO-плагин дублирующий <meta name="robots">;
  • не закрыты ли URL в robots.txt вместо корректного noindex;
  • не создаются ли дубли через архивы, пагинацию и фильтры;
  • не используются ли канонические ссылки на неправильные адреса.

Если страница уже в индексе, одного изменения в коде мало: поисковику нужно время, чтобы переобойти URL и увидеть новый сигнал.

Что лучше: плагин, код или настройка SEO-плагина

Для LearnPress обычно есть три рабочих подхода. Выбор зависит от того, насколько точечно нужно управлять индексацией.

ПодходКогда подходитПлюсОграничение
Настройка SEO-плагинаНужно закрыть типы записей и таксономии без кодаБыстро и удобноНе всегда есть тонкая логика по ролям и статусам
Код в теме или мини-плагинеНужно закрывать только LearnPress-страницы по условиямТочный контрольНужно аккуратно тестировать после обновлений
robots.txtНужно уменьшить обход мусорных URLПросто добавить правилаЭто не замена noindex для уже известных страниц

Пошаговое решение через код

Если нужен контроль именно на уровне WordPress, удобнее добавить фильтр в мини-плагин или в functions.php дочерней темы. Ниже пример, который закрывает от индексации страницы курсов, уроков и викторин LearnPress, если они относятся к нужным типам записей.

<?php
add_filter( 'wp_robots', function( array $robots ) {
	if ( is_singular( array( 'lp_course', 'lp_lesson', 'lp_quiz' ) ) ) {
		$robots['noindex'] = true;
		$robots['nofollow'] = true;
	}

	return $robots;
} );

Этот вариант работает на уровне стандартного API WordPress и не зависит от конкретного SEO-плагина. Но есть нюанс: если у вас уже подключен Yoast SEO, Rank Math или другой плагин, он может формировать robots-мета по-своему. Тогда нужно проверить, не конфликтуют ли правила.

Если нужно закрывать только часть контента, например уроки и тесты, но оставлять индексируемыми страницы курсов, разделите логику:

<?php
add_filter( 'wp_robots', function( array $robots ) {
	if ( is_singular( 'lp_lesson' ) || is_singular( 'lp_quiz' ) ) {
		$robots['noindex'] = true;
		$robots['nofollow'] = true;
	}

	return $robots;
} );

Если нужно закрыть архивы и таксономии

Иногда проблема не в самих курсах, а в архивных страницах категорий, тегов или авторов. Для них лучше использовать настройки SEO-плагина или отдельную логику в коде. Например, если архивы курсов не несут самостоятельной ценности, их можно закрыть так:

<?php
add_filter( 'wp_robots', function( array $robots ) {
	if ( is_post_type_archive( 'lp_course' ) || is_tax( array( 'course_category', 'course_tag' ) ) ) {
		$robots['noindex'] = true;
		$robots['nofollow'] = true;
	}

	return $robots;
} );

Названия таксономий у вас могут отличаться в зависимости от версии LearnPress и установленных дополнений. Перед применением проверьте реальные slug в админке или через register_taxonomy в коде темы/плагина.

Что добавить в robots.txt, а что не стоит

robots.txt полезен для снижения лишнего обхода, но не решает задачу индексации сам по себе. Если страница уже известна поисковику, запрет в robots может даже помешать увидеть noindex на самой странице.

Обычно имеет смысл закрывать от обхода только технический мусор:

  • служебные параметры сортировки и фильтров;
  • внутренние страницы поиска;
  • URL предпросмотра, если они создаются;
  • непубличные endpoint-адреса, если они реально не нужны в поиске.

Пример аккуратного правила:

User-agent: *
Disallow: /?s=
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Не стоит массово закрывать в robots.txt сами страницы курсов и уроков, если вы хотите гарантированно убрать их из индекса. Для этого надежнее noindex на странице и корректный статус ответа.

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

После изменений не ограничивайтесь просмотром исходного кода в браузере. Проверьте три вещи: мета-роботы, каноникал и ответ сервера.

  1. Откройте страницу курса или урока и посмотрите HTML-код: должен быть виден noindex.
  2. Проверьте, не дублируется ли тег robots из SEO-плагина и из темы.
  3. В Search Console отправьте URL на переобход и посмотрите, как меняется статус.

Если используете командную строку, можно быстро проверить заголовки и HTML через curl:

curl -I https://example.com/course/sample-course/
curl -s https://example.com/course/sample-course/ | grep -i robots

На практике важно дождаться повторного обхода. Если URL уже в индексе, он не исчезнет мгновенно после правки кода.

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

Закрыли страницы в robots.txt вместо noindex

Это самая частая ошибка. Поисковик может перестать обходить URL, но не всегда быстро убирает его из индекса. Если задача — именно удаление из поиска, используйте noindex на странице.

Поставили noindex на все подряд

Иногда вместе с уроками закрывают страницы курсов, архивы и полезные посадочные. В результате падает видимость сайта. Сначала определите, какие URL должны привлекать трафик, а какие — нет.

Конфликт с SEO-плагином

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

Закрыли URL, но оставили внутренние ссылки

Это не критично, но если страница больше не должна участвовать в навигации, уберите ее из меню, блоков и списков похожих материалов. Иначе поисковик и пользователи продолжат на нее попадать.

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

Если вы закрываете учебные страницы от индексации, это не значит, что их можно игнорировать. Убедитесь, что:

  • доступ к закрытым урокам действительно ограничен на уровне плагина или логики темы;
  • нет публичных прямых ссылок на файлы, видео и вложения;
  • не индексируются вложения медиафайлов, если они дублируют контент уроков;
  • кеш не сохраняет старую версию страницы с неправильным robots-тегом;
  • после обновления шаблонов вы повторно проверяете исходный код.

Если на сайте много служебных страниц и дублей, имеет смысл дополнительно использовать инструменты для чистки дублей и технических мелочей. Например, в Clearfy Pro есть набор настроек для SEO- и технической оптимизации WordPress, но даже в этом случае логику для LearnPress лучше проверить вручную на конкретных URL.

Рабочий ориентир простой: публичные страницы должны индексироваться осознанно, а учебный кабинет — только если это действительно часть стратегии продвижения. Для LearnPress это обычно решается не одним переключателем, а комбинацией noindex, каноникала, настроек SEO-плагина и проверки в Search Console.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как использовать Webhooks в LearnPress для автоматизации процессов
24.02.2026
Решение проблемы неотображения курса после оплаты в WooCommerce с LearnPress
06.06.2026
Как сделать автоматический перезапуск курса в LearnPress по расписанию
11.03.2026
Как создать собственный тип вопроса для Quizle в LearnPress
15.03.2026
Как отладить проблемы с просмотром видео в LearnPress на WordPress
23.01.2026
×
до 3225₽

WPShop - честная партнерка!

Зарабатывай с каждой продажи

Подключиться ⋙