7 января 2019
20 мин на чтение
71

Правильная настройка robots.txt: подробное руководство

author__photo
Елизавета Теряева
Редактор блога
Нет времени читать?



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

Поисковые системы регулярно считывают содержимое каждого сайта для того, чтобы индексировать актуальные страницы и материалы. Robots.txt указывает краулерам, какие разделы сайта нужно просматривать, а какие — нет. С его помощью повышается эффективность процесса — поисковая система обрабатывает сайт быстрее и запоминает релевантную информацию. Не стоит путать это с ускорением загрузки сайта. Впоследствии, когда пользователи будут делать запросы, они увидят ваш сайт в выдаче, в частности, благодаря правильной настройке Robots.txt.

Чтобы анализировать конверсии при изменениях в robots.txt, рекомендуем установить аналитику:

caltouch-platform

Эффективный маркетинг с Calltouch

  • Анализируйте воронку продаж от показов рекламы до ROI от 990 рублей в месяц
  • Отслеживайте звонки с сайте с точностью определения источника рекламы выше 96%
  • Повышайте конверсию сайта на 30% с помощью умного обратного звонка
  • Оптимизируйте свой маркетинг с помощью подробных отчетов: дашборды, графики, диаграммы
  • Добавьте интеграцию c CRM и другими сервисами: более 50 готовых решений
  • Контролируйте расходы на маркетинг до копейки

Для чего используется Robots.txt

Данный файл говорит краулерам и роботам, какие страницы сайта они должны просматривать, а к каким доступ запрещён. Это важно в связи с тем, что случайно могут быть проанализированы страницы с нерелевантным контентом. В некоторых случаях есть риск запустить бесконечный цикл считывания — например, с календарём, который генерирует новый URL для каждой даты.

Как говорится в спецификации robots.txt для Google, правильный robots.txt должен являться текстовым файлом в кодировке ASCII или UTF-8. Строки или иначе — директивы — должны отделяться типами прерывания CR, CR/LF или LF.

Обращайте внимание на размер файла, так как у каждой поисковой системы свой лимит. Google читает robots.txt не более 500 Кб, а Яндекс посчитает всё содержимое открытым, если файл весит больше 32 Кб.

Где должен располагаться Robots.txt

Файл располагается в корневом каталоге сайта, например, https://www.calltouch.ru/robots.txt.

Внимание: файл строго привязан к адресу домена вплоть до протокола. То есть, для http и https требуется предусмотреть 2 разных robots.txt, даже если затем адреса совпадают. Также один и тот же файл не применим для субдоменов.

Когда используются правила robots.txt

На самом деле веб-сайтам не стоит полагаться на robots.txt в целях контроля краулинга. В первую очередь стоит позаботиться об архитектуре сайта и о том, чтобы сделать его более доступным для поисковых роботов, очистив от всего лишнего. Тем не менее, если на сайте работают плохо оптимизированные разделы, которые лучше скрыть от глаз пользователей, и эти проблемы не устранимы в обозримой перспективе, robots.txt будет правильным решением.

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

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

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

Когда не стоит прибегать к robots.txt

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

Блокировка Javascript/CSS

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

Например, если ваша страница содержит редиректы с помощью Javascript, а тот, в свою очередь, закрыт от индексации, робот распознает в таком перенаправлении клоакинг — подмену страницы.

Блокировка по URL

Robots.txt можно использовать для блокировки URL со специфическими параметрами, но это далеко не всегда верное решение. Правильная настройка robots,txt предполагает использование Google Search Console — такой способ будет приемлем с точки зрения поисковых систем.

Можно разместить информацию в самом URL — /items#filter=date, так как краулеры не считывают это. Если URL-параметр должен быть использован обязательно, ссылка может содержать rel=nofollow во избежание индексации.

Блокировка URL с обратными ссылками

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

Установка правил против краулеров соцсетей

Даже если вы не хотите, чтобы поисковые системы читали ваши страницы, возможно, доступ роботов соцсетей не помешает. Ведь они формируют сниппеты в случае репоста ваших страниц в соцсети. Например, Facebook будет пытаться зайти на каждую страницу, которую постят в нём, чтобы отображать релевантный сниппет.

Блокировка доступа к сайтам в процессе разработки

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

Когда нечего блокировать

Некоторые сайты с весьма чистой архитектурой не испытывают потребности в блокировке каких-либо разделов. В такой ситуации вообще можно не создавать robots.txt, а возвращать страницу 404.

Синтаксис robots.txt

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

Комментарии

Комментарии — это строки, которые полностью игнорируются поисковыми системами. Они начинаются со знака #. Они нужны для заметок о том, какие действия выполняют строки файла. Рекомендуется документировать каждую директиву в robots.txt, чтобы она могла быть удалена за ненадобностью или отредактирована.

Указания User-agent

Это блок, который даёт указания поисковым системам и роботам, используя директиву User-agent. Например, если вы хотите установить правила отдельно для Яндекса и Google. Тем не менее, он не применим для Facebook и рекламный сетей — на них можно повлиять только через специальный токен с применением особых правил.

Каждый робот предусматривает собственный user-agent токен.

Краулеры сперва учитывают наиболее точные директивы, разделённые дефисом, а затем переходят к объемлющим. Так, Googlebot News сначала выполнит указания для User-agent «googlebot-news», а потом уже «googlebot» и впоследствии «*».

Наиболее распространённые роботы в российском сегменте — это:

  • Googlebot
  • Mediapartners-Google
  • Yandex
  • Facebook

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

Наименования роботов в robots.txt нечувствительны к регистру. «Googlebot» и «googlebot» вполне взаимозаменяемы.

Шаблоны адресов

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

Для эффективного использования такой функции понадобится два знака:

  • * — данный символ группировки обозначает любое количество символов. Его лучше располагать в начале или внутри адреса, но не в конце. Можно использовать сразу несколько групповых символов — например, «Disallow: */notebooks?*filter=». Правила с полными адресами не должны начинаться с данного символа.
  • $ — знак доллара означает конец адреса. Так, «Disallow: */item$» будет соответствовать URL, заканчивающемуся на «/item», но не «/item?filter» или подобным.

Обратите внимание, что эти правила уже чувствительны к регистру. Если вы запрещаете адреса с параметром «search», роботы всё ещё будут просматривать адреса, содержащие «Search».

Директивы работают только с телом адреса и не включают протокол или сам домен. Слэш в начале адреса означает, что данная директория располагается сразу после основного каталога. Например, «Disallow: /start» будет соответствовать «www.site.ru/start».

Пока вы не добавите * или / в начало директивы, она не будет ничему соответствовать. «Disallow: start» не будет иметь смысла — роботы её не поймут.

Чтобы наглядно продемонстрировать правило, приведём таблицу примеров:

Sitemap.xml

Директива Sitemap в robots.txt говорит поисковикам, где найти карту сайта в формате XML. Это поможет им лучше ориентироваться в структуре страниц.

Для Sitemap вы должны указать полный путь, как это сделано у нас: «Sitemap: https://www.calltouch.ru/sitemap.xml». Также следует отметить, что Sitemap не всегда располагается на том же домене, что и весь сайт.

Поисковые роботы прочитают указанные в robots.txt карты сайтов, но они не появятся в том же Google Search Console, пока вы не дадите на это разрешение.

Блоки в robots.txt

Директива Disallow в robots.txt может использоваться по-разному для многих агентов. Покажем, каким образом могут быть представлены разные комбинации блоков.

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

Несколько блоков User-Agent

Вы можете назначить правило сразу нескольким роботам, указав их в начале. Например, следующая директива Disallow будет работать как для Яндекса, так и для Google:

Пустые строки между блоками

Поисковые системы игнорируют пустые строки между директивами. Даже если одна директива будет отделена таким образом от предыдущей, робот всё равно её прочитает:

В следующем примере сразу два робота будут руководствоваться одним правилом:

Комбинация отдельных блоков

Разные блоки, в которых указан один и тот же агент, будут учитываться. Таким образом, Google не станет читать оба раздела, указанных в файле:

Директива Allow

Эта директива даёт доступ к указанному разделу. Вообще она действует по умолчанию, но может применяться для отмены ранее поставленного правила Disallow для вложенного раздела. Если вы запретили доступ к «/notebooks», а затем указали директиву «Allow: /notebooks/gamers», то директория /notebooks/gamers окажется читаема для краулеров, даже с учётом того, что вышестоящая запрещена к просмотру.

Приоритеты в robots.txt

Если указано несколько правил Allow и Disallow, роботы обращают внимание на те, у которых больше длина в знаках. Рассмотрим пример пути «/home/search/shirts»:

В этом случае весь путём разрешён к чтению, так как директива Allow содержит 9 знаков, а Disallow — максимум 7. Если вам нужно обойти это правило, то для увеличения длины строки можно добавлять *.

Если длина Allow и Disallow совпадает, то приоритет отдаётся Disallow.

Директивы robots.txt

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

Следующие директивы работают аналогично Allow и Disallow, используя символы * и /.

Noindex

Директива Noindex полезна для повышения точности индексирования. Disallow никак не избавляет от необходимости индексации указанную страницу, в то время как Noindex позволяет убрать страницу из индекса.

Но тот же Google официально не поддерживает директиву Noindex — ситуация может измениться со дня на день. В подобной неопределённости лучше использовать данный инструмент для решения краткосрочных задач, как дополнительную меру, но не основное решение.

Помимо Noindex Google негласно поддерживает и ряд других директив, размещаемых в robots.txt. Важно помнить, что не все краулеры поддерживают эти директивы, и однажды они могут перестать работать. Не стоит на них полагаться.

Особенности robots.txt

Существует ряд ключевых рекомендаций и наблюдений касаемо влияния, оказываемого robots.txt на сайт.

  • Пропишите запасной блок или правило сразу для всех роботов. Если все ваши директивы прописаны для ограниченного количества роботов, те, которых нет в списке, окажутся в состоянии неопределённости, так как для них не предусмотрено правил.
  • Важно поддерживать актуальность robots.txt. Проблемы часто возникают в ситуации, когда robots.txt создавался на первоначальных этапах разработки сайта. По мере развития ресурса многие страницы могли стать актуальными, но всё ещё скрыты от роботов, и не только.
  • Избегайте путей, внутри которых содержится отключенная директория.
  • Чувствительность к регистру может стать причиной проблем.
  • Не отключайте обратные ссылки с внешних ресурсов.
  • Crawl-delay может иметь последствияДанная директива заставляет поисковых роботов работать с вашим сайтом медленнее обычного. Из-за этого важные страницы могут обрабатываться реже оптимального графика. Директива не поддерживает Гуглом, зато работает в случае с Яндексом.
  • Убедитесь, что robots.txt возвращает только коды 5**, если сайт отключен. Так роботы поймут, что сайт отключен на обслуживание и вернутся к нему позже.
  • Robots.txt имеет приоритет над другими параметрами индексации, задаваемыми вне файла.
  • Отключение мигрирующего домена повлияет на успех миграции. В данном случае роботы могут не найти редиректы со старого сайта на новый.
caltouch-platform

Сквозная аналитика

 от 990 рублей в месяц
  • Автоматически собирайте данные с рекламных площадок, сервисов и CRM в удобные отчеты
  • Анализируйте воронку продаж от показов до ROI
  • Настройте интеграции c CRM и другими сервисами: более 50 готовых решений
  • Оптимизируйте свой маркетинг с помощью подробных отчетов: дашборды, графики, диаграммы
  • Кастомизируйте таблицы, добавляйте свои метрики. Стройте отчеты моментально за любые периоды

Тестирование и аудит robots.txt

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

Правильная настройка robots.txt для Яндекса и Гугла для новичков и даже мастеров бывает затруднительна без использования специальных инструментов. К примеру, с помощью GSC robots.txt tester tool в Google Search Console вы можете увидеть последние кешированные копии страниц, а также просмотреть рендеры googlebot. Обратите внимание, что инструмент работает только с Google.

Отслеживание изменений в robots.txt

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

  • Используйте Google Search Console, чтобы узнать, какую версию robots.txt в данный момент использует Google. Для Яндекса необходимо использовать Яндекс.Вебмастер.
  • Проверяйте размер файла, чтобы он соответствовал лимитам.
Оцените
Правильная настройка robots.txt: подробное руководство
Rate this post
Поделитесь с друзьями
Подпишитесь на обновления
Нажимая на кнопку "Подписаться", вы даёте своё согласие на обработку персональных данных.
Пришлите свою статью

Комментарии:

Рекомендуем прочитать