Что такое meta robots и зачем его менять?
Meta robots — это HTML-тег, который указывает поисковым системам, как индексировать и сканировать страницы вашего сайта. Управление этим тегом позволяет влиять на видимость страниц в поисковой выдаче, исключать из индексации страницы с дублированным контентом, временные страницы или административные разделы.
По умолчанию WordPress добавляет базовый meta robots для страниц, но иногда вам нужно его изменить или полностью удалить, чтобы лучше контролировать SEO вашего сайта. Например, для страниц авторов, архивов, или отдельных записей.
В данной статье разберём, как сделать это без установки дополнительных плагинов, используя только функции вашей темы и стандартные хуки WordPress.
Удаление meta robots из заголовка страницы
Чтобы удалить meta robots, который WordPress или тема могут добавлять автоматически, можно воспользоваться хуком wp_head. Важно правильно определить функцию, которая выводит этот тег, и удалить её с помощью remove_action.
Например, если у вас стоит SEO-плагин, может быть, он добавляет meta robots. В случае отсутствия плагинов, WordPress по умолчанию не выводит этот тег, но тема или кастомный код — могут.
Пример кода для удаления meta robots из <head>:
function wpcat_remove_meta_robots() {
remove_action('wp_head', 'rel_canonical'); // Удаление канонического URL, если нужно
remove_action('wp_head', 'wp_no_robots'); // Удаляет meta robots, если он выводится
}
add_action('init', 'wpcat_remove_meta_robots');Функция wp_no_robots() отвечает за добавление meta robots с содержанием noindex, nofollow на определённых страницах. Удаляя этот хук, вы убираете этот тег из заголовка.
Как убедиться, что тег убран?
После добавления кода в файл functions.php вашей темы или в кастомный плагин, очистите кэш сайта и браузера. Затем откройте исходный код страницы и найдите в <head> наличие meta robots. Если его нет — всё сделано правильно.
Изменение meta robots для отдельных страниц и типов записей
Иногда нужно не просто удалить meta robots, а изменить его содержимое, например, для страницы архива или конкретной записи. Для этого можно использовать фильтр wp_robots, который появился в WordPress 5.7.
Фильтр позволяет программно управлять значениями тегов robots, например, добавлять или удалять атрибуты noindex, nofollow, noarchive и другие.
Пример функции для изменения meta robots на страницах архива:
function wpcat_modify_meta_robots($robots) {
if (is_archive()) {
// Убираем индексацию архива
$robots['noindex'] = true;
$robots['nofollow'] = true;
}
return $robots;
}
add_filter('wp_robots', 'wpcat_modify_meta_robots');Этот код добавит в meta robots для страниц архива директивы noindex, nofollow, чтобы поисковики не индексировали архивы и не переходили по ссылкам на них.
Настройка для конкретных типов записей
Вы можете ограничить изменения для определённых типов записей. Например, не индексировать кастомный тип записи product:
function wpcat_noindex_product_type($robots) {
if (is_singular('product')) {
$robots['noindex'] = true;
$robots['nofollow'] = false; // Разрешаем переход по ссылкам внутри записи
}
return $robots;
}
add_filter('wp_robots', 'wpcat_noindex_product_type');Такой подход позволяет тонко настраивать SEO-параметры без плагинов.
Использование пользовательских функций для гибкого управления meta robots
Иногда нужно не только добавить или убрать директивы, но и полностью заменить содержимое meta robots. Для этого можно использовать хук wp_head и вывести свой тег вручную, при этом отключив стандартный вывод.
Пример полного переопределения meta robots:
function wpcat_custom_meta_robots() {
if (is_home()) {
echo '<meta name="robots" content="index,follow">\n';
} elseif (is_page('privacy-policy')) {
echo '<meta name="robots" content="noindex,nofollow">\n';
} else {
echo '<meta name="robots" content="index,follow">\n';
}
}
function wpcat_override_meta_robots() {
remove_action('wp_head', 'wp_no_robots');
add_action('wp_head', 'wpcat_custom_meta_robots', 1);
}
add_action('init', 'wpcat_override_meta_robots');В этом примере для домашней страницы и всех страниц по умолчанию выводится index,follow, а для страницы с названием privacy-policy — noindex,nofollow. Вы можете расширять логику под любые условия.
Плагины для управления meta robots и почему стоит делать это вручную
Существуют плагины, которые позволяют управлять meta robots, например, Yoast SEO, All in One SEO. Они удобны для новичков, но иногда дают избыточный функционал или создают конфликт с кастомными решениями.
Для опытных разработчиков и тех, кто хочет лёгкий и быстрый сайт, управление meta robots через код — оптимальное решение. Это минимизирует нагрузку, снижает риск багов и даёт полный контроль.
Если же нужен простой интерфейс, можно использовать плагин SEO-плагины на wpshop.ru с удобными настройками.
Итоговые советы по работе с meta robots в WordPress
- Всегда проверяйте, какой meta robots выводится по умолчанию на страницах вашего сайта.
- Используйте фильтр
wp_robotsдля гибкой и безопасной настройки директив. - Удаляйте или переопределяйте стандартные хуки аккуратно, чтобы не нарушить работу других функций.
- Тестируйте изменения на тестовом сайте, чтобы не потерять трафик из-за ошибок в SEO.
- Для сложных случаев можно комбинировать код и SEO-плагины, но избегайте дублирующих настроек.
Правильное управление meta robots — важная часть оптимизации сайта на WordPress. Применяя описанные методы, вы сможете улучшить индексацию, избежать дублей и повысить релевантность вашего контента в поисковых системах.