Руководство: как закрыть сайт от индексации в поисковых системах? Работа с файлом robots.txt
На стадии разработки и/или редизайна проекта бывают ситуации, когда лучше не допускать поисковых роботов на сайт или его копию. В этом случае рекомендуется закрыть сайт от индексации поисковых систем. Сделать это можно следующим образом:
Закрыть сайт от индексации очень просто, достаточно создать в корне сайта текстовый файл robots.txt и прописать в нём следующие строки:
User-agent: Yandex
Disallow: /
Такие строки закроют сайт от поискового робота Яндекса.
А таким образом можно закрыть сайт от всех поисковых систем (Яндекса, Google и других).
Как закрыть от индексации отдельную папку? #
Отдельную папку можно закрыть от поисковых систем в том же файле robots.txt с её явным указанием (будут скрыты все файлы внутри этой папки).
User-agent: *
Disallow: /folder/
Если какой-то отдельный файл в закрытой папке хочется отдельно разрешить к индексации, то используйте два правила Allow и Disallow совместно:
User-agent: *
Аllow: /folder/file.php
Disallow: /folder/
Как закрыть отдельный файл в Яндексе? #
User-agent: Yandex
Disallow: /folder/file.php
Как проверить, в индексе документ или нет? #
Проще всего осуществить проверку в рамках сервиса «Пиксель Тулс», бесплатный инструмент «Определение возраста документа в Яндексе» позволяет ввести URL списком. Если документ отсутствует в индексе, то в таблице будет выведено соответствующее значение.
Анализ проведён с помощью инструментов в сервисе Пиксель Тулс.
Как скрыть от индексации картинки? #
Картинки форматов jpg, png и gif могут быть запрещены к индексации следующими строчками в robots.txt:
User-Agent: *
Disallow: *.jpg
Disallow: *.png
Disallow: *.gif
Как закрыть поддомен? #
У каждого поддомена на сайте, в общем случае, имеется свой файл robots.txt. Обычно он располагается в папке, которая является корневой для поддомена. Требуется скорректировать содержимое файла с указанием закрываемых разделов с использованием директории Disallow. Если файл отсутствует — его требуется создать.
При использовании CDN-версии #
Как обращаться к другим поисковым роботам (список) #
У каждой поисковой системы есть свой список поисковых роботов (их несколько), к которым можно обращаться по имени в файле robots.txt. Приведем список основных из них (полные списки ищите в помощи Вебмастерам):
Прочие директивы в robots.txt #
Поисковая система Яндекс также поддерживает следующие дополнительные директивы в файле:
«Crawl-delay:» — задает минимальный период времени в секундах для последовательного скачивания двух файлов с сервера. Также поддерживается и большинством других поисковых систем. Пример записи: Crawl-delay: 0.5
«Clean-param:» — указывает GET-параметры, которые не влияют на отображение контента сайта (скажем UTM-метки или ref-ссылки). Пример записи: Clean-param: utm /catalog/books.php
«Sitemap:» — указывает путь к XML-карте сайта, при этом, карт может быть несколько. Также директива поддерживается большинством поисковых систем (в том числе Google). Пример записи: Sitemap: https://pixelplus.ru/sitemap.xml
Закрыть страницу и сайт с помощью meta-тега name=»robots» #
Также, можно закрыть сайт или заданную страницу от индексации с помощь мета-тега robots. Данный способ является даже предпочтительным и с большим приоритетом выполняется пауками поисковых систем. Для скрытия от индексации внутри зоны документа устанавливается следующий код:
Или (полная альтернатива):
С помощью meta-тега можно обращаться и к одному из роботов, используя вместо name=»robots» имя робота, а именно:
Для паука Google:
Или для Яндекса:
Запрет индексации в robots.txt
Чтобы убрать весь сайт или отдельные его разделы и страницы из поисковой выдачи Google, Яндекс и других поисковых систем, их нужно закрыть от индексации. Тогда контент не будет отображаться в результатах поиска. Рассмотрим, с помощью каких команд можно выполнить в файле robots.txt запрет индексации.
Зачем нужен запрет индексации сайта через robots.txt
Первое время после публикации сайта о нем знает только ограниченное число пользователей. Например, разработчики или клиенты, которым компания прислала ссылку на свой веб-ресурс. Чтобы сайт посещало больше людей, он должен попасть в базы поисковых систем.
Чтобы добавить новые сайты в базы, поисковые системы сканируют интернет с помощью специальных программ (поисковых роботов), которые анализируют содержимое веб-страниц. Этот процесс называется индексацией.
После того как впервые пройдет индексация, страницы сайта начнут отображаться в поисковой выдаче. Пользователи увидят их в процессе поиска информации в Яндекс и Google — самых популярных поисковых системах в рунете. Например, по запросу «заказать хостинг» в Google пользователи увидят ресурсы, которые содержат соответствующую информацию:
Однако не все страницы сайта должны попадать в поисковую выдачу. Есть контент, который интересен пользователям: статьи, страницы услуг, товары. А есть служебная информация: временные файлы, документация к ПО и т. п. Если полезная информация в выдаче соседствует с технической информацией или неактуальным контентом — это затрудняет поиск нужных страниц и негативно сказывается на позиции сайта. Чтобы «лишние» страницы не отображались в поисковых системах, их нужно закрывать от индексации.
Кроме отдельных страниц и разделов, веб-разработчикам иногда требуется убрать весь ресурс из поисковой выдачи. Например, если на нем идут технические работы или вносятся глобальные правки по дизайну и структуре. Если не скрыть на время все страницы из поисковых систем, они могут проиндексироваться с ошибками, что отрицательно повлияет на позиции сайта в выдаче.
Для того чтобы частично или полностью убрать контент из поиска, достаточно сообщить поисковым роботам, что страницы не нужно индексировать. Для этого необходимо отключить индексацию в служебном файле robots.txt. Файл robots.txt — это текстовый документ, который создан для «общения» с поисковыми роботами. В нем прописываются инструкции о том, какие страницы сайта нельзя посещать и анализировать, а какие — можно.
Прежде чем начать индексацию, роботы обращаются к robots.txt на сайте. Если он есть — следуют указаниям из него, а если файл отсутствует — индексируют все страницы без исключений. Рассмотрим, каким образом можно сообщить поисковым роботам о запрете посещения и индексации страниц сайта. За это отвечает директива (команда) Disallow.
Как запретить индексацию сайта
О том, где найти файл robots.txt, как его создать и редактировать, мы подробно рассказали в статье. Если кратко — файл можно найти в корневой папке. А если он отсутствует, сохранить на компьютере пустой текстовый файл под названием robots.txt и загрузить его на хостинг. Или воспользоваться плагином Yoast SEO, если сайт создан на движке WordPress.
Чтобы запретить индексацию всего сайта:
Добавьте в начало нужные строки.
Robots txt запрет индексации папки
В рубрике «HTML» Вы найдете бесплатные уроки по работе с этим языком гипертекстовой разметки, который лежит в основе большинства сайтов.
Данная рубрика заменит Вам полноценный «HTML учебник». Здесь Вы сможете найти ответы на большинство вопросов, связанных с HTML и DHTML.
Бесплатные уроки HTML для начинающих
Помимо текстовых уроков, Вы также сможете найти на нашем сайте полезные видео уроки по HTML. Простые и понятные примеры и объяснения помогут Вам в кратчайшие сроки освоить этот базовый язык «сайтостроения».
Лайфхак: наиполезнейшая функция var_export()
При написании или отладки PHP скриптов мы частенько пользуемся функциями var_dump() и print_r() для вывода предварительных данных массив и объектов. В этом посте я бы хотел рассказать вам о функции var_export(), которая может преобразовать массив в формат, пригодный для PHP кода.
17 бесплатных шаблонов админок
Парочка бесплатных шаблонов панелей администрирования.
30 сайтов для скачки бесплатных шаблонов почтовых писем
Создание шаблона для письма не такое уж простое дело. Предлагаем вам подборку из 30 сайтов, где можно бесплатно скачать подобные шаблоны на любой вкус.
Как осуществить задержку при нажатии клавиши с помощью jQuery?
К примеру у вас есть поле поиска, которое обрабатывается при каждом нажатии клавиши клавиатуры. Если кто-то захочет написать слово Windows, AJAX запрос будет отправлен по следующим фрагментам: W, Wi, Win, Wind, Windo, Window, Windows. Проблема?.
15 новых сайтов для скачивания бесплатных фото
Подборка из 15 новых сайтов, где можно скачать бесплатные фотографии для заполнения своих сайтов.
50+ бесплатных Bootstrap 3 шаблонов и элементов UI
Подборка бесплатных UI материалов и Bootstrap 3 шаблонов за уходящий месяц.
Зум слайдер
Запрет индексации страниц/директорий через robots.txt
Как запретить индексацию страниц или директорий через текстовый файл robots.txt
Все поисковые роботы при заходе на сайт в первую очередь ищут файл robots.txt. Это текстовый файл, находящийся в корневой директории сайта (там же где и главный файл index., для основного домена/сайта, это папка public_html), в нем записываются специальные инструкции для поисковых роботов.
Эти инструкции могут запрещать к индексации папки или страницы сайта, указать роботу на главное зеркало сайта, рекомендовать поисковому роботу соблюдать определенный временной интервал индексации сайта и многое другое
Если файла robotx.txt нет в каталоге вашего сайта, тогда вы можете его создать.
Чтобы запретить индексирование сайта через файл robots.txt, используются 2 директивы: User-agent и Disallow.
Примеры:
Запретить индексацию вашего сайта ботом MSNbot
Запретить индексацию вашего сайта ботом Yahoo
Запретить индексацию вашего сайта ботом Yandex
Запретить индексацию вашего сайта ботом Google
Запретить индексацию вашего сайта для всех поисковиков
Запрет индексации папок cgi-bin и images для всех поисковиков
Теперь как разрешить индексировать все страницы сайта всем поисковикам (примечание: эквивалентом данной инструкции будет пустой файл robots.txt):
Пример:
Разрешить индексировать сайт только ботам Yandex, Google, Rambler с задержкой 4сек между опросами страниц.
Robots txt — как закрыть или открыть индексацию папок, файлов, страниц или всего сайта в целом
Здравствуйте, уважаемые читатели блога Goldbusinessnet.com. Сегодня поговорим о важнейшем файле robots.txt, являющемся одним из краеугольных камней настройки индексации сайта как одного из аспектов его успешного продвижения в поисковых системах (для рунета наиболее значимыми являются Яндекс и Гугл, которым мы и уделим основное внимание).
Почему этот файлик настолько важен именно в наши дни и какую задачу он выполняет? Дело в том, что современное сайтостроение во многих случаях завязано на использовании той или иной системы управления контентом (CMS, или, по-простому, движков сайта). Это, в принципе, нужное изобретение, обладающее многочисленными плюсами и помогающее автоматизировать процесс.
Но побочный эффект в работе CMS заключается в том, что они генерируют «мусорные» страницы, не несущие полезной информации для пользователей, попадание в индекс которых вполне может пагубно сказаться на ранжировании всего ресурса. Вот тогда-то и приходит на помощь тот самый robots.txt, который позволяет указать роботам поисковиков, сканирующим сайт, какие странички необходимо брать в индекс, а какие игнорировать.
Этот файл может иметь целую массу вариантов в зависимости от структуры сайта, его содержания и, конечно, типа CMS. Нельзя составить универсальный вариант для всех видов ресурсов, так как каждый из них обладает своими нюансами. Но если в дополнение к изучению этой публикации вы удосужитесь просмотреть статью, где даны примеры robots.txt для сайта WordPress, то наверняка сможете настроить файл роботс для любого проекта.
Значение robots txt и его связь с одноименным тегом
В статье об управлении индексированием ресурса (ссылка дана в самом начале статьи) я привел инструменты, которые в совокупности дают возможность произвести как грубую, так и тонкую настройку для каждой папки (раздела) и вебстраницы сайта. Напомню эти средства вкратце:
Среди этих инструментов хочу отметить связку файла роботс.тхт, в котором прописаны условия индексирования для всего сайта, и мета тега robots, позволяющего настроить индексацию для конкретной страницы. Напомню, что в HTML-коде синтаксис правила, с помощью которого можно запретить индексацию вебстраницы, выглядит следующим образом:
Все инструменты, перечисленные выше, вполне легитимные и принимаются практически всеми поисковыми системами, включая Yandex и Google. Я заговорил о связи robots.txt и одноименного метатега потому, что их взаимодействие помогает отключить индексацию для всех нужных страничек сайта, причем, гарантированно. Дело в том, что для разных поисковиков эти два средства имеют различный приоритет. Вот что говорит по этому поводу, например, Google:
Таким образом, файл роботс.тхт предназначен, прежде всего, для управления сканированием ботов Гугла. При этом для различных типов файлов находящиеся в нем запрещающие директивы действуют по-разному. Например, медиафайлы не только не будут обработаны, но и не появятся в результатах поиска. А вот в отношении вебстраниц все немного сложнее.
Дело в том, что веб-страницы могут быть представлены в поиске Google даже в том случае, если роботу Гугла запрещено их сканировать. Такое может произойти, ежели на других веб-ресурсах в интернете есть ссылки на эти странички. Поэтому, если вы пожелаете наверняка исключить их появление в поиске, надо использовать метатег роботс без запрета ее обработки в robots.txt.
Помните, что при наличии запрещающей директивы в robots.txt для той или иной страницы робот Google не сможет ее обработать, поэтому ему будет недоступен параметр noindex одноименного мета тега (даже если он указан), а значит, такая нежелательная вебстраница вполне может появиться в результате поиска.
Теоретически попадание в индекс страниц, не предназначенных посетителям, должно оказывать негативное влияние на раскрутку сайта в Гугле. Поэтому с целью систематизации для файлов и папок нужно ставить запрет в роботс.тхт, а для вебстраниц лучше использовать noindex.
Но на практике очень часто проекты, у которых в файле robots.txt запрещены для индексации все необходимые объекты, не испытывают серьезных трудностей и вполне себе успешны. Главное, что необходимо при этом выполнить — закрыть индексирование для всех нежелательных страниц тем или иным способом и открыть для тех, которые содержат полезный контент.
Таким образом, веб-проекты с разными принципами составления файла robots.txt продвигаются без проблем как в Яндексе (который не накладывает подобных ограничений), так и в Google. Но это на данный момент. Как будут работать их алгоритмы в дальнейшем, никто предсказать не в состоянии, поэтому я обязан был сообщить о всех нюансах.
Как составить роботс.тхт с помощью важнейших директив
Итак, переходим непосредственно к наполнению этого важнейшего файлика. Несмотря на то, что я стараюсь подробно освещать ключевые моменты данной темы, возможно, вам будут полезны данные, взятые из первоисточников, коими являются раздел помощи Яндекса и хелп Гугла.
Можно, конечно, использовать и распрекрасное приложение Notepad++ (здесь все о продвинутом блокноте), без которого не представляют себе своей деятельности многие вебмастера.
Формат, синтаксис и структура
Разберем вкратце его синтаксические и структурные особенности. Содержимое этого файла состоит из правил, каждое из которых включает несколько таких строчек (директив):
Каждая директива начинается с новой строки. В этой схеме «поле» — название соответствующей директивы, после чего идет двоеточие. Далее можно оставить пробел для лучшей читабельности (необязательно). Следующая часть — значение (параметр), вновь необязательный пробел и комментарии после знака решетки «#», которые вносятся для пояснения конкретной директивы.
В качестве значений указывается наименование агента (робота), которому надлежит выполнять следующие ниже директивы, а также файлы и папки, к которым они должны быть применены. Если вы вписываете несколько правил (записей), то они разделяются пустой строкой.
Наверное, лучше представить рисунок, отражающий выше сказанное, чтобы было понятнее:
Далее вкратце рассмотрим еще некоторые нюансы синтаксиса роботс тхт:
1. Каждый краулер, указанный в качестве параметра «User-agent» (Yandex, Googlebot и т.д.), выполняет только те записи директив (Disallow, Allow), которые прописываются именно для него в отдельном правиле (блоке, секции). Требования, предъявляемые к другим ботам, он игнорирует. Исключение составляет лишь межсекционная директива «Sitemap», которая отделяется пустой строкой от всех правил. О ней мы обязательно поговорим подробнее.
2. Необязательные комментарии, перед которыми должен ставиться знак решетки «#», могут находиться в любом месте файла. Содержимое комментариев не учитывается пауком, таким образом оно никак не влияет на результат индексации.
3. Регистр элемента может быть любым (записи «User-agent» и «user-agent», а также «Disallow» и «disallow» совершенно равнозначны). Элемент чувствителен к регистру, если он не принадлежит «User-agent» (например, «YandexBot» и «yandexBot» идентичны), а вот записи «Disallow: /procop/» и «Disallow: /Procop/» будут по-разному восприняты ботами, так что будьте внимательны.
И еще. В файле роботс запрещено напрямую использовать символы национальных алфавитов, в том числе русские буквы. Поэтому нужно перекодировать кириллицу в последовательность специальных символов. Но здесь есть один очень важный нюанс.
Например, для обозначения кириллических доменных имен, которые могут вносится в качестве параметров директивы Host (о которой мы еще порассуждаем), надо применять кодирование посредством Punycode. Поэтому домен русскими буквами, например, такой:
После преобразования в файле robots.txt будет выглядеть так:
А вот для отображения параметров в виде URL-адресов (путей) в абсолютном или относительном виде правильнее будет применять перекодировку urlencode, которую можно осуществить, скажем, в этом специализированном онлайн-сервисе. Тогда, например, директива:
В robots.txt примет такой вид:
Для настройки правил индексирования существует несколько директив, из них стандартными считаются Disallow (Allow) и User-agent, которые должны присутствовать в обязательном порядке хотя бы единожды. Только в этом случае роботс тхт будет считаться корректным.
Директива User-agent
Необходимо сказать еще несколько слов о роботах Яндекса и Гугла в контексте информации об этой директиве. Основные роботы (по-другому, боты, пауки или краулеры) данных поисковых систем носят название соответственно YandexBot и Googlebot.
Однако, существует еще целый ряд пауков, отвечающих за индексацию изображений, новостей и т.д. Здесь вы можете лицезреть список ботов для Яндекса, а здесь — для Google.
Данная директива содержит название робота той поисковой системы, для которого и прописаны правила. Например, для основного бота Яндекса строчка с «User-agent» выглядит так:
А вот если вы желаете дать указание сразу всем роботам, то эта директива уже будет такой:
В отношении Гугла ситуация немного другая. Ежели вы прописываете правила для основного робота этой поисковой системы, то они будут выполняться и остальными ботами Google:
Если указания предназначены для ботов всех поисковиков, то строка будет такой:
При необходимости запретить индексацию картинок в Гугле, например, в качестве значения user-agent вы указываете Googlebot-Image. Ну и так далее.
Директивы Disallow и Allow
Данные директивы, как было упомянуто выше, наряду с user-agent является обязательными и взаимоисключающими по своему смыслу (Disallow — запрещать, Allow — разрешать). Отмечу, что при указании их параметров используются регулярные выражения, которые формируются с помощью символов «*» и «$»:
Сначала это немного сложно уразуметь, особенно начинающим. Но, надеюсь, ниже следующие примеры, в которых присутствуют регулярные выражения, внесут полную ясность. Далее давайте разберем различные образцы использования Disallow и Allow.
1. Для того, чтобы разрешить полностью индексировать сайт всеми поисковиками, следует указать Disallow с пустыми параметрами:
Либо директиву Allow со значением «/» (слеш), который является обозначением корневого каталога, содержащего абсолютно все файлы сайта, которые и будут обработаны краулерами:
Эту запись в соответствии с синтаксисом регулярных выражений можно представить и так:
То есть, звездочка обычно опускается и просто подразумевается. Это правило действительно для всех случаев. Имейте это ввиду при изучении примеров, последующих дальше.
2. Полный запрет индексации сайта достигается также двумя путями, а именно, с помощью обратных предыдущим директив. Вот таким образом:
3. Вот как можно запретить обработку ботами определенного каталога:
При этом полный (абсолютный) путь до данной директории будет такой:
4. В примере, последующем ниже, запрещены к индексации файлы (изображения, вебстраницы и др.), входящие в директорию «premier», а также те объекты, пути до которых (URL) после слеша начинаются с этого набора символов:
То есть, под запрет попадут, скажем, файлы со следующими абсолютными ссылками (среди них могут быть вебстраницы):
Это происходит потому, что в конце значения директивы «/premier» по умолчанию присутствует символ «*», хотя он и не указан в реальности (читайте о регулярных выражениях в начале этой главы). Иначе говоря, приведенная выше запись абсолютно тождественна такой:
5. В соответствии с синтаксисом регулярных выражений знак «$», как мы уже знаем, отменяет действие «*». Заменим в предыдущей записи звездочку на символ доллара:
В этом случае запрет будет распространяться только на файл, к которому есть доступ по ссылке «site.ru/premier».
По умолчанию подразумевается звездочка в конце директивы (помните?):
А это означает запрет на абсолютно все файлики с этим расширением, включая веб-страницы, в ссылках на которые могут присутствовать различного рода параметры. Вот примеры полных путей на запрещенные объекты:
Для полного понимания приведу образцы ссылок на объекты, которые необходимо исключить из индекса (сравните с предыдущим примером):
Ну и парочка объектов, подпадающих под эту запрещающую директиву:
9. Далее рассмотрим пример совокупного использования Allow и Disallow. Допустим, что нам надо запретить обработку краулерами определенной директории, но разрешить индексацию входящих в нее определенных файлов (вебстраниц):
Директива Sitemap
В качестве параметра Sitemap указывается URL, или полный путь до файла с картой веб-проекта (линк на соответствующую статью о sitemap в формате XML есть в начале публикации), в которой находится систематизированный перечень всех страниц, разрешенных для сканирования ботами. Это еще один аспект ускорения индексации. В составе роботс.тхт это выглядит так:
Данная директива не связана с блоками, предназначенными конкретным краулерам (User-agent), поэтому она добавляется в конце через пустую строку и доступна для ботов всех поисковиков, которым предназначен robots.txt. Ежели ваш ресурс достиг приличного уровня, вследствие чего число URL в карте сильно возросло, то полезно будет добавить ссылку на сжатую версию карты:
В результате файл роботс примет такой облик:
Если же количество урлов в карте превысило 50 000 либо ее вес достиг 50 Мб, то рекомендуется создать несколько файлов Sitemap (можно в сжатом виде) и указать в качестве параметра ссылку на так называемый файл индекса (который может носить такое же имя, то есть «sitemap.xml»).
Еще один нюанс. Поскольку присутствие XML sitemap в открытом доступе, как считается, дает возможность для незаконных манипуляций со стороны третьих лиц (включая воровство контента), многие вебмастера маскируют карту сайта, давая ей мудреное название, состоящее из набора разных символов (что вполне легитимно) и не вписывают директиву Sitemap в роботс.тхт.
Это вполне допустимо, по крайней мере для Yandex и Google (а ведь в рунете именно они правят бал), которые не требуют обязательного присутствия директивы «Sitemap», потому что XML карту можно добавить в соответствующих панелях вебмастеров этих поисковых систем.
Host для Яндекса
Этот элемент предназначен для указания главного зеркала сайта (с www или без) и его понимают только роботы Яндекса, поэтому директива Host прописывается в блоке правил, предназначенных именно российскому поисковику. Причем, если сайт работает на протоколе HTTP, то указывают просто домен ресурса. Так:
В случае, ежели веб-проект имеет защищенный протокол, то в качестве параметра Host необходимо указывать полный урл. Так:
Таким образом можно было осуществлять выбор зеркала до недавнего времени.
На данный момент директива Host отменена в связи с некоторыми трудностями, которые часто возникали при переезде сайта. Теперь назначение главного зеркала происходит только при помощи 301 редиректа.
Подобное решение Яндекса позволило сделать шаг навстречу системному подходу и обобщению правил для поисковых систем, лидирующих в российском сегменте интернета, поскольку Google, как я отметил, никогда не учитывал директиву Host.
Clean-param
Дает указание краулерам не учитывать адреса с означенными параметрами, причем состоит из 2 частей: собственно параметра(-ов) и URL (пути) страниц, которые разделяет пробел. Синтаксис в развернутом виде можно представить так:
Например, в конце записи [путь] подразумевается символ «*» (даже если звездочка не стоит), причем, он играет точно такую же роль, как и для значения любой стандартной директивы. Вот пример запрета различных видов UTM-меток («utm_campaign», «utm_medium», «utm_source», «utm_term», «utm_content»), которые используются при отслеживании эффективности переходов пользователей по ссылкам) для страниц определенного раздела веб-ресурса:
И для всего проекта в целом (напомню, что простой слеш «/» означает корень сайта):
Хотя в этом случае вторую часть можно опустить:
В теории «Clean-param» возможно указывать в любом месте файла, потому как эта инструкция, наравне с «Sitemap», является межсекционной в понимании ботов Yandex. Но, поскольку она принимается только российским поисковиком, то вписывать ее следует в составе принадлежащего ему блока (иначе при проверке в том же Гугле файл роботс тхт может вызвать ошибки):
По сути эта директива помогает избавиться от дублирования. Ведь при использовании тех же меток (или GET-параметров) появляется целая куча вебстраниц с одинаковым содержанием, но с самыми разнообразными адресами:
В результате действия Clean-param именно первая страничка будет учтена и проиндексирована Яндексом, все остальные будут проигнорированы. Так как директива понимается исключительно «зеркалом рунета», то, мне кажется, более удачным вариантом будет применение rel=»canonical», который определяет основную вебстраницу и принимается обоими крупнейшими поисковиками.
Crawl-delay и расширенные директивы
Выше мы рассмотрели директивы, которые наиболее часто используются (или использовались ранее подобно Host). Осталось рассмотреть еще несколько, скорее, в качестве дополнительной информации, потому что они либо не учитываются ведущими поисковиками, либо уже отменены.
Crawl-delay — предназначена для систематизации нагрузки на сервер и указывает тайм-аут для слишком активных краулеров. В качестве параметра определяется время в секундах, при этом можно даже указывать дробные значения. Эта директива входит в группу правил для конкретного «User-agent», так как не все поисковые системы ее понимают (кстати, Гугл в их числе):
Указанное в данном примере время (1.5 секунды) робот Яндекса каждый раз должен «ожидать» перед обработкой следующей страницы. Совершенно очевидно, что для небольшого веб-ресурса данная директива излишня. Ну а для более крупных проектов она должна использоваться крайне осмотрительно, так как неверно проставленное значение способно привести к проблемам.
На данный момент Яндекс отказался от учета Crawl-delay. Это было сделано с целью ускорения появления новых страниц в поиске и их обновления, так как некорректно применяемые владельцами сайтов параметры часто замедляют скачивание документов. В качестве альтернативы создан инструмент «Скорость обхода» в панели вебмастеров.
В расширенной спецификации robots.txt встречается еще парочка директив, смысл которых понятен из следующих примеров:
Но они, насколько известно, сейчас не поддерживаются крупнейшими поисковыми системами. По крайней мере, Yandex и Google их точно игнорируют, а потому для продвижения в рунете они практически не нужны, по крайней мере, на данный момент.
Как создать правильный robots txt
Чтобы выполнить задачу, для начала нужно проанализировать структуру и содержание вашего сайта, решив, для каких типов объектов, включая вебстраницы, надо исключить попадание их в индекс, а для каких разрешить. Это поможет правильно настроить индексацию проекта.
Скажем, для стандартного современного информационного сайта или блога логично включить индексирование главной вебстраницы, рубрик, статей, постоянных страниц, которые содержат востребованный контент. Ну а отключить нужно то, что реально мешает:
1. Большинство создаваемых сегодня сайтов используют какие-либо движки (WordPress, Joomla и т.д.), в которых присутствует разные системные файлы и папки, а также созданные при помощи специальных функций вспомогательные страницы.
Все эти объекты не несут никакой полезной информации для пользователей, поэтому должны исключаться из индекса (конкретизировать и выдать универсальный список на все случаи жизни довольно сложно, но пример robots.txt для WP мы обязательно разберем).
Ежели этого не сделать, то, помимо всего прочего, огромное количество времени будет потрачено ботами на обработку всего этого «мусора» (с точки зрения полезности для посетителей), в итоге ценные материалы могут долго ожидать своей очереди. К тому же, бессистемно ползающие по закоулкам сайта поисковые пауки создадут приличную нагрузку на сервер, а это уже не шутки.
2. Еще одна задача — обеспечить уникальный контент на своем ресурсе и избежать дублей страниц, которые имеют одинаковое содержание, но располагаются по разным URL-адресам. Это можно сделать при помощи соответствующих значений директив Disallow и Clean-param (для Яндекса). Но, чтобы гарантированно этого достичь для обоих поисковиков, лучше определить канонические страницы посредством rel canonical. Комплексный подход тоже вполне реален.
Думаю, завершить теоретические выкладки надо примером готового роботс.тхт. Поскольку универсальный файл для всех сайтов, работающих на различных CMS, предоставить нереально, даю стандартный пример для движка WordPress, так как он является самым популярным в мире:
Но, так как алгоритмы поисковиков ввиду развития технологий меняются, этот вариант (который пока является рабочим), возможно, с течением времени можно будет считать устаревшим. Вы можете ознакомиться со всеми образцами robots.txt, включая тот, который составлен в полном соответствии с последними веяниями в области управления индексированием.
После того, как файл роботс.тхт с помощью выше изложенного матерала будет создан, его нужно будет закачать на сервер, где он должен располагаться в корневой директории сайта (это можно сделать посредством полезного FTP-менеджера FileZilla, ссылка на материал об этой программе в последней главе), поскольку правила, прописанные в нем, применяются ко всем файлам и папкам, то есть, его URL должен иметь такую структуру:
Любые другие варианты будут неверными и могут привести к хаосу при настройке индексации. Поэтому после создания и загрузки на сервер, где хостится ваш сайт, обязательно введите в поисковую строку представленный выше урл, только вместо «http://site.ru/» подставьте нужный протокол (возможно, вы используете «https») и доменное имя своего ресурса. Если содержание robots.txt откроется по указанному адресу, то и с этой стороны вы все сделали правильно.
Онлайн генераторы для создания robots.txt
Это вариант для ленивых или находящихся в постоянном цейтноте владельцев сайтов. Хотя лично я считаю, что ручная работа, особенно вкупе с человеческим интеллектом, который опережает «машинный разум» (несомненно имеющий свою плюсы) в некоторых важных аспектах, намного ценнее. Ну да ладно, как говорится, на вкус и на цвет.
В сети довольно много генераторов, с помощью которых можно создать файл роботс тхт онлайн. Все они имеют примерно схожий функционал, поэтому я выбрал один такой инструмент, который принадлежит известному сервису PR-CY.ru, что обеспечит корректность сформированного файла:
Разрешаете всем ботам индексировать сайт (хотя нас интересуют, в первую очередь, Yandex и Google, это не повредит), напротив опции «с задержкой» оставляете значение «0», поскольку на данный момент оба рунетовских поисковика не поддерживают директиву Crawl-delay, а для настройки данной опции в их панелях вебмастеров есть альтернативный инструмент.
Загрузка файла на сервер, его анализ и проверка
Итак, неважно каким способом вы составили robots txt (вручную с учетом всех выше приведенных рекомендаций либо посредством онлайн генератора). Сохраненный файл затем надо закачать на сервер хостинга, где «живет» сайт. Напомню, что он должен находиться в корневой директории:
Выше уже было отмечено, что осуществить это можно с помощью ФТП-менеджера (на мой вкус самым удобным и функциональным из них является Файлзилла):
Тем, кто только начинает свою деятельность по вебмастерингу, сообщу, что для проверки роботс вы должны зарегистрироваться в сервисах Яндекс Вебмастер и Google Search Console с тем, чтобы использовать полезные инструменты в том числе для анализа robots.txt своих сайтов.
Чтобы проверить созданный файл как на корректность его синтаксиса, так и на соответствие результата действия директив для различных групп страниц сайта, нужно проделать следующие шаги, предварительно войдя в панель вебмастеров упомянутых гигантов поиска.
1. В сервисе вебмастеров Яндекса
Вставьте в окно редактора содержимое вашего варианта роботс.тхт, находящегося в корне сайта, и нажмите кнопку «Проверить»:
Ниже вы получите результаты синтаксической проверки с сообщением о количестве ошибок:
Чтобы проанализировать, правильно ли настроена индексация всех URL (запрет или разрешение), не нужно указывать ссылки на абсолютно все страницы вебсайта. Просто поочередно введите по одному урлу, каждый из которых ведет на вебстраничку, представляющую ту или иную группу в зависимости от структуры ресурса (например, для блога это главная, рубрики, статические страницы и вебстарницы со статьями):
После нажатия соответствующей кнопочки появятся итоги анализа. Вполне возможно, что Яндекс забракует ваш robots.txt с точки зрения синтаксиса. Также вы можете обнаружить, что URL, которые вы планировали открыть для индексирования, заблокированы, или наоборот, к тем, которые должны быть закрыты, робот имеет доступ.
В этом случае у вас есть возможность поэкспериментировать в этом же редакторе Я.Вебмастера, изменяя содержимое и тут же каждый раз производя проверку, пока не добьетесь необходимого результата. Затем вы сможете скачать окончательный вариант файла на компьютер, после чего загрузить новую версию на сервер. Очень удобно.
2. В Google Search Console (Гугл Вебмастер) шаги аналогичные, конечно, со своими нюансами.
Точно также, как в Яндекс Вебмастере, вы можете вставить содержание будущего robots.txt, которое было составлено в том числе на рекомендациях, предоставленных в этой публикации, в редактор и проверить его. Но для начала лучше проанализировать на корректность все группы страничек, вводя их URL по очереди в соответствующее поле:
Если вас все устроило, то перейдите наверх к окну редактора и нажмите кнопку «Отправить», после чего появится окно, где указаны 3 шага, которые вы должны совершить для проверки:
Скачиваете отредактированный должным образом файлик с Search Console к себе на компьютер, добавляете его в корневой каталог сайта, проверьте, как он выглядит в браузере (доступен ли он для пауков Google) и сообщаете об его обновлении. Если после этих телодвижений возникли какие-то ошибки, проанализируйте их, вновь внесите необходимые изменения в том же окне и повторите выше описанные шаги, пока не добьетесь полного отсутствия ошибок:
Это будет означать, что robots txt полностью корректен во всех аспектах. Чтобы уж полностью избежать всех возможных белых пятен по теме, изучите материал в формате видео: