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

Мы поговорим не просто закрытие ссылок тегом nofollow. Это было бы слишком просто, а у нас тут блог серьезный 🙂 . Разберем способы через закрытие JS скриптами.

Сначала для новичком про nofollow и noindex

Этот пункт для самых маленьких, чтобы не было лишних вопросов.

Все что вам нужно знать, это:

  • Тега noindex в Google нет, он вообще не в курсе, что это такое и никак на него не реагирует.
    В Яндексе этот тег можно использовать для закрытия кусков текста, которые не должны попасть в индекс. Как его использовать тут уже сами решайте.Можно закрыть им какой-то копипаст, или какой-то другой блок текста, который не должен участвовать в плотности ключевых слов.

    Закрывать в noindex теги и скрипты, ссылки — пожалуй, бессмысленно. Также есть вероятность, что Яндекс проверяет при любом раскладе, что находится между этими тегами. Если там ничего криминального нет, то он просто не индексирует, а если есть, то могут быть проблемы. Т.е. этими тегами вы от Яндекса ничего не спрячете.

  • Тег nofollow работает и для Гугла и для Яндекса. Он рекомендует ПС не давать «важность» ссылке, в которой он присутствует.Если вы сошлетесь такой ссылок на какой-то ресурс и если тот ресурс говно, то вам за это «ничего не будет». Т.е. ваш ресурс не теряет авторитет. По крайней мере, я придерживаюсь такой точки зрения.

    Но регулировать этим тегом ссылочный вес внутри сайта считаю бессмысленным, т.к. вес будет все-равно утекать со страницы (моё мнение). Также вес (не путать с «важностью») страницы будет теряться, если ссылка внешняя. Говорят, что это утверждение устаревшее, как лепешка мамонта, но меня это мало волнует.

Некоторые даже пытаются закрыть ссылки через robots.txt. Что вы там курите, ребята? Этот файл служит в качестве рекомендаций по индексации страниц сайта. Да и то, почти бесполезен даже для этого. Чтобы закрыть от индексации страницы, юзайте тег

<meta name="robots" content="noindex,follow" />

. Но индексация страниц — не тема данной статьи, а то что-то я отвлекся.

 

Как спрятать ссылку через JS: способ 1

Этот способ был описан Алаичем и было доказано экспериментальным путем, что он работает и поисковики не индексируют, закрытые таким способом, ссылки. То есть робот по ним перейти не может.

Все просто:

  1. создаем файл с расширением .js, например, my.js;
  2. в этот файл помещаем такой код:
    $('.super-link').replaceWith(function(){return'<a rel="nofollow" target="_blank" href="'+$(this).data('link')+'">'+$(this).text()+'</a>';})
  3. закидываем файл на хостинг, например, в папку js нашей темы;
  4. перед закрывающим тегом </body> втыкаем строку его подключения, указав свой путь к файлу:
    <script type="text/javascript" src="https://путь_к_папкеjs/js/my.js"></script>
  5. в тексте, где нужно вставить ссылку, вставляем вместо обычных тегов <a>, такую конструкцию:
    <span class="super-link" >Яндекс</span>

Название класса super-link в пункте 2 и 5 желательно переименовать на любое другое.

Ты спросишь, а что если у меня ссылка в виде кнопки, как сделать? Просто к классу super-link примени css-стили кнопки.

А если надо закрыть от индексации баннер (ссылку с картинкой), то как? Тогда нашу конструкцию нужно чуть подправить. Подойдет такой вариант:

$('.super-link').replaceWith(function(){return'<a rel="nofollow" target="_blank" href="'+$(this).data('link')+'"><img src="https://seodnevnik.ru/logo-seo.png" width="240" height="400" /></a>';})

В нем я прописал картинку-баннер с размером 240×400.

И еще, чтобы данный скрипт работал, на странице должен быть подключен jquery.
Если у вас WordPress, то обычно уже все сделано за вас. Но на всякий случай загляните в исходный код сайта и проверьте, есть ли подключение файла jquery.js или jquery.min.js в самом верху между тегами <head>.

Если нет, то проще всего самостоятельно втыкнуть туда (в файл header.php вашего шаблона) строку:

<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js?ver=1.7.2'></script>

Вариант 2: подгружаем блок ссылок через AJAX

Например, у нас есть блок сквозных ссылок, или обычных, которые мы не хотим показывать поисковикам, чтобы они не участвовали в перелинковке.

Можно их также закрыть способом выше, но есть еще один интересный вариант через подгрузку Ajax-сом.

  1. Создаем php файл, назовем его myblock.php. Туда помещаем наш блок контента с ссылками. Закидываем в папку с нашим шаблоном.
  2. Создаем файл bl.js . Туда помещаем код:
    $(document).ready(function(){
    function load_block (){ 
    $.ajax({
    type: "POST",
    url: "https://site.ru/путь_к_файлу/myblock.php",
    success: function(msg){
    $('#my_block').html(msg);
    }
    }); 
    }
    load_block ();
    });

    В этом коде прописываем свой путь к файлу myblock.php на хостинге.

  3. Загружаем файл на хостинг в любую папку (лучше в папку js шаблона). И подключаем его перед закрывающим тегом </body> строчкой:
    <script type="text/javascript" src="https://путь_к_папке/js/bl.js"></script>
  4. В шаблоне, где нужно чтобы подгрузился этот блок, вставляем такую строчку:
    <div id="my_block"></div>

Все. При загрузке страницы, в нужном месте, у нас будет блок ссылок, а в исходном коде будет только наша мелкая строчка c div-ом. Название id блока (my_block) вы можете заменить на своё. Но тогда в коде выше тоже не забудьте его поменять.

Я уже этот метод описывал очень давно, но решил добавить его и в эту статью, «для полноты картины».

Вот такие два способа. Есть и другие, например 9seo описывал хороший вариант для WordPress и DLE https://9seo.ru/podgruzka-kontenta-cherez-ajax/ . Но считаю описанные мной более простыми в реализации.

Оцените статью
Дневник Сеошника
Добавить комментарий

  1. Андрей

    Спасибо за статью, скрипт сработал и установка прошла легко.

    Момент один обнаружился, при открытии Console (F12), выдает ошибку:

    http://prntscr.com/hf19wz
    Код в JS имеет такой вид: http://prntscr.com/hf1a96
    Есть мысли как поправить?

    Ответить
    1. ARKSEO

      Ты пропустил знак доллара: $(‘.super-link’).

      Ответить
  2. Fi

    Господи, какой геморрой.

    Ответить
  3. Сергей

    Способ 1 ещё рабочий? Мне кажется, что для Яндекса уже нет. Таким же образом сайты ворующие мой контент ссылаются на меня через яваскрипт, но в Яндекс Вебмастер отображаются эти ссылки, как входящие. И вообще это смахивает на маскировку, когда пользователям подсовывается одно — ссылка, а поисковым системам другое — текст вместо ссылки.

    Маскировка запрещена в рекомендациях ПС для вебмастеров.

    Ответить
    1. ARKSEO

      Возможно. Если файл js со скриптом открыт для индексации, то ПС может проиндексировать его и распознать текст как ссылку.

      К маскировке это никак не относится.

      Ответить