mojwp.ru
Назад

Как закрыть на индекс страницы по признаку в ссылке

Опубликовано: 26.05.2014
4
517

В процессе работы над оптимизацией уже готового сайта бывает необходимость закрыть на индекс поисковыми системами определенные страницы.

Предлагаю простое и изящное решение, которое позволяет закрыть для индексации страницы по признаку в ссылке (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 тегов.

Автор:
Виталий
Поделиться
Похожие записи
Черкани пару строк
  • Андрей
    Опубликовано: 30.05.2014 Ответить на сообщение

    отличное решение Виталий на многих СЕО форумах спрашивал как реализовать на WP данное но ответов толком и не было. Взял на заметку. Спасибо.

  • Артём Черкасов
    Опубликовано: 02.06.2014 Ответить на сообщение

    Немного не понял чем это отличается от запрета в робтс.тхт? Можете на примере показать?

    • Виталий
      Опубликовано: 03.06.2014 Ответить на сообщение

      Для примера я дал ссылку на help в яндексе.
      Отличается от команд в robots.txt кардинально.

  • Polina
    Опубликовано: 09.07.2014 Ответить на сообщение

    Виталий, у меня вопрос по ссылкам, которые народ оставляет в комментах на моем блоге. Нужно ли эти ссылки закрывать в ноуфоллоу? Потому что у меня они открытые. Если да, то как это сделать? Есть какой-то плагин для этого? Блог на WP. Спасибо заранее за ответ.

Имя
Укажите своё имя и фамилию
E-mail
Без СПАМа, обещаем
Текст сообщения
Отправляя данную форму, вы соглашаетесь с политикой конфиденциальности и правилами нашего сайта.