Robots txt запретить индексацию

Здравствуйте уважаемые читатель SEO-Mayak.com! Сегодня я коснусь такой немаловажной темы, как «Индексация сайта поисковыми роботами». Вернее, речь пойдет как раз о запрете для индексации файлов не относящихся к контенту.

Зачем запрещать индексацию? Отвечая на этот вопрос я сразу оговорюсь, не надо запрещать поисковикам индексировать блог, необходимо наоборот всячески этому способствовать. Закрывать от индексации нужно только те файлы, которые не содержат полезную информацию. К таким относятся: системные файлы WordPress, а также дубли контента и некоторые другие файлы.

Наша задача правильно указать дорогу поисковым роботам к действительно важным файлам и «опустить шлагбаум» на пути к всякому «мусору». Для этого в арсенале у вебмастеров есть два незаменимых инструмента. С их помощью можно правильно организовать движение поисковиков по блогу, расставить «дорожные знаки» и приоритеты.

Первый инструмент — это файл robots.txt, который как раз и служит неким «регулировщиком», разрешающим роботам идти в одно место и запрещающего им идти в другое. Об этом файле и пойдет речь дальше.

Второй инструмент — это файл Sitemap.xml, который создает «дорожную разметку» (карту сайта) и значительно упрощает поисковикам навигацию по блогу. (Файл sitemap.xml для поисковиков Google и Яндекс)

Почему надо обязательно создавать файл robots.txt

fail robots wordpress

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

Вместо того, чтобы индексировать опубликованный материл, робот гуляет по каталогу wp-admin или wp-includes в поисках что-то похожего на контент. А через некоторое фиксированное время «Центр Управления» дает команду роботу следовать на сайт к Василию Пупкину и робот, так и не добравшись до главной цели своего визита — контента, отправиться гулять дальше по просторам интернета.

Но когда он вернется, а вернется он теперь нескоро, повториться вновь та же самая история, а горе-администратор будет греть себе голову, почему его сайт плохо индексируется.

Из этого всего можно сделать несколько полезных выводов:

Вывод №1. Время, отводящееся поисковой машине для индексации ресурса строго лимитировано.

Вывод №2. Робот наверняка сообщит в своем рапорте «Центру Управления» о сайте в котором нечего индексировать и ЦУ поправит расписание следующего посещения с пометкой — «Посещать реже».

Вывод№3. При многократном повторении такой ситуации ЦУ обязательно примет меры по ниспровержению позиций такого не благонадежного ресурса и задвинет в глубь поиска от греха по-дальше.

Так вот, чтобы не ощущать себя в роли «горе администратора» надо обязательно создать файл robots.txt и правильно расставить в нем «запрещающие знаки», тем самым указывать самую короткую дорогу до контента, который действительно необходимо индексировать.

Создаем правильный robots.txt для WordPress

Новичкам наверное сложно понять процесс создания файла robots.txt, хотя в принципе сильно хитрого ничего нет. Постараюсь разложить все по полочкам.

Файл robots.txt должен находиться в корне сайта. Как закачивать файлы на сервер читайте в статье — «FTP клиент Filezilla»

создается с помощью обычного текстового документа имеющего формат .txt  в котором прописываются следующий директивы:

Директива — «User-agent:»

Директива «User-agent» служит для указания названия поискового робота, например:

Все директивы, которые расположены ниже будут относится непосредственно к роботу Яндекса.

Или:

В этом случаю дальнейшие директивы будут обращены к Гуглу.

Можно написать и так:

Спецсимвол «*» можно перевести как — «Любой текст», т.е таким спецсимволом можно заменить название всех остальных поисковых роботов, чтобы не прописывать для каждого отдельные директивы в силу их незначительности среди двух гигантов Яндекс и Google. Последние в свою очередь игнорируют спецсимвол «*» и увидя свое «имя» в файле robots.txt и станут слепо следовать директивам, назначенным для этого имени .

Наверное вам будет интересно узнать названия роботов остальных известных поисковых систем, список ниже:

Надо отметить, что каждый крупный поисковик имеет команду роботов «помощников» и все они  имеют свое индивидуальное предназначение. На буду перебирать все поисковики, остановлюсь лишь на роботах Яндекса:

Для всех перечисленных роботов можно задавать отдельные директивы.

Директива — «Disallow:»

Директива  «Disallow:»  запрещает роботу индексировать указанную часть сайта или весь сайт целиком, смотря какое значение содержит данная директива. Например:

Директива «Disallow:» содержит спецсимвол «/», который является запрещающим знаком, а так как после него ни чего не указано, робот понимает это, как команду запрещающую индексацию всего сайта в целом.

Если после спецсимвола «/» прописать название какого-нибудь каталога, например:

Для робота это будет означать запрет индексации всего, что находиться в каталоге wp-admin. Не трудно догадаться, что таким способом можно блокировать путь робота к каталогам или отдельным файлам, а также пути в URL адресе. Например, этот URL будет блокирован^

Но как же быть если надо разрешить роботу зайти в определенный каталог и уже потом запретить ему дальнейшее продвижение по некоторым направлениям? Делается это просто:

Как Вы уже догадались, прописывается путь до каталога, который надо блокировать.

Также можно запретить индексацию по символам таких, как «?», встречающимся в URL ведущем на определенные страницы:

Давайте разберемся в последней директиве, что там за знаки такие. Как я уже писал выше, спецсимвол «*» обозначает любой текст — значит запрещаются любые URL, которые включают в себя символ «?», причем этот символ должен находиться между любыми другими символами. Пример:

Если в некоторых «нежелательных» URL  символ  «?» находиться в конце, то прописывать надо так:

Надеюсь, объяснил понятно.

Теперь наверное у многих может возникнуть вопрос — «А зачем запрещать роботу индексировать URL, ведь это и есть контент?»

Дело в том, что один и тот же контент очень часто бывает доступен по разным URL и это приводит к его дублированию в рамках одного сайта. Дубли бывают полными или частичными (под частичными дублями подразумеваются анонсы записей) Поисковые системы негативно относятся к таким проявления и если дубликатов много, то в худшем случаи сайт может загреметь под фильтр.

Поэтому просканируйте Ваш сайт на дубликаты и запретите их индексацию в файле robots.txt с помощью символов входящих в URL. Про дубли страниц читайте в статье — «Похожие, дублированные страницы. Как выявить дубли контента«.

Идем дальше. Дошла очередь до еще одного спецсимвола — «$», который указывает роботу на избирательный заперт индексации . Пример:

В данном примере спец символ «$» указал на запрет индексации URL содержащего в себе последовательность букв «page» но не запретил индексировать page.php,что позволяет белее тонко производить настройку файла robots.txt.

Директива — «Allow:»

Если директива «Disallow:» являются запрещающей, то «Allow:» — разрешающей. К ней можно прописывать те же значения как и к «Disallow:».

Директива — «Host:»

Директива «Host:» предназначена только для Яндекса и указывает ему на главное зеркало сайта, которое и будет индексироваться роботом исключая все остальные зеркала, что также предохраняет от дублирования контента. Еще необходимо сделать 301 редирект  через файл .htaccess. Прописывают эту директиву так:

Или так:

Без http:// и без https://.

seo-mayak.com

Решение: запрет на индексацию сайта с помощью 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. Здесь я его приводить не буду, в данном контексте он нам не так интересен.

</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

 

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

semantica.in

Закрытие сайта от индексации вручную

В исходном коде при закрытии страницы или всего ресурса от индексации появляется строка <meta name=»robots» content=»noindex,follow» />

Именно эта строка подсказывает поисковым машинам, что не нужно индексировать отдельные материалы или ресурс. Можно вручную в любом месте сайта прописать данную строчку. Главное, чтобы она отображалась на всех страницах.

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

После выполнения обновлений нужно проверить, все ли получилось. Для этого нужно открыть исходный код с помощью клавиш CTRL + U и посмотреть, есть ли в нем нужная строчка. Ее наличие подтверждает успешную операцию по закрытию от индексации. Дополнительно можно осуществить проверку в Яндекс Вебмастер и Google Webmaster.

 

Итак, мы рассмотрели самые простые и быстрые способы, позволяющие закрыть весь сайт или отдельные материалы ресурса от индексации поисковыми машинами. И, как выяснилось, robots.txt – один из легких и относительно надежных способов.

masterproseo.ru

Все поисковые роботы при заходе на сайт в первую очередь ищут файл robots.txt.  Это текстовый файл, находящийся в корневой директории сайта (там же где и главный файл index.), в нем записываются специальные инструкции для поисковых роботов. Эти инструкции могут запрещать к индексации папки или страницы  сайта, указать роботу на главное зеркало сайта, рекомендовать поисковому роботу соблюдать определенный временной интервал индексации сайта и многое другое. 

Чтобы создать файл robotx.txt, нужен простой текстовый файл. Если вы не собираетесь создавать запреты к индексации, можно сделать пустой файл robots.txt. Важно, чтобы его название и расширение было написано строчными буквами. Как вы уже могли понять, robots.txt содержит инструкции для поисковика — что индексировать, а что нет. Файл состоит из одной или нескольких инструкций, каждая из которых пишется с новой строки. В свою очередь, каждая инструкция должна состоять из двух частей. Первая определяет, кому это относится, то есть какой поисковик должен следовать данной инструкции, вторая — что именно нельзя индексировать. Первая часть называется, User-agent. Если вы хотите обратиться ко всем поисковикам, то можете писать User-agent: *. Вторая часть Disallow, (запретить). Если вы хотите запретить индексацию всех страниц сайта, то нужно написать Disallow: /, если же разрешаете обрабатывать сайт полностью, то после Disallow должна следовать пустота Disallow: . Вы можете указать, какие папки (Disallow: /имя папки/) или же файлы (Disallow: имя файла. расширение) не следует индексировать.

Примеры использования файла robots.txt

Символ # используется для обозначения начала комментария (текст, игнорируемый роботом). Например:

User-agent: * #Запрет индексации папки cgi
Disallow: /cgi/

Пример 1. Разрешаем индексировать все страницы сайта всем поисковикам (примечание: эквивалентом данной инструкции будет пустой файл robots.txt):

User-agent: *
Disallow:

Пример 2. Запрещаем индексировать все страницы сайта всем поисковикам:

User-agent: *
Disallow: /

Пример 3. Разрешаем индексировать всем кроме Яндекса:

User-agent: Yandex
Disallow: /

Пример 4. Запрещаем индексировать всем поисковикам кроме Яндекса (примечание: обратите внимание на обязательную пустую строку между двумя инструкциями, без нее файл не будет воспринят правильно)

User-agent: Yandex
Disallow:

User-agent: *
Disallow: /

Пример 5. Яндексу запрещаем индексировать папки cgi и images, а Апорту файлы myfile1.htm и myfile2.htm в директории dir

User-agent: Yandex
Disallow: /cgi/
Disallow: /images/

User-agent: Aport
Disallow: /dir/myfile1.htm
Disallow: /dir/myfile2.htm

Пример 6. Весьма актуальная проблема.  Запрещаем индексировать динамические ссылки, пример (?sl=…) всем поисковикам:

User-agent: *
Disallow: /*?sl* #Запрет индексации динамических ссылок

Пример 7. Указание значения для Disallow без открывающего слеша приведет к тому, что робот пропустит не только папки с таким именем, но и файлы. В следующем примере, роботы не будут индексировать папку с именем myfile, а также все файлы, имеющие данное имя например myfile.php.

User-agent: *
Disallow: myfile

Пример 8. Итоговый пример файла robots.txt

User-agent: * #Запрет индексации папок cgi и images для всех поисковиков
Disallow: /cgi/
Disallow: /images/

User-agent: Google #Запрет индексации файлов myfile1.htm и myfile2.htm для Google
Disallow: /myfile1.htm
Disallow: /myfile2.htm

User-agent: * #Запрет индексации файлов spisok.php и vsakaya-fignya.php для всех поисковиков
Disallow: /spisok.php
Disallow: /vsakaya-fignya.php

User-agent: *
Disallow: /*?sl* #Запрет индексации динамических ссылок с переменной sl

При правильном использовании robots.txt у вас не должно возникнуть проблем с поисковиками, но могут возникнуть сложности со слишком любопытными посетителями. Дело в том, что они спокойно могут просмотреть содержимое файла, введя в адресную строку http://имя сайта/robots.txt. Увидев, какие файлы и папки вы скрываете, они решат обратить свой взор именно на эти части сайта, заинтересовавшись, что же вы там хотели спрятать. Поэтому если вы указываете какую-то папку в robots.txt, то непременно обязаны поместить в нее index.php или (.htm, .phtml, .shtml, .xml, .php, .asp, .pl — кому что больше по душе). Тогда при вводе в адресную строку http://имя_сайта/имя_заветной_папки пользователь получит не список имеющихся в ней файлов, что совсем неприемлемо для безопасности сайта, а ту информацию, которую вы напишите в индекс-файле. К тому же размещение файла index в каждой папке должно быть для вас обязательным пунктом, даже если у вас отсутствует robots.txt.

i-adept.ru

You May Also Like

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.