В процессе разработки и продвижения сайта на WordPress часто возникает необходимость скрыть определённые страницы от индексации поисковыми системами. Это может быть связано с тем, что страницы содержат дублирующий контент, служебную информацию, личные данные или не предназначены для широкой аудитории. В этой статье разберём, как правильно удалить или скрыть страницы от поиска в WordPress с примерами кода и полезными плагинами.
Почему важно контролировать индексацию страниц WordPress
Поисковые системы, такие как Google, Яндекс и другие, индексируют страницы сайта для формирования результатов поиска. Если на сайте есть ненужные или служебные страницы, их индексация может негативно повлиять на SEO, снизить качество выдачи и увеличить нагрузку на сервер.
Кроме того, иногда необходимо скрыть страницы с личными данными, временными акциями или страницами с ошибками, чтобы избежать попадания их в поисковики.
Поэтому важно иметь инструменты и методы для управления индексированием на уровне сайта WordPress.
Способы удаления или скрытия страниц от поисковых систем в WordPress
Рассмотрим несколько практических методов решения задачи.
1. Использование файла robots.txt
Файл robots.txt — это стандартный способ указать поисковым роботам, какие разделы сайта не следует сканировать. Для скрытия страниц можно добавить правила:
User-agent: *
Disallow: /privacy-policy/
Disallow: /secret-page/
Минус этого способа в том, что страницы остаются доступными по прямой ссылке, и поисковики могут их всё равно индексировать, если найдут ссылки на них.
2. Метатег noindex в заголовке страницы
Лучший вариант — добавить метатег noindex в <head> нужных страниц. Поисковики увидят, что индексировать их не нужно и исключат из выдачи.
Для этого можно использовать SEO-плагины, например, Clearfy Pro, который позволяет управлять метатегами без кодирования.
Если хотите добавить метатег программно, используйте следующий пример кода в файле functions.php вашей темы или плагина:
function wpteam_add_noindex_meta() {
if (is_page(array('privacy-policy', 'secret-page'))) {
echo '<meta name="robots" content="noindex, nofollow">';
}
}
add_action('wp_head', 'wpteam_add_noindex_meta');
Здесь is_page проверяет, является ли текущая страница одной из указанных, и добавляет метатег.
3. Использование HTTP-заголовка X-Robots-Tag
Иногда удобно посылать директиву noindex в HTTP-заголовке. Это применяется для не-HTML файлов или дополнительных сценариев.
Добавим заголовок для страниц с помощью кода:
function wpteam_add_x_robots_tag() {
if (is_page(array('privacy-policy', 'secret-page'))) {
header('X-Robots-Tag: noindex, nofollow', true);
}
}
add_action('send_headers', 'wpteam_add_x_robots_tag');
Этот метод более гибкий и подходит для SEO-оптимизации.
4. Удаление страницы из базы данных WordPress
Если страница не нужна и её лучше полностью удалить, можно сделать это через админку или программно:
function wpteam_delete_page_by_slug($slug) {
$page = get_page_by_path($slug);
if ($page) {
wp_delete_post($page->ID, true); // true — безвозвратно
}
}
// Пример удаления страницы 'secret-page'
wpteam_delete_page_by_slug('secret-page');
Будьте осторожны с удалением, особенно если на страницу есть ссылки.
Полезные плагины для управления индексацией страниц в WordPress
Для удобства можно использовать плагины:
- Clearfy Pro — расширенные возможности SEO, включая управление метатегами noindex для отдельных страниц и типов записей. Подробнее
- Yoast SEO — популярный SEO-плагин с функциями контроля индексации страниц, удобный интерфейс для настройки noindex.
- WP Robots Txt — позволяет легко редактировать файл robots.txt из админки.
Эти решения помогут быстро и безопасно управлять видимостью страниц.
Как скрыть страницы от поиска для определённых пользователей или условий
Иногда нужно, чтобы страница была недоступна для поисковиков, но видна авторизованным пользователям или по определённым правилам. Для этого можно использовать динамическое добавление метатега noindex.
Пример кода, который добавляет noindex для незарегистрированных посетителей:
function wpteam_noindex_for_guests() {
if (is_page() && !is_user_logged_in()) {
echo '<meta name="robots" content="noindex, nofollow">';
}
}
add_action('wp_head', 'wpteam_noindex_for_guests');
Это удобно для защиты страниц с ограниченным доступом и предотвращения их индексации.
Отслеживание и проверка индексации страниц
После настройки скрытия страниц важно проверить, что поисковики действительно их не индексируют. Для этого:
- Используйте оператор
site:ваш_домен url_страницыв Google или Яндексе для проверки индексации. - Проверьте файл robots.txt через Google Robots Testing Tool.
- В Google Search Console проверьте отчёты по индексации и статус страниц.
Регулярный мониторинг поможет избежать ошибок и сохранить правильное SEO-состояние сайта.