Подробное руководство по файлу robots.txt
Опубликовано: 2020-08-10robots.txt — это очень мощный файл, который можно добавить на ваш веб-сайт, чтобы помочь контролировать, какие области вашего сайта поисковые системы должны сканировать, а какие области следует игнорировать. Важно регулярно проверять файл robots.txt, чтобы убедиться, что он обновлен, и, если возможно, использовать инструмент мониторинга, чтобы получать уведомления об изменениях.
В Semetrical, в рамках наших технических услуг SEO, мы проведем аудит файла robots.txt клиента при проведении технического аудита веб-сайта клиента, чтобы проверить, должны ли блокироваться пути. Кроме того, если команда SEO сталкивается с проблемами в процессе технического аудита SEO, такими как дублирование, новые правила robots.txt могут быть записаны и добавлены в файл.
Поскольку robots.txt — важный файл, мы составили руководство, в котором рассказывается, что это такое в конечном счете, почему кто-то может его использовать и распространенные ловушки, которые могут возникнуть при написании правил.
Что такое текстовый файл robots?
Файл robots.txt является первым портом захода для сканера при посещении вашего веб-сайта. Это текстовый файл, в котором перечислены инструкции для различных пользовательских агентов, которые, по сути, сообщают поисковым роботам, какие части сайта следует сканировать, а какие следует игнорировать. Основные инструкции, используемые в файле robots.txt, определяются правилом «разрешить» или «запретить».
Исторически правило «noindex» также работало, однако в 2019 году Google прекратил поддержку директивы noindex, поскольку это было неопубликованное правило.
Если файл не используется должным образом, это может нанести ущерб вашему веб-сайту и привести к значительному падению трафика и рейтинга. Например, ошибки могут возникать, когда весь веб-сайт блокируется поисковыми системами или раздел сайта блокируется по ошибке. Когда это произойдет, рейтинг, связанный с этой частью сайта, будет постепенно падать, а трафик, в свою очередь, упадет.
Вам действительно нужен файл robots.txt?
Нет, наличие robot.txt на вашем веб-сайте не обязательно, особенно для небольших веб-сайтов с минимальным количеством URL-адресов, но настоятельно рекомендуется для средних и крупных веб-сайтов. На больших сайтах легче контролировать, какие части вашего сайта доступны, а какие разделы должны быть заблокированы для сканеров. Если файл не существует, ваш веб-сайт, как правило, будет просканирован и проиндексирован как обычно.
Для чего в основном используется файл robots txt?
У файла robots.txt много вариантов использования, и мы в Semetrical использовали его для следующих сценариев:
- Блокирование результатов внутреннего поиска, поскольку эти страницы обычно не представляют ценности для поискового робота и могут привести к большому количеству дублирований на веб-сайте.
- Блокировка частей навигации по аспектам, если определенные аспекты не являются ценными с точки зрения SEO, но все же необходимы для UX, когда пользователь находится на вашем веб-сайте.
- Блокировка различных уровней навигации по аспектам, когда один уровень аспекта может быть полезен для поисковых систем, но при объединении двух разных фильтров аспектов они могут стать нерелевантными для сканирования и индексирования поисковой системой.
- Блокировка параметров, которые вызывают дублирование или расходуют краулинговый бюджет. Это немного спорно, так как другие могут сказать вам, чтобы вы не блокировали параметры в robots.txt, но это сработало на ряде наших клиентских веб-сайтов, где параметры необходимы, но сканерам не нужно их сканировать. Настоятельно рекомендуется убедиться, что любой параметр, который вы блокируете, не имеет ценных ссылок или ранжируется по любым ценным ключевым словам, приносящим трафик.
- Блокировка частных разделов веб-сайта, таких как страницы оформления заказа и разделы входа.
- Добавление местоположений в XML-карту сайта, чтобы поисковые роботы могли легко получить доступ ко всем URL-адресам на вашем веб-сайте.
- Разрешить доступ и сканирование вашего сайта только определенным ботам.
- Блокировка пользовательского контента, который не может быть модерирован.
Где разместить robots txt и как добавить его на свой сайт?
Файл robots.txt необходимо поместить в корень вашего веб-сайта, например, на сайте Semetrical он находится по адресу www.semetrical.com/robots.txt и должен называться robots.txt. На веб-сайте может быть только один robots.txt, и он должен быть в текстовом файле с кодировкой UTF-8, который включает ASCII.
Если у вас есть поддомены, такие как blog.example.com, то robots.txt может находиться в корне поддомена, такого как blog.example.com/robots.txt.
Как выглядит файл robots.txt?
Типичный файл robots.txt состоит из различных компонентов и элементов, включая:
- Пользовательский агент
- Запретить
- Разрешать
- Задержка сканирования
- Карта сайта
- Комментарии (Иногда вы можете увидеть это)
Ниже приведен пример файла robots.txt Semetrcals, который включает в себя пользовательский агент, запрещающие правила и карту сайта.
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /comments/feed/ Disallow: /trackback/ Disallow: /index.php/ Disallow: /xmlrpc.php Disallow: /blog-documentation/ Disallow: /test/ Disallow: /hpcontent/ Sitemap: https://devsemetrical.wpengine.com/sitemap.xmlПользовательский агент
Пользовательский агент определяет начало группы директив. Он часто представлен подстановочным знаком (*), который сигнализирует о том, что приведенные ниже инструкции предназначены для всех ботов, посещающих веб-сайт. Примером этого может быть:
Пользовательский агент: *
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/Будут случаи, когда вы захотите заблокировать определенных ботов или разрешить только определенным ботам доступ к определенным страницам. Для этого вам нужно указать имя бота в качестве пользовательского агента. Примером этого может быть:
User-agent: AdsBot-Google Disallow: /checkout/reserve Disallow: /resale/checkout/order Disallow: /checkout/reserve_searchОбщие пользовательские агенты, о которых следует знать, включают:

Существует также возможность блокировать сканирование вашего веб-сайта определенным программным обеспечением или задерживать количество URL-адресов, которые они могут сканировать в секунду, поскольку у каждого инструмента будут свои собственные пользовательские агенты, которые сканируют ваш сайт. Например, если вы хотите запретить SEMRush или Ahrefs сканировать ваш сайт, в ваш файл будет добавлено следующее:
User-agent: SemrushBot Disallow: * User-agent: AhrefsBot Disallow: *Если вы хотите отсрочить количество просканированных URL-адресов, в ваш файл будут добавлены следующие правила:
User-agent: AhrefsBot Crawl-Delay: [value] User-agent: SemrushBot Crawl-Delay: [value]Запретить директиву
Директива disallow – это правило, которое пользователь может поместить в файл robots.txt. Оно предписывает поисковой системе не сканировать определенный путь или набор URL-адресов в зависимости от созданного правила. В файле может быть одна или несколько строк правил запрета, так как вы можете заблокировать несколько разделов веб-сайта.
Если директива disallow пуста и ничего не указывает, то боты могут сканировать весь веб-сайт, поэтому, чтобы заблокировать определенные пути или весь ваш веб-сайт, вам необходимо указать префикс URL-адреса или косую черту «/». Например, в приведенном ниже примере мы блокируем любой URL-адрес, который выходит за пределы пути /cgi-bin/ или /wp-admin/.
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/Если вы хотите заблокировать весь свой веб-сайт от ботов, таких как Google, вам нужно будет добавить директиву disallow, за которой следует косая черта. Как правило, вам может понадобиться сделать это только в тестовой среде, если вы не хотите, чтобы тестовый веб-сайт был найден или проиндексирован. Пример будет выглядеть так:
User-agent: * Disallow: /Разрешить директиву
Большинство поисковых систем будут соблюдать разрешающую директиву там, где она, по сути, будет противодействовать директиве запрещающей. Например, если вы заблокируете /wp-admin/, это обычно приведет к блокировке всех URL-адресов, которые выходят за пределы этого пути, однако, если для /wp-admin/admin-ajax.php есть разрешающее правило, боты будут сканировать / admin-ajax.php, но заблокируйте любой другой путь, который выходит за пределы /wp-admin/. См. пример ниже:
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.phpЗадержка сканирования
Директива задержки сканирования помогает снизить скорость, с которой бот будет сканировать ваш сайт. Не все поисковые системы будут следовать директиве о задержке сканирования, поскольку это неофициальное правило.

– Google не будет следовать этой директиве
– Baidu не будет следовать этой директиве
– Bing и Yahoo поддерживают директиву о задержке обхода, где правило предписывает боту ждать «n» секунд после действия обхода.
— Яндекс также поддерживает директиву о задержке сканирования, но интерпретирует это правило несколько иначе: он будет заходить на ваш сайт только один раз в каждые «n» секунд».
Пример директивы задержки сканирования ниже:
User-agent: BingBot Disallow: /wp-admin/ Crawl-delay: 5Директива карты сайта
Директива карты сайта может сообщить поисковым системам, где найти вашу XML-карту сайта, и позволяет различным поисковым системам легко находить URL-адреса на вашем веб-сайте. Основные поисковые системы, которые будут следовать этой директиве, включают Google, Bing, Yandex и Yahoo.
Рекомендуется поместить директиву карты сайта в конец файла robots.txt. Пример этого ниже:
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /comments/feed/ Sitemap: https://devsemetrical.wpengine.com/sitemap.xmlКомментарии
Файл robots.txt может содержать комментарии, но наличие комментариев предназначено только для людей, а не для ботов, так как все после хэштега будет игнорироваться. Комментарии могут быть полезны по нескольким причинам, в том числе:
- Объясняет, почему существуют определенные правила
- Ссылки, кто добавил правила
– Ссылки, для каких частей сайта действуют правила
- Объясняет, что делают правила
– Ниже приведены примеры комментариев в разных файлах robots.txt:
#Student Disallow: /student/*-bed-flats-* Disallow: /student/*-bed-houses* Disallow: /comments/feed/ #Added by Semetrical Disallow: /jobs*/full-time/* Disallow: /jobs*/permanent/* #International Disallow: */company/fr/* Disallow: */company/de/*Важен ли порядок правил?
Порядок правил не важен, однако, когда к URL-адресу применяются несколько разрешающих и запрещающих правил, применяется правило с наиболее длинным совпадающим путем, которое имеет приоритет над менее конкретным более коротким правилом. Если оба пути имеют одинаковую длину, будет использоваться правило с меньшими ограничениями. Если вам нужно разрешить или запретить определенный URL-адрес, вы можете сделать правило длиннее, используя «*», чтобы сделать строку длиннее. Например, Disallow: ********/сделать-длиннее
На собственном веб-сайте Google они перечислили примерный набор ситуаций, который показывает правило приоритета, которое имеет приоритет. Таблица ниже взята из Google.

Как проверить файл robots.txt?
Всегда важно проверять и подтверждать файл robots.txt, прежде чем запускать его в работу, поскольку неправильные правила могут сильно повлиять на ваш сайт.
Лучший способ проверить — воспользоваться инструментом тестирования robots.txt в Search Console и протестировать различные URL-адреса, которые должны быть заблокированы в соответствии с действующими правилами. Это также отличный способ проверить любые новые правила, которые вы хотите добавить в файл.

Примеры использования регулярных выражений в файле robots.txt
При создании правил в файле robots.txt вы можете использовать сопоставление с шаблоном, чтобы заблокировать диапазон URL-адресов в одном правиле запрета. Регулярные выражения можно использовать для сопоставления с образцом, и два основных символа, которых придерживаются и Google, и Bing, включают:
- Знак доллара ($), соответствующий концу URL-адреса.
- Звездочка (*), которая представляет собой правило подстановки, представляющее любую последовательность символов.
Примеры сопоставления с образцом в Semetrical:
Disallow: */searchjobs/*Это заблокирует любой URL-адрес, который включает путь /searchjobs/, например: www.example.com/searchjobs/construction. Это было необходимо для клиента, так как раздел поиска его сайта нужно было заблокировать, чтобы поисковые системы не сканировали и не индексировали этот раздел сайта.
Disallow: /jobs*/full-time/*Это заблокирует URL-адреса, содержащие путь после /jobs/, за которым следует /full-time/, например
www.example.com/jobs/admin-secretarial-and-pa/full-time/
. В этом сценарии нам нужен полный рабочий день в качестве фильтра для UX, но для поисковых систем нет необходимости индексировать страницу для удовлетворения «название должности» + «полный рабочий день».
Disallow: /jobs*/*-000-*-999/*Это заблокирует URL-адреса, содержащие фильтры заработной платы, такие как
www.example.com/jobs/city-of-bristol/-50-000-59-999/
. В этом сценарии нам нужны фильтры зарплат, но поисковым системам не нужно сканировать страницы зарплат и индексировать их.
Disallow: /jobs/*/*/flexible-hours/Это заблокирует URL-адреса, которые включают гибкий график и включают два промежуточных пути между ними. В этом сценарии с помощью исследования ключевых слов мы обнаружили, что пользователи могут искать местоположение + гибкий график или работу + гибкий график, но пользователи не будут искать «должность» + «местоположение» + «гибкий график». Пример URL-адреса выглядит так
www.example.com/jobs/admin-secretarial-and-pa/united-kingdom/flexible-hours/
.
Disallow: */company/*/*/*/people$Это заблокирует URL-адрес, который включает три пути между компанией и людьми, а также URL-адрес, оканчивающийся на людей. Примером может быть
www.example.com/company/ru/04905417/company-check-ltd/люди
.
Disallow: *?CostLowerAsNumber=*Это правило заблокирует фильтр параметров, который упорядочивает цены.
Disallow: *?Radius=* Disallow: *?radius=*Эти два правила запрещали ботам сканировать URL-адрес параметра, изменяющий радиус поиска пользователей. Было добавлено правило как верхнего, так и нижнего регистра, поскольку на сайте были обе версии.
Что нужно знать о файле robots.txt
- Файл robots.txt чувствителен к регистру, поэтому в правилах необходимо использовать правильный регистр. Например, /hello/ будет обрабатываться иначе, чем /Hello/.
- Чтобы поисковые системы, такие как Google, быстрее повторно кэшировали файл robots.txt для поиска новых правил, вы можете проверить URL-адрес robots.txt в Search Console и запросить индексацию.
- Если ваш веб-сайт использует файл robots.txt с рядом правил, а ваш URL-адрес robots.txt содержит код состояния 4xx в течение длительного периода времени, правила будут игнорироваться, а заблокированные страницы станут индексируемыми. Важно убедиться, что он всегда обслуживает код состояния 200.
- Если ваш веб-сайт не работает, убедитесь, что файл robots.txt возвращает код состояния 5xx, так как поисковые системы поймут, что сайт закрыт на техническое обслуживание, и вернутся для сканирования веб-сайта позже.
- Когда URL-адреса уже проиндексированы, а затем на ваш веб-сайт добавляется запрет на удаление этих URL-адресов из индекса, удаление и удаление этих URL-адресов может занять некоторое время. Кроме того, URL-адреса могут некоторое время оставаться в индексе, но в метаописании будет отображаться сообщение, например «Описание этого результата недоступно из-за файла robots.txt этого сайта — узнайте больше».
- Правило запрета в robots.txt не всегда гарантирует, что страница не появится в результатах поиска, поскольку Google все же может решить, основываясь на внешних факторах, таких как входящие ссылки, что она релевантна и должна быть проиндексирована.
- Если у вас есть правило запрета, а также размещен тег «без индекса» в исходном коде страницы, «без индекса» будет проигнорирован, поскольку поисковые системы не могут получить доступ к странице, чтобы обнаружить тег «без индекса».
- Правило запрета на проиндексированные страницы, особенно те, на которые есть входящие ссылки, означает, что вы потеряете ссылочный вес тех обратных ссылок, которые в противном случае были бы переданы другим страницам. Вот почему важно проверить, есть ли на страницах обратные ссылки, прежде чем добавлять запрещающее правило.
- Если начальный слэш в пути отсутствует при написании разрешающего или запрещающего правила, то правило будет проигнорировано. Например, «Запретить: searchjobs.
Если вы хотите поговорить с одним из наших технических специалистов по SEO в Semetrical, пожалуйста, посетите нашу страницу технических услуг SEO для получения дополнительной информации.
