Нет времени читать?
Отправить статью на почту

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

7 апреля 2023
27 мин на чтение
14541
Правильный robots.txt: подробное руководство по настройке
author__photo

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

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

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

Calltouch
Привлекайте, конвертируйте
и анализируйте ваших клиентов
Платформа омниканального маркетинга
Подробнее

Что такое robots.txt

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

Для чего используется 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* (*продукт компании Meta, которая признана экстремистской организацией в России) будет пытаться зайти на каждую страницу, которую постят в нём, чтобы отображать релевантный сниппет.

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

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

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

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

Эффективный маркетинг с Calltouch
  • Анализируйте весь маркетинг и продажи в одном окне
  • Удобные дашборды и воронки от показов рекламы до ROI
Узнать подробнее
platform

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

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

Ручное создание

Файл robots.txt можно создать в любом текстовом редакторе, например, в Блокноте и Microsoft Word. В документе прописывают специальный код-инструкцию, в нем указывают, какие элементы не подлежат индексации. После этого его сохраняют в формате.txt  под названием «robots». 

Готовый текстовый документ загружается в корневую папку с названием сайта, где находится файл index.html и файлы базового движка. Чтобы загрузить robots.txt на сервер, используют:

  • панель управления сервером;
  • консоль или пульт управления в CMS;
  • любой FTP-клиент.

Система каждый раз будет обращаться к роботу, чтобы понять, что можно индексировать на сайте, а что нет.

Онлайн-генераторы

Специальные сервисы помогут автоматически сгенерировать нужный файл, например, такой инструмент есть на сайте CY-PR. Генераторы облегчают работу тем, кто владеет сразу несколькими сайтами, так как прописывать характеристики для каждого достаточно долго. Автоматизация упростит процесс, но корректировать автоматически сгенерированные файлы придется вручную. Чтобы устранять возможные ошибки, нужно изучить базовый синтаксис robots.txt.

Готовые шаблоны

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

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

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

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

Комментарии

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

Указания User-agent

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

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

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

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

  • Googlebot
  • Mediapartners-Google
  • Yandex
  • Facebook* (*продукт компании Meta, которая признана экстремистской организацией в России)

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

Наименования роботов в 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, пока вы не дадите на это разрешение.

Host

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

Директива Host уже не поддерживается Яндексом, решение об этом было принято еще в 2018 году. Теперь вместо нее схожий функционал выполняет раздел «Переезд сайта», доступный в Яндекс.Вебмастере.

Блоки в 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 не должен содержать:

  • Дубли страниц. Страница должна быть доступна по одному URL. Поисковые системы при обращении должны получать индивидуальные страницы с уникальным содержимым. Для скрытия дублей нужно использовать маски.  
  • Страницы с неуникальным контентом. Их стоит скрывать от поисковых систем до момента, когда они окажутся в индексе.
  • Страницы с индикаторами сессий.
  • Файлы, связанные с движком и управлением сайтом. К таким относят шаблоны, темы, панель администратора.  
  • Нерелевантные пользователям страницы. Это разделы, не имеющие уникального контента или содержания.

Кириллица в файле Robots

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

Советы по использованию операторов

Есть несколько операторов, наиболее распространенными из которых считаются: * и $. Они позволяют:

  • Блокировать нужные типы файлов. Например, при необходимости заблокировать файлы, имеющие расширение .json, это будет выглядеть следующим образом: Disallow: /*.json$.
  • Блокировать URL, имеющий параметр ?, после которого располагаются GET-запросы. Такой способ применяется в случаях, когда у сайта настроен человекопонятный url для всех страниц, а документы, характеризующиеся GET-параметрами, оказываются дублями. 

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

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

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

Тестирование и аудит 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 — ключевой инструмент для организации работы с поисковыми системами, который способен повлиять на параметры выдачи и SEO-продвижение. Он регулирует индексацию, определяет, какие страницы и разделы увидит поисковой робот и как он оценит ресурс. Это влияет на позиции сайта в выдаче и, соответственно, на его трафик. Поэтому правильная настройка robots.txt обеспечит экономию бюджета и времени на продвижение ресурса.

Редактор блога Calltouch
Нет времени читать?
Оцените
Поделитесь с друзьями
Лучшие маркетинговые практики — каждый месяц в дайджесте Calltouch
Подписывайтесь сейчас и получите 13 чек-листов маркетолога
Нажимая на кнопку "Подписаться", вы даёте своё согласие на обработку персональных данных и получение рекламной информации о продуктах, услугах посредством звонков и рассылок по предоставленным каналам связи.
У вас интересный материал?
Опубликуйте статью в нашем блоге
Опубликовать статью
Хотите получить актуальную подборку кейсов?
Прямо сейчас бесплатно отправим подборку обучающих кейсов с прибылью от 14 730 до 536 900р.
[contact-form-7 404 "Not Found"]
У нас тут cookies…
На сайте используются файлы cookies. Продолжая использование сайта, вы соглашаетесь с этим. Подробности об обработке ваших данных — в политике использования файлов cookie.
Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить