Когда происходит создание сайта, то оптимизация его содержания происходит в двух направлениях :
- Оптимизируют дизайн и тексты для посетителей веб-ресурса
- Оптимизации подвергается программная часть сайта, которая важна для поисковых систем
Файл robots.txt имеет неоднозначную оценку в среде веб-программистов и специалистов по продвижению веб-сайтов. Этот файл существует во всех сайтах, его готовят специалисты для поисковых систем в ходе оптимизации веб-ресурса для раскрутки. Но все же не до конца понятно то, важен ли в наше время этот файл. Нужно заметить, что файл robots.txt представляет собой неисполняемый файл, который имеет содержание сугубо для поисковых систем. Причем те инструкции, которые указываются в файле robots.txt могут быть применены и без него, если установить в CMS сайта нужные функциональные плагины.
Например, через файл robots.txt имеется возможность запретить индексирование сайта, однако та же функция имеется и в специальных плагинов для seo, которые можно установить бесплатно через магазин плагинов для любой CMS, а также запретить индексировать сайт или отдельные страницы сайта можно и через панель управления служб Яндекс Вебмастер и Google Вебмастер. Также через эти службы, как и через файл robots.txt, можно запретить индексирование, например, версий страниц сайта для печати.
Когда начинается процесс индексирования контента сайта поисковыми системами, те в первую очередь ищут в корневом каталоге файл robots.txt, который должен с самого начала указать поисковым ботом то, какие страницы разрешено индексировать, а какие все же нет. Но, как указывают специалисты, поисковые боты индексируют все страницы сайтов, даже если их запрещает владелец сайта через файл robots.txt, только запрещенные к индексации страницы не попадут в поисковую выдачу. И вот опять можно задать вопрос- зачем тогда нужен файл robots.txt? Его функции заменяют панель управления сайтами через службы вебмастера от крупнейших поисковиков, и даже при запрещении индексирования некоторого контента через этот файл, все равно поисковики индексируют весь контент сайта.
Не стоит забывать, что файл robots.txt не исполняемый, то есть его можно только читать. Править этот файл можно разными способами. И через обычный бесплатный редактор Notepad, установленный на компьютер, либо через панель управления контентом CMS, где также есть возможность управлять записями этого файла. Конечно, не стоит забывать, что хоть файл robots.txt это всего лишь читаемый файл, содержание его обращено к поисковым ботам, а значит информация в этом файле должна быть написана на понятном языке для всех поисковых ботов в мире, и иметь ясную и четкую структуру.
Структура файла robots.txt
Начинается записать в файле robots.txt всегда с упоминания того поискового бота, к которому будет обращены команды. Обращаться к поисковому боту можно с помощью директивы User-agent. Стоит отметить и то, что если после директивы User-agent стоит звездочка *, то значит команда директивы обращена ко всем поисковым ботам. Также не стоит забывать и о том, что текст в файле robots.txt не чувствителен к регистру, то есть можно писать как с большой буквы. Так и большими буквами. Но лучше всего, раз уж этот традиционный файл используется на сайте, лучше соблюдать все традиции. После директивы user-agent используется название поискового бота, к которому и обращено послание. Если к поисковому боту от Google, то после директивы первой стоит добавить googlebot, если к поисковой системе Яндекс, то Yandex. Таким образом, первая запись всегда в файле robots.txt имеет первую строку :
User-agent: googlebot
После обращению к поисковому боту стоит указать те папки или файлы, которые запрещено индексировать. Используется для этого простая директива Disallow. После ее объявления, нужно указать запрещенные к индексированию папки или файлы, как указано в примере ниже:
Disallow: /feedback.php Disallow: /cgi-bin/
В данном примере показано, что в файле robots.txt были запрещены к индексированию файл feedback.php и папка cgi-bin/ , которые находятся в корневом каталоге сайта. Для особо ленивых предусмотрена возможность блокировки по начальным символам, поэтому стоит всегда быть аккуратней с директивой Disallow, а также с упоминанием в ней различных файлов и папок. Если указать в файле robots.txt :
Disallow : prices
То поисковой бот не будет индексировать и имеющиеся файлы http://site.ru/prices.php и даже папку http://site.ru/prices/
Также не стоит забывать, что после директивы Disallow ничего не находится, то полностью все содержание сайта будет проиндексировано. Если же после директивы Disallow стоит символ /, то абсолютно полностью все содержимое сайта запрещено индексировать.
Если вдруг возникла свободная минутка и есть желание пообщаться с поисковыми ботами, но нет желание ничего запрещать для индексирования, то можно создать файл robots.txt с командой :
User-agent: * Disallow:
Поисковой бот любой поймет, что владелец сайта имеет много свободного времени, раз тратить свое время на создание файла robots.txt, в котором разрешает всем ботам индексировать все содержание сайта. Если не будет такой записи или даже вообще будет отсутствовать файл robots.txt, то любой поисковик так и сделает.
Директива Allow и ее магические свойства
Не все волшебство файла robots.txt заключено в запрете индексирования файлов сайта, также можно разрешать индексировать. Все точно также, как и с директивой Disallow, только используется директива Allow, которая разрешает индексацию всего, что указано. Вот пример :
User-agent: Yandex Allow: /prices Disallow: /
Все ясно и понятно – Поисковому боту от Яндекса запрещается индексировать на сайте все, кроме папки prices. Стоит отметить, что директиву Allow используют всегда перед директивой Disallow. Если после Allow в файле robots.txt будет пусто , то это означает, что поисковому боту Яндекса запрещена индексация всех файлов :
User-agent: Yandex Allow:
Иными словами, в файле robots.txt директивы Disallow / и Allow равнозначны, запрещающие индексацию.
Все поисковые системы, по крайней мере речь если идет о крупнейших, понимают содержание записей файла robots.txt одинаково. Если есть опасения запутаться в директивах данного файла, то лучше всего использовать службы Яндекс Вебмастер и Google Вебмастер, через которые можно начать индексацию страниц сайта, а также без труда управлять индексацией страниц, разрешая или запрещая те или иные страницы для поисковых ботов. Эти службы помогают также загрузить карту сайта.
Специальные регулярные выражения для robots.txt
С помощью всемогущего файла robots.txt можно запретить индексировать не только отдельные страницы сайта или какие-то папки с файлами, но и отдельно файлы. Это очень удобно бывает в том случае, если сайт достаточно крупный, и в нем находится большое количество файлов различного содержания. Тут нужно отдельно указать, что регулярные выражение $ означает окончание ссылки, указанной в файле, а звездочка * на любой адрес ссылки или название файла в указанном формате. Вот пример :
User-agent: Yandex Allow: /prices/*.html$ Disallow: /
Ценителям магии файла robots.txt все понятно с этой записью, точно также, как и поисковому боту от Яндекса. Поисковик должен индексировать все файлы в папке prices в html формате, но запрещена индексация любых других файлов на сайте. Или еще один пример с регулярными выражениями для robots.txt :
User-agent: Yandex Disallow: *.pdf$
Запись говорит, что Яндекс-боту запрещена индексация всех файлов в формате pdf.
Путь к карте сайта
Файл robots.txt многофункциональный читаемый файл, которые также указывает и направление поисков поисковыми ботами карты сайта. Стоит отметить, что карта сайта, если веб-ресурс действительно обширен, очень важна для того, чтобы поисковые системы могли проиндексировать все нужные страницы и файлы сайта. Послать поисковой бот можно с помощью директивы Sitemap :
User-agent: googlebot Disallow: Sitemap: http://site.ru/sitemap.xml
Загрузить карту сайта можно и с помощью служб Яндекс Вебмастер и Google Вебмастер, не работая с директивами robots.txt.
Работа с зеркалами сайта в файле robots.txt
Не так давно поисковой гигант Google решил начать борьбу за повышенную защищенность посетителей сайтов в интернете, и решил оценивать сайты с шифрованном трафиком с https протоколом выше сайтов, которые были всегда с стандартным http протоколом. И многие владельцы сайтов, даже если они не работали с платежными системами, должны были перейти на https протокол для того, чтобы поднять свой рейтинг в поисковой выдачи. Но как это сделать?
Начать нужно с того, что для поисковых систем сайты http://site.ru/ и https://site.ru/ являются различными, хотя имеют одинаковое название, и являются по сути зеркалами друг друга, но поисковые системы будут их по-разному индексировать и оценивать. Чтобы указать поисковым ботам, что нужно индексировать только одно главное зеркало сайта, требуется использовать директиву Hosts в файле robots.txt. Выглядеть это будет так :
User-agent: googlebot Disallow: /prices.php Host: https://site.ru/
Склейка зеркалов сайта произведена с помощью файла robots.txt, и поисковик будет индексировать и продвигать только веб-ресурс https://site.ru/ , не видя зеркала сайта http://site.ru/ без шифрованного протокола.
Также можно совершить редирект с http на https через файл .htaccess, который находится в корневом каталоге сайта. Если добавить в него в любое место запись, показанную ниже, то с http://site.ru/ будет автоматический редирект на https://site.ru/.
RewriteEngine On Options +FollowSymlinks RewriteBase / RewriteCond % ^site.ru$ RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
Использование комментариев в robots.txt
Зачем комментировать что-то для поисковых ботов в файле robots.txt? Сложно сказать, но если кому-то захочется это делать, стоит использовать символ #. Вот пример :
User-agent: googlebot Disallow: /prices/ # тут нет ничего интересного
Краткое описание работы с файлом robots.txt
1.Как разрешить всем поисковым ботам индексацию всех файлов на сайте?
User-agent: * Disallow:
2.Как запретить всем поисковым ботам индексацию всех файлов на сайте?
User-agent: * Disallow: /
3.Как запретить поисковому боту от Google индексировать файл prices.html?
User-agent: googlebot Disallow: prices.html
4.Как разрешить всем поисковым ботам индексировать весь сайта, а боту от Google запрещаем индексацию папки prices?
User-agent: googlebot Disallow: /prices/ User-agent: * Disallow:
Какие ошибки могут возникнуть при работе с файлом robots.txt?
Нужно сказать, что поисковые боты не чувствительны к регистру букв при написании директив, но с названием файлов и папок нужно быть осторожнее. Также проблем между директивами не стоит делать просто так для красоты, ведь для файла robots.txt проблем означает разделение команд для разных поисковых ботов.
Для каждого поискового бота нужно создавать свою директиву user-agent, а не пытаться в одну вписать несколько ботов. Очень часто забывают использовать символ / перед названием папок, что приведет к недопониманию поисковым ботом директивы. Также админка сайта исключается всегда поисковыми ботами из индексации и ее не следует указывать в файле. Есть мнение специалистов, что большой размер файла robots.txt с огромным списком страниц сайта и файлов, исключаемых из индексации, просто игнорируются поисковыми системами.
Поэтому надежней всего удалять ненужные файлы, а не указывать запрет на их индексацию.
Как проверить файл robots.txt на фатальные ошибки?
Если файл robots.txt отличается многословием, то есть в нем указаны команды для поисковых ботов для множества файлов и страниц сайта, то лучше провести проверку качества файла robots.txt с помощью ресурсов Яндекс Вебмастер и Google Вебмастер.