wplearn.ru wordpress WP Learn

Как удалить или изменить meta robots в WordPress без плагинов

Тег meta robots играет важную роль в SEO, управляя индексированием страниц поисковыми системами. Иногда требуется удалить или изменить этот тег на определённых страницах WordPress, чтобы лучше контролировать поведение поисковиков. В этой статье мы подробно разберём, как это сделать без использования плагинов, напрямую через код, а также рассмотрим примеры для различных ситуаций.

Что такое meta robots и зачем его управлять в WordPress

Meta robots — это тег в <head> HTML-документа, который сообщает поисковым системам, можно ли индексировать страницу и следовать ли ссылкам на ней. Например, <meta name="robots" content="noindex, nofollow"> запрещает индексировать страницу и переходить по ссылкам.

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

Как посмотреть текущий meta robots на сайте

Для начала проверьте, есть ли у вас этот тег на страницах. Откройте любую страницу сайта в браузере, нажмите правой кнопкой и выберите «Просмотреть исходный код» (View page source). Найдите <meta name="robots"> или <meta name="googlebot">. Если тег есть — запомните его содержимое.

Если тег генерирует ваш SEO-плагин (например, Yoast SEO), то его лучше отключить в настройках плагина или заменить через код.

Удаление meta robots из header WordPress

Если тег meta robots добавляет ваша тема или какой-то плагин, можно попытаться его удалить через хук wp_head. Например, часто SEO-плагины используют функцию wpseo_robots или подобные для вывода этого тега.

Чтобы удалить тег, добавьте в файл functions.php вашей темы или дочерней темы следующий код:

function wplearn_remove_meta_robots() {
    remove_action('wp_head', 'wpseo_robots'); // пример для Yoast SEO
    // Если у вас другой SEO-плагин, замените 'wpseo_robots' на нужную функцию
}
add_action('init', 'wplearn_remove_meta_robots');

Если же тег добавляется темой через wp_head напрямую, найдите функцию, которая выводит тег, и удалите её аналогичным способом. Если функция неизвестна, можно использовать фильтр wp_head для удаления всех тегов robots, но это радикально.

Добавление или изменение meta robots через код WordPress

Если вы хотите самостоятельно добавить или изменить тег meta robots на определённых страницах, используйте следующий пример. Он добавляет тег с условием:

function wplearn_custom_meta_robots() {
    if (is_front_page()) {
        echo '<meta name="robots" content="index, follow">';
    } elseif (is_single()) {
        echo '<meta name="robots" content="noindex, follow">';
    } else {
        echo '<meta name="robots" content="noindex, nofollow">';
    }
}
add_action('wp_head', 'wplearn_custom_meta_robots', 1);

В этом примере на главной странице разрешена индексация, на отдельных постах страницы индексируются, но ссылки не запрещены для перехода, а на всех остальных страницах — запрет и индексации, и переходов по ссылкам.

Объяснение кода

Функция wplearn_custom_meta_robots добавляет тег meta в <head> с разным значением атрибута content в зависимости от условия WordPress — главная страница, одиночный пост или другие страницы.

Параметр 1 в add_action ставит приоритет, чтобы тег выводился раньше других похожих, что позволяет переопределять SEO-плагины.

Удаление meta robots на отдельных страницах

Иногда требуется убрать тег только на определённых страницах, например, на страницах с определённым шаблоном или ID. Для этого можно использовать условные теги WordPress:

function wplearn_remove_meta_robots_conditionally() {
    if (is_page(42) || is_page_template('template-noindex.php')) {
        remove_action('wp_head', 'wpseo_robots'); // пример для Yoast SEO
        // Или убрать свой тег, если он добавлен через wp_head
    }
}
add_action('wp_head', 'wplearn_remove_meta_robots_conditionally', 0);

Здесь на странице с ID 42 и на страницах с шаблоном template-noindex.php тег meta robots будет удалён.

Пример с фильтром для SEO-плагина Clearfy Pro

Если вы используете плагин Clearfy Pro, он позволяет управлять тегом robots через фильтры. Например, чтобы запретить индексировать весь сайт:

add_filter('cf_filter_robots_meta', function($robots) {
    return 'noindex, nofollow';
});

Или изменить поведение на определённых страницах:

add_filter('cf_filter_robots_meta', function($robots) {
    if (is_front_page()) {
        return 'index, follow';
    }
    return 'noindex, nofollow';
});

Советы по работе с meta robots в WordPress

  • Всегда проверяйте, какой плагин или тема добавляет тег. Для этого отключайте плагины по очереди и смотрите исходный код.
  • Не добавляйте несколько тегов meta robots на одной странице, это может запутать поисковики.
  • Используйте условные теги WordPress для тонкой настройки поведения на разных типах страниц.
  • Если используете SEO-плагины, сначала попробуйте изменить настройки в них, а не править код напрямую.
  • Для комплексного управления можно комбинировать фильтры плагинов и собственные функции.

Итого

Удаление или изменение тега meta robots в WordPress без плагинов — задача выполнимая и полезная для контроля SEO. В статье мы рассмотрели, как определить источник тега, удалить его через код, добавить новый с условием и примеры для популярных плагинов как Yoast SEO и Clearfy Pro. Используя эти методы, вы получите гибкое управление индексацией страниц вашего сайта.

×
День SEO
Время сделать подарок своему WordPress!
-20% на премиум

шаблоны и плагины

Порадуй свой сайт ⋙