Мы работаем не только в Моcкве, но и в других городах России:

Продвижение по трафику от 50 копеек за переход. Заказать

Практические решения закрытия сайта или его части от индексации

Подписаться
Больше интересностей из блога студии SEMANTICA
Получайте эффективные советы по интернет-рекламе и SEO-оптимизации вашего сайта
ВКонтакте:
Facebook:
Twitter:
closes

Зачем закрывают сайт или какие-то его части от индексации поисковых систем? Ответов несколько

  • Нужно скрыть от общего доступа какую то секретную информацию.
  • В целях создания релевантного контента: бывают случаи, когда хочется донести до пользователей больше информации, но она размывает текстовую релевантность.
  • Закрыть дублированный контент.
  • Скрыть мусорную информацию: поисковые системы очень не любят контент, который не несет или имеет устаревший смысл, например, календарь в афише.

Вся статья будет неким хелпом по закрытию от индексации для различных ситуаций:

Запрет индексации всего сайта с помощью robots.txt
Запрет индексации всего сайта с помощью .htaccess
Запрет индексации поддомена
Запрет индексации части текста
Запрет индексации блока на сайте
Запрет индексации счетчика или кода
Запрет индексации картинок
Запрет индексации отдельную страницу
Запрет индексации ссылок
Запрет индексации раздела
Запрет индексации папки
Запрет индексации дублей

 

Решение: запрет на индексацию сайта с помощью robots.txt

По шагам:

Создаем текстовый файл с названием robots, получаем robots.txt.
Копируем туда этот код

User-agent: *
Disallow: /

Полученный файл с помощью FTP заливаем в корень сайта.

Если нужно закрыть индексацию сайта только от Яндекс:

User-agent: Yandex
Disallow: /

Если же скрываем сайт только от Google, то код такой:

User-agent: Googlebot
Disallow: /

Закрыть сайт от индексации в файле .htaccess

Способ первый

В файл .htaccess вписываем следующий код:

SetEnvIfNoCase User-Agent "^Googlebot" search_bot
SetEnvIfNoCase User-Agent "^Yandex" search_bot
SetEnvIfNoCase User-Agent "^Yahoo" search_bot
SetEnvIfNoCase User-Agent "^Aport" search_bot
SetEnvIfNoCase User-Agent "^msnbot" search_bot
SetEnvIfNoCase User-Agent "^spider" search_bot
SetEnvIfNoCase User-Agent "^Robot" search_bot
SetEnvIfNoCase User-Agent "^php" search_bot
SetEnvIfNoCase User-Agent "^Mail" search_bot
SetEnvIfNoCase User-Agent "^bot" search_bot
SetEnvIfNoCase User-Agent "^igdeSpyder" search_bot
SetEnvIfNoCase User-Agent "^Snapbot" search_bot
SetEnvIfNoCase User-Agent "^WordPress" search_bot
SetEnvIfNoCase User-Agent "^BlogPulseLive" search_bot
SetEnvIfNoCase User-Agent "^Parser" search_bot

Каждая строчка для отдельной поисковой системы

Способ второй и третий

Для всех страниц на сайте подойдет любой из вариантов - в файле .htaccess прописываем любой из ответов сервера для страницы, которую нужно закрыть.

  • Ответ сервера - 403 Доступ к ресурсу запрещен -код 403 Forbidden
  • Ответ сервера - 410 Ресурс недоступен - окончательно удален

Способ четвертый

Запретить индексацию с помощью доступа к сайту только по паролю

В файл .htaccess, добавляем такой код:

AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /home/user/www-auth/.htpasswd
Require valid-user
home/user/www-auth/.htpasswd - файл с паролем - пароль задаете Вы сами.

Авторизацию уже увидите, но она пока еще не работает

Теперь необходимо добавить пользователя в файл паролей:

htpasswd -c /home/user/www-auth/.htpasswd USERNAME

USERNAME это имя пользователя для авторизации. Укажите свой вариант.

Задача: закрыть от индексации поддомен

Поддомен для поисковых систем является отдельным сайтом, из чего следует, что для него подходят все варианты того, как закрыть от индексации сайт.

Закрываем блок на сайте от индекса

Довольно часто требуется закрыть от индексации определенный блок: меню, счетчик, текст или какой-нибудь код.

Когда был популярен в основном Яндекс, а Google все само как то в топ выходило, все использовали вариант Тег "noindex"

<noindex>Все что угодно тут - ссылки или текст или код</noindex>

Но потом Яндекс все чаще и чаще стал не обращать внимания на такой технический прием, а Google вообще не понимает такой комбинации и все стали использовать другую схему для скрытия от индексации части текста на странице - с помощью javascript:

Текст или любой блок - кодируется в javascript , а потом сам скрипт закрывается от индексации в robots.txt

Как это реализовать?

Нам понадобится:

  • Файл BASE64.js для декодирования того, что нужно скрыть.
  • Алгоритм SEOhide.js.
  • Jquery.
  • Robots.txt (чтобы скрыть от индексации сам файл SEOhide.js)
  • HTML код

Рассмотрим подробнее:

BASE64.js. Здесь я его приводить не буду, в данном контексте он нам не так интересен. Его можно скачать по ссылке
SEOhide.js

</pre>
<pre class="html">$(function(){
	var seoContent = {"de96dd3df7c0a4db1f8d5612546acdbb":"0JHQu9C+0LMgU0VPINC80LDRgNC60LXRgtC+0LvQvtCz0LAgLSDQn9Cw0LLQu9CwINCc0LDQu9GM0YbQtdCy0LAu",
	"54cdc704188eee4573d9e6cafe5f708a":"0JfQsNGF0L7QtNC40YLQtSwg0YfQuNGC0LDQudGC0LUsINC/0L7QtNC/0LjRgdGL0LLQsNC50YLQtdGB0YwsINGA0LDRgdGB0LrQsNC30YvQstCw0LnRgtC1INC00YDRg9C30YzRj9C8ICk="};
	var seoHrefs = {"43b7c3097587757d49558bdff19a8fcb":"aHR0cDovL2luZXRydS5ydQ=="};
	var $elements = $("[data-key]");
	for(var i = 0, count = $elements.length; i < count; i++) {
		var $element = $elements.eq(i);
		var key = $element.data("key");
		switch($element.data("type")) {
			case "href":
				$element.attr("href", Base64.decode(seoHrefs[key]));
				break;
			case "content":
				$element.replaceWith(Base64.decode(seoContent[key]));
				break;
		}
	}
	$(document).trigger( "renderpage.finish");
});</pre>
<pre>

Переменные seoContent и seoHrefs. В одну записываем html код, в другую ссылки.

    • de96dd3df7c0a4db1f8d5612546acdbb — это идентификатор, по которому будет осуществляться замена.
    • 0JHQu9C+0LMgU0VPINC80LDRgNC60LXRgtC+0LvQvtCz0LAgLSDQn9Cw0LLQu9CwINCc0LDQu9GM0YbQtdCy0LAu— html, который будет отображаться для объявленного идентификатора.

И сам HTML файл:

</pre>
<pre class="html"><span data-key="de96dd3df7c0a4db1f8d5612546acdbb" data-type="content"></span><br />
<span data-key="54cdc704188eee4573d9e6cafe5f708a" data-type="content"></span><br />
<a href="#" data-key="43b7c3097587757d49558bdff19a8fcb" data-type="href">Перейти</a></pre>
&nbsp;
<pre>

В robots.txt обязательно скрываем от индексации файл SEOhide.js.

Универсальный вариант скрытия картинок от индексации

К примеру, вы используете на сайте картинки, но они не являются оригинальными. Есть страх, что поисковые системы воспримут их негативно.

Код элемента, в данном случае ссылки, на странице, будет такой:

<span class="hidden-link" data-link="http://goo.gl"><img src="..."></span>

Скрипт, который будет обрабатывать элемент:

<script>$('.hidden-link').replaceWith(function(){return'<a href="'+$(this).data('link')+'">'+$(this).html()+'</a>';})</script>

Задача: закрыть внешние или внутренние ссылки от индексации

Обычно это делают для того, чтобы не передавать вес другим сайтам или при перелинковке уменьшить уходящий вес текущей страницы.

Создаем файл transfers.js
Эту часть кода вставляем в transfers.js

function goPage(sPage) {
    window.location.href = sPage;
}

Этот файл, размещаем в соответствующей папке (как в примере "js") и на странице в head вставляем код:

<script type="text/javascript" src="/js/transfers.js"></script>

А это и есть сама ссылка, которую нужно скрыть от индексации:

<a href="javascript:goPage('http://site.ru/')"></a>

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

  • 1 Вариант - в robots.txt
</pre>
Disallow: /url-stranica.html
<pre>
  • 2 Вариант - закрыть страницу в метегах - это наиболее правильный вариант
<meta name="robots" content="noindex"> - закроет страницу от индексации
<meta name="robots" content="noindex,nofollow"> -

Обобщеный вариант

<meta name="robots" content="noindex, nofollow" />
  • 3 Вариант - запретить индексацию через ответ сервера

Задача, чтобы ответ сервера для поисковых систем был
404 - ошибка страницы
410 - страница удаленна

Добавить в файл .htaccess:

ErrorDocument 404 http://site.ru/404

это серый метод, использовать в крайних мерах

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

1 Вариант реализовать это с помощь robots.txt

User-agent: *
Disallow: /razdel

Еще варианты:

Также подойдут варианты, которые используются при скрытии страницы от индекса, только в данном случае это должно распространятся на все страницы раздела - конечно же если это позволяет сделать автоматически

  • Ответ сервера для всех страниц раздела
  • Вариант с метатегами к каждой странице

Это все можно реализовать программно, а не в ручную прописывать к каждой странице - трудозатраты - одинаковые.

Конечно же проще всего это прописать запрет в robots, но наша практика показывает, что это не 100% вариант и поисковые системы бывает игнорируют запреты.

Закрываем папку от индексации

В данном случае под папкой имеется ввиду не раздел,а именно папка в которой находят файлы, которые стоит скрыть от поисковых систем - это или картинки или документы

Единственный вариант для отдельной папки это реализация через robots.txt

User-agent: *
Disallow: /folder/

Пять вариантов закрыть дубли на сайте от индексации Яндекс и Google

1 Вариант - и самый правильный, чтобы их не было - нужно физически от них избавиться т.е при любой ситуации кроме оригинальной страницы - должна показываться 404 ответ сервера

2 Вариант - использовать Атрибут rel="canonical" - он и является самым верным. Так как помимо того, что не позволяет индексироваться дублям, так еще и передает вес с дублей на оригиналы

Ну странице дубля к коде необходимо указать

<link rel="canonical" href="http://www.examplesite.ru/url originalnoi stranicu"/>

3 Вариант избавиться от индексации дублей - это все дублирующие страницы склеить с оригиналами 301 редиректом через файл .htaccess

4 Вариант - метатеги на каждой странице дублей

5 Вариант - все тот же robots

 

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

Может пригодиться: продвижение сайта по трафику в Москве - готовы ли вы к приливу посетителей?

Задать вопрос по статье
Подпишись на нашу группу в VK и получай экспертные статьи прямо в ленту!
  • http://www.kagaz.ru rendi Карен

    Здравствуйте, уважаемый Александр.

    По разделу «Закрываем блок на сайте от индекса». Хотел уточнить.
    1. Почему содержимое BASE64.js можно скачать кликнув на файл SEOhide.js ?
    2. Где сам блок который надо скрыть ?
    3. Как и чем этот блок оборачивается ?
    3. Было бы здорово увидеть страничку, где применен данный алгоритм.

    В разделе «Задача: закрыть внешние или внутренние ссылки от индексации»
    Хотелось бы увидеть возможность открытия ссылки в новой ВКЛАДКЕ.
    Вариант target=»_blank» из-за скрипта не работает. А как прописать в transfers.js не хватает знаний.

    С уважением.
    Карен.
    http://www.kagaz.ru
    8-917-533-64-04,
    8-926-369-69-41


Мы работаем не только в Моcкве, но и в других городах России: