КодSEOБлогИное

Nofollow и JS: как скрыть ссылку от поисковых систем

Rookee — инструменты для привлечения клиентов на сайт

Нужно ли закрывать ссылки? Как они вредят?

LINK «Там классно!»

PageRank [digits.ru] является одним из алгоритмов ранжирования Яндекса и Google: чем больше ссылок ведёт на страницу, тем она более авторитетна, так как ссылка есть не что иное, как рекомендация посмотреть другой документ.

Каждой проиндексированной странице поисковая система присваивает некое значение PageRank, сокращенно PR.

Страница А Страница Б Страница В Страница Г Страница Д 30 15 15 25 10 10 10 10 10

Для того, чтобы PR оставался внутри сайта:

Зачем нужно закрытие исходящих внешних ссылок?

  1. Чтобы достичь максимально возможного значения PageRank страниц сайта.
  2. Чтобы избежать ухудшения позиций в выдаче из-за размещения ссылок на ненадёжные сайты.

Зачем нужно закрытие внутренних ссылок?

  1. Чтобы добиться необходимой частоты сканирования поисковыми роботами желаемых страниц сайта (подробнее про краулинговый бюджет [googleblog.com]).

Все ли ссылки нужно закрывать?

Нет, если они тщательно подобраны и полезны для посетителей, так как ссылки

На shpargalkablog.ru в статьях нет ни одной закрытой.

Атрибут rel="nofollow"

Атрибут rel="nofollow" [whatwg.org] пишется в HTML-код ссылки,

По ссылкам с rel="nofollow" поисковый робот, как правило, не переходит, не передает ни PageRank, ни анкор, но вес на неё расходуется [mattcutts.com]. Во внутренней перелинковке сайта лучше вовсе не использовать внутренние nofollow-ссылки — даже пустая страница с меню вносит вклад в общий PR сайта.

25 10 0 10 10 10 nofollow

Пример HTML-кода между <body> и </body>

<a href="http://shpargalkablog.ru/2010/08/skrytie-vneshnih-ssylok.html" rel="nofollow">анкор</a>

Как проверить

Посмотреть HTML-код элемента.

Значение nofollow мета-тега robots или HTTP-заголовка X-Robots-Tag

Вместо того, чтобы всем ссылкам страницы, в том числе внутренним, указывать атрибут rel="nofollow", можно значение nofollow один раз задать meta-тегу роботс или HTTP-заголовку X-Robots-Tag [google.com].

Пример HTML-кода между <head> и </head>

<meta name="robots" content="nofollow"/>

Как проверить

Посмотреть HTML-код документа.

Пример .htaccess

Header set X-Robots-Tag "nofollow"

Пример PHP

header('X-Robots-Tag: nofollow');

Как проверить

Посмотреть ответ HTTP заголовка сервера.

JavaScript

Гугл прекрасно распознаёт динамическую загрузку с помощью Ajax, не говоря об остальном. Самая надёжная защита от индексирования части сайта — аутентифицировать пользователей до разрешения просматривать ими дополнительный контент.

30 15 0 15 15

Можно попробовать:

  1. запретить индексировать файл JS со скриптом Ajax, что поисковыми системами не рекомендуется делать [google.com],
  2. подгружать на страницу вспомогательные блоки, улучшающие пользовательский опыт, но не являющиеся обязательными, («Поделиться» с кнопками социальных сетей, код в случае блокировки рекламы в браузере и т. п.) после совершения посетителями какого-либо действия (прокрутка страницы, нажатие на кнопку, движение курсора мышки и т. п.), что полезно делать в первую очередь для увеличения скорости загрузки документа.

Пример JS последнего случая

Создать файл add.php

<?php

if (isset ($_POST['add'])) {
    echo '<a href="#" rel="nofollow">анкор</a>';
} else {
    http_response_code(404);
    exit();
}

Расположить скрытый элемент на странице сайта

<div id="add"></div>

<script>
 function add() {
   if (document.readyState == "complete" && window.XMLHttpRequest) {  // если документ полностью загружен
     var http = new XMLHttpRequest();
     http.open("POST", "http://сайт.ru/add.php");
     http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
     http.onreadystatechange = function() {
       if (http.readyState == 4 && http.status == 200) {
         document.getElementById("add").innerHTML = http.responseText;
       }
     }
     http.timeout = 60000;  // прервать запрос через 1 минуту
     http.send("add=1");
     window.removeEventListener("scroll", add);
   }
 }
 window.addEventListener("scroll", add);  // когда документ прокручивается
</script>

Как проверить

Запрос в Google

"анкор" site:http://сайт.ru/страница.html

Редирект

Последовательность действий:

  1. со страницы А ссылка установлена на другую внутреннюю страницу сайта Б,
  2. страница Б закрыта от индексации и на ней настроен редирект, который перемещает на конечный адрес.

С точки зрения удержания веса способ бесполезный:

  1. страница Б его не передаёт следующей внутренней странице,
  2. 301, 302, 307 редиректы передают PR странице, на которую они ведут [twitter.com].

Имеет место быть для скрытия данных, например, Яндекс шифрует текст запроса в поле referer [yandex.ru].

Все комментарии