Иногда необходимо закрыть страницы таксономий на сайте WordPress от индексации поисковыми системами. Если вы используете плагин Yoast SEO, он по умолчанию проставляет метатег noindex, follow
. Однако, если вы хотите, чтобы на определенных таксономиях использовалось значение noindex, nofollow
, можно добавить следующий код в файл functions.php
вашей темы:
Пример кода для установки noindex, nofollow
:
// добавляем для нужных таксономий noindex
add_filter('wpseo_robots', 'artit_wpseo_robots', 10, 2);
function artit_wpseo_robots($robots_str, $index) {
if (is_tax()) { // Проверяем, что это таксономическая страница
$current_taxonomy = get_queried_object(); // Получаем текущий объект таксономии
// Если текущая таксономия относится к temp_taxonomy или another_temp_taxonomy
if (in_array($current_taxonomy->taxonomy, ['temp_taxonomy', 'another_temp_taxonomy'])) {
return 'noindex, nofollow'; // Устанавливаем noindex, nofollow
}
}
// Возвращаем значение по умолчанию для всех остальных случаев
return $robots_str;
}
// добавляем для нужных таксономий noindex
Объяснение кода:
- Добавление фильтра
wpseo_robots
:- Функция
add_filter('wpseo_robots', 'artit_wpseo_robots', 10, 2);
добавляет фильтр для изменения значенийrobots
в мета-тегах Yoast SEO. Этот фильтр будет вызывать функциюartit_wpseo_robots
с двумя аргументами: текущей строкойrobots
и индексом.
- Функция
- Функция
artit_wpseo_robots
:- Функция
artit_wpseo_robots($robots_str, $index)
обрабатывает значения для мета-теговrobots
.
- Функция
- Проверка, является ли текущая страница таксономией:
if (is_tax())
проверяет, что текущая страница является страницей таксономии.
- Получение текущего объекта таксономии:
$current_taxonomy = get_queried_object();
получает информацию об объекте текущей таксономии.
- Проверка конкретной таксономии:
if (in_array($current_taxonomy->taxonomy, ['temp_taxonomy', 'another_temp_taxonomy']))
проверяет, является ли текущая таксономия одной из указанных (
илиtemp_taxonomy
another_temp_taxonomy
).
- Применение
noindex, nofollow
:- Если текущая таксономия совпадает с указанными, строка
robots
изменяется наnoindex, nofollow
, что запрещает индексацию и следование по ссылкам на странице.
- Если текущая таксономия совпадает с указанными, строка
- Возврат значения по умолчанию:
- Если условие не выполнено, функция возвращает исходное значение
robots
, предоставленное Yoast SEO.
- Если условие не выполнено, функция возвращает исходное значение
Таким образом, с помощью данного кода мы добавляем гибкое управление индексацией и атрибутами robots
для конкретных таксономий.