Как закрыть на индекс страницы по признаку в ссылке
В процессе работы над оптимизацией уже готового сайта бывает необходимость закрыть на индекс поисковыми системами определенные страницы.
Предлагаю простое и изящное решение, которое позволяет закрыть для индексации страницы по признаку в ссылке (URL).
Чаще всего закрыть на индексацию требуется страницы дублей (если брать какие-то каталоги), либо не уникальный контент. Частично данного вопроса я касался в статье Как закрыть для индекса рубрику и все статьи в ней.
Теперь же рассмотрим вариант, когда у вас не закрывается для индекса полностью рубрика, а лишь страницы, которые в ссылке будут иметь какой-то один признак - набор букв.
Представленный ниже код необходимо поместить в файл functions.php вашего шаблона:
function echo_meta_none() {
$echo = false;
$uri = $_SERVER['REQUEST_URI'];
if (mb_strstr($uri, 'priznak-url')) $echo = true;
if ($echo) echo '';
}
add_action( 'wp_head', 'echo_meta_none' );
Данное решение вопроса реализовал мой знакомый кодер Николай. Мне необходимо было закрыт на индекс некоторые страницы сайта, не удаляя их физически с сайта. Решение с meta name="robots" content="none" в секции head напрашивалось само собой, но вот чтобы задать признак страницы пришлось обратиться за помощью к нему.
В представленном выше коде вы задаете свой признак ссылки вместо текста priznak-url.
Если необходимо аналогичным способом закрыть для индекса несколько видов страниц, то код примет вид:
function echo_meta_none() {
$echo = false;
$uri = $_SERVER['REQUEST_URI'];
if (mb_strstr($uri, 'priznak-url')) $echo = true;
if (mb_strstr($uri, 'priznak-url2')) $echo = true;
if (mb_strstr($uri, 'priznak-url3')) $echo = true;
if ($echo) echo '';
}
add_action( 'wp_head', 'echo_meta_none' );
Обратите внимание, что добавились строки. В них задаете свое значение.
Внимание!!! Будьте аккуратны, задавая признак ссылки. У вас могут быть страницы, содержащие этот же набор символов в другом месте ссылки и случайно можете закрыть их а индекс.
Почему закрываем на индекс через meta robots
Многие из вас до сих пор уверены, что достаточно прописать правило в robots.txt, чтобы поисковые системы не индексировали контент. Для Яндекс данное решение работает, а вот Google уже давно не обращает внимание на директивы в robots.txt и просканирует все.
Использую же запрет на индексацию через meta robots - вы наверняка получите желаемый результат, т.к. Google и Яндекс "слушаются" данной команды.
Советую к прочтению справку от самого Яндекс по Использованию HTML тегов.