Главная Новые статьи Связь
FAQ How To » Интернет » Как создать robots.txt
Рубрики
17 посетителей на сайте

Как создать robots.txt

Добавлена: Sep 12th 2010
Количество просмотров: 1726

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

Поскольку основную долю поискового трафика в Рунете занимает Яндекс, данная статья написана на основе соответствующей инструкции этого поисковика. Впрочем, все директивы, описанные здесь, должны адекватно восприниматься роботами других поисковых систем.

как сделать robots.txt Первым делом необходимо создать обыкновенный текстовый документ, например в блокноте. Этот файл, как вы уже наверно догадались, должен называться «robots.txt». Именно так, все маленькими (строчными) буквами. Сделаете какую либо букву прописной (заглавной) и робот ваш файл проигнорирует. После того как вы создали файл, необходимо правильно указать в нем инструкции. Каждая инструкция (директива) указывается с новой строки.

Первым делом нужно указать для какого именно робота служит данная инструкция. Это делается при помощи директивы User-agent следующим образом:
User-agent: Yandex
- так вебмастер дает понять что все нижеследующие инструкции предназначены для робота Яндекса. Если нам необходимо указать инструкции для робота Гугла, то следовало бы написать:
User-agent: Googlebot

Если нужно, чтобы инструкциям следовали все роботы всех поисковых систем, вместо названия робота просто укажите символ *:
User-agent: *
- обратите внимание, сначала идет директива User-agent (с большой буквы), затем двоеточие, затем пробел и уже за ним сама инструкция (название робота или звездочка). По такой же схеме составляются и все остальные директивы.

После директивы User-agent с новой строки обычно ставят директиву Disallow. Данная директива запрещает индексировать указанный в ней урл:
Disallow: /search
- в данном случае запрещен к индексации поисковый раздел. Не будут проиндексированы все страницы, начинающиеся с /search. В директиве Disallow указываются только относительные урлы. То есть указанная выше команда предназначена для случая, когда вам нужно запретить на вашем сайте раздел с адресом www.site.ru/seacrh. Если нужно запретить несколько разделов, то для каждого из них с новой строки необходимо указать директиву Disallow:
Disallow: /search Disallow: /images Disallow: /tag

Если нужно запретить индексировать весь сайт, просто укажите слеш:
Disallow: /

Если на вашем сайте не нужно ничего закрывать от индексирования, просто оставьте эту директиву пустой:
Disallow:
- при такой команде робот проиндексирует ваш сайт полностью без исключений.

У этой директивы есть брат-«близнец», директива Allow, которая наоборот указывает, что можно индексировать:
"Disallow: /" - это тоже самое что "Allow:" (все запрещаем, или ничего не разрешаем), а "Disallow:" - это тоже самое что и "Allow: /" (ничего не запрещаем, или все разрешаем).

В этих директивах можно использовать спецсимволы $ и *. Они нужны в случае сайтов с большим количеством автоматически генерируемых страниц (например на php). Спецсимвол * означает любую (даже пустую) последовательность символов:
Disallow: /*.shtml
- такая команда запретит к индексированию все страницы с расширением .shtml, например www.site.ru/top.shtml, www.site.ru/menu.shtml, www.site.ru/rub/info.shtml и так далее.

Как писалось выше, директива Disallow запрещает индексировать все страницы, начинающиеся с указанного адреса, то есть "Disallow: /search" это тоже самое что и "Disallow: /search*". Чтобы действие директивы не распространялось на все страницы со схожим адресом, необходимо использовать символ $:
Disallow: /search$
- такая конструкция запретит страницу /search, но не запретит страницу /search.html.

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

Итак, после директивы (или серии директив) Disallow пришло время директиве Host. В этой директиве указывается главное зеркало сайта. У всех сайтов есть как минимум два зеркала (копии): www.site.ru и site.ru. Выберите то, что больше нравится, и укажите его. Именно основное зеркало будет указываться в результатах поиска:
Host: www.site.ru
- эта директива применима и для разных сайтов. Например если у вас есть два одинаковых сайта www.site.ru и www.site.com, вам также надо выбрать основной и указать в файле robots.txt именно его (это надо сделать для всех зеркал).

Вот три основные директивы файла robots.txt. Кроме них можно указать еще ряд вспомогательных директив.

Директива Sitemap содержит ссылку на карту сайта в формате xml. Файл с картой сайта необходим крупным порталам со сложной структурой и большим количество страниц. Он облегчает роботу поисковика процесс индексирования, ведь не все страницы доступны с главной страницы сайта, до многих придется добираться через большое количество кликов. А это негативно сказывается на индексировании сайта. Чтобы этого избежать, и создан файл SiteMap. В директиве Sitemap указывается полный путь к файлу. Если у вас несколько карт сайта, необходимо указать путь к каждой из них по отдельности:
Sitemap: http://www.site.ru/sitemap1.xml
Sitemap: http://www.site.ru/sitemap2.xml

Директива Crawl-delay позволят задать интервал, выраженный в секундах, через который поисковый робот должен обращаться к сайту. Это снизит нагрузку на сайт. Кстати, бывали случаи, когда хостеры банили поисковых роботов, посчитав их спамом (ддос-атакой). Возможно использование директивы Crawl-delay позволит избежать этого. Используется она следующим образом:
Crawl-delay: 3.5
- это значит, что между закачками двух файлов (страниц) роботу необходимо выждать три с половиной секунды.

Директива Clean-param полезна в тех случаях, когда одна и та же страница может быть видна под разными адресами урл. Например если ваш хостинг настроен некорректно, в урлах могут отображаться идентификаторы сессий PHPSESSID. Это ведет к дублированию контента, что нехорошо. Чтобы этого не происходило, необходимо дать указание роботу склеивать подобные страницы:
Clean-param: PHPSESSID /show.php
- здесь для страниц show.php переменные сессии не приведут к появлению дубликатов в базе поисковика.

Между всеми этими директивами не должно быть пустых строк. Если вам нужно указать разные директивы для разных роботов, то блок команд для каждого робота должен начинаться с директивы User-agent и быть отделен от других блоков пустой строкой.

Помимо команд для робота в файле robots.txt можно писать комментарии, которые должны начинаться со знака #. Так вы всегда будете знать для чего вставлена конкретная директива.

Как может выглядеть правильно составленный файл robots.txt? Примерно так:

User-Agent: *
Disallow: /search # закрываем поиск по сайту
Disallow: /*ver=print # закрываем страницы версии для печати
Disallow: /forum/profile # закрываем профили пользователей на форуме
Crawl-delay: 2.5
Clean-param: PHPSESSID /forum/showthread.php
Host: www.site.ru
Sitemap: http://www.site.ru/sitemap.xml
Sitemap: http://www.site.ru/forum/forummap.xml

- ну а как минимум так:
User-Agent: *
Disallow:
Host: www.site.ru

После того как вы сделали файл robots.txt и правильно составили его нужно закачать на сайт. Он должен располагаться в корневой папке сайта, то есть быть доступным по адресу www.site.ru/robots.txt где его и найдет поисковый робот при следующем заходе на ваш сайт. Вы всегда можете изменить ваш файл robots.txt в соответствии с изменениями на сайте, просто отредактировав его в блокноте и заново закачав на сайт. При следующей индексации робот будет следовать новым инструкциям.

Если на вашем сайте нет файла robots.txt, считается что доступ поисковому роботу не ограничен.

 


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

Лев Николаевич Толстой




браузерная игра Передовая
При использовании материалов сайта ссылка на FAQ How To обязательна
Сделано на движке ArticleMS
Яндекс.Метрика
На главную На главную Поиск по сайту Связь с администрацией