Последнее обновлене - 15 января 2023 в 16:23
Чтобы запретить индексацию конкретных записей и страниц блога (сайта) под управлением WordPress, не нужно устанавливать дополнительные плагины. Достаточно добавить метатег «robots» и присвоить ему значение noindex. Сделать это можно благодаря встроенному функционалу произвольных полей.
И я пользуюсь таким функционалом, когда, например, надо закрыть какие-либо технические страницы. Либо страницы, которые не несут смысловой нагрузки для блога. При этом, остальные публикации, сайт в целом доступен для индексации поисковыми системами.
Вот такой метатег
<meta name="robots" content="noindex"/>
надо добавить в head тех страниц или записей, которые мы не хотим видеть в числе проиндексированных поисковиками.
Реализация следующая. Открываю на редактирование файл header.php и перед закрывающим тегом head вставляю код:
<?php $cf = get_post_meta($post->ID, 'noindexyes', true);
if (!empty($cf)) {
echo '<meta name="robots" content="noindex"/>';
}
?>
Функция get_post_meta формирует поле noindexyes. И теперь можно перейти непосредственно к записи, которую хотим скрыть от индексации.
Сохранив изменения в файле header.php, открываю нужную запись на редактирование и кликаю в правом верхнем углу по меню «Настройки экрана». Открывается список. Выбираю пункт «Произвольные поля», который помечаю чекбоксом.
Теперь перемещаюсь вниз редактируемой записи, где уже появилось окно «Произвольные поля». Здесь я добавляю новое поле, кликнув по ссылке «Введите новое».
В поле слева (Имя) ввожу название поля noindexyes (как указано выше в функции), а в поле справа (Значение) — единицу.
В дальнейшем, каждый раз вводить название произвольного поля noindexyes не придётся. Его можно будет выбирать из выпадающего списка.
Далее, я пересохраняю запись, в результате чего для неё будет установлен метатег robots со значением content = «noindex». Чтобы проверить работу кода, надо открыть исходный код страницы, где должна быть такая строчка:
<meta name="robots" content="noindex"/>
Кроме того, статус страницы можно проверить при помощи Яндекс Вебмастера. Перейдите по ссылке «Проверить статус URL» в разделе «Индексирование» в Вебмастере. Здесь в поле надо ввести адрес страницы и кликнуть по кнопке «Проверить». После проведённой проверки вы увидите такую запись: «Страница была исключена из поиска из-за установленного с помощью метатега robots со значением content = «noindex» или content = «none» запрета на индексирование. Чтобы страница появилась в поиске, удалите запрет и отправьте её на переобход.».
В том случае, если появилась необходимость открыть запись для индексации поисковыми системами, надо просто удалить произвольное поле noindexyes.
Хороший способ запретить индексацию конкретной записи. Спасибо, как раз то что мне надо было.