Как Google оценивает релевантность страниц, заблокированных в robots.txt


Содержание материала:

Google: Проиндексировано, несмотря на блокировку в файле robots.txt

Куча вопросов сыпется по поводу страниц с пометкой «Проиндексировано, несмотря на блокировку в файле robots.txt» в отчете в Google Searh Console.

Ходят мифы будто это Предупреждение — хуже ошибки, страшное зло, дубли, ужас, всё пропало.

Причины

Стоит разделить на официальную и не официальную.

Официально причиной называется

Этот статус установлен, так как мы не уверены, что вы хотите удалить страницу из результатов поиска.

Тут есть довод за и против:

ЗА: Часто в список попадают технические страницы только что появившиеся (этот же довод и ЗА неофициальный вариант)

ПРОТИВ: Почему то в иных случаях гугл уверен.

А теперь моё видение: robots.txt — превентивный запрет, соответственно нельзя сказать «Мы зашли на страницу и не знали что нельзя». Де-юре при таком раскладе нельзя предъявить претензий, ответ будет «Вот смотрите у нас написано что можем, вот для чего, вот эти страницы, мы не уверены что их хотел удалить владелец».

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

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

Индексируются ли дубли?

Что такое дубли? Это страницы с идентичным контентом, расположенные по разным адресам.

Назревает вопрос, дубль ли страница закрытая в robots.txt, но тем не менее проиндексированная, при условии что контент идентичен. Казалось бы да. Однако не всё так просто.

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

Внимание! Поисковый робот не обнаружит директиву noindex, если страница заблокирована в файле robots.txt. Такая страница может быть представлена в результатах поиска (например, если на нее есть ссылка на другой странице).

Чем грозит наличие в выдаче этих страниц

На самом деле ничем. Для простых пользователей они не видны. Единственное по чему можно их найти это url. Много ли посетителей у вас с поиска, которые ищут не информацию, а адрес страницы?

Настолько ли ваш сайт затмевает всех, что «пустая» страница вашего сайта обходит всех конкурентов?

Стоит ли открывать страницы в robots.txt

Необходимо понимать последствия. Ради того чтоб убрать десяток страниц, никому не мешающих, вы можете открыть тысячи, по которым будет гулять Гугл и тратить краулинговый бюджет.

Наличие noindex, canonical или редиректа в конечном итоге приведет к тому что Предупреждение исчезнет. Однако это потребует большого количества ресурсов поисковой системы, которая и дальше продолжит периодически заглядывать, не убран ли запрет.

Хотя эти страницы и без того потихоньку отвалятся.

Меры предосторожности

В первую очередь не нужно плодить ссылки на закрытые страницы, это проблемы и помимо обозначенной в данной статье.

Многие вещи возможно реализовать по событиям js, это сократит вероятность.

Кроме того относительные url вместо абсолютных в скриптах осложнят распознание ссылок.

Google прекращает поддержку директивы noindex в robots.txt

После 1.09.2020 года, поисковый гигант прекратит следовать директивам, которые не поддерживаются и не опубликованы в robots exclusion protocol. Изменения были анонсированы в блоге компании (https://webmasters.googleblog.com/2020/07/a-note-on-unsupported-rules-in-robotstxt.html). Это значит, что Google не будет учитывать файлы robots с записанной внутри директивой “noindex”.

Что произошло? В течение многих лет файл robots позволял ограничивать доступ к некоторым (или всем) страницам сайта для разного рода роботов, парсеров, пауков или скраулеров. Крупные поисковики следовали этим правилам, но не всегда были понятны принципы их обработки, поскольку отсутствовал официальный стандарт. Теперь же компания Google решила официально утвердить протокол REP для возможностей его расширения в будущем и предотвращения разных толкований одной записи. Основные изменения:

  • Директивы теперь используются для любого протокола: кроме HTTP/HTTPS, они распространяются на FTP и прочие;
  • Поисковые пауки обязательно сканируют первые 512Кб файла robots.txt. Если файл большой, то дальше они могут его не сканировать..
  • Все записи в файле кешируются сроком до 24 часов. Это сделано, чтобы не загружать сервер запросами, а также, чтобы SEO-специалист мог обновлять файл по мере необходимости и в удобные сроки. Срок кеширования можно задавать, используя директиву Cache-Control.
  • Если файл по какой-то причине перестал сканироваться — правила продолжают работать. Согласно новой спецификации, в течение продолжительного времени используется последняя кэшированная копия.

Также, были пересмотрены правила для файла robots.txt. Теперь поисковой машиной Google не учитываются директивы, которые не указаны в стандарте. Первой записью, которая не попала в документ, стала директива noindex.

Каковы же альтернативы? Google такие варианты, которые, вероятно, уже использовались в любом случае:

1) noindex в метатегах. Данная директива, поддерживаемая в HTTP-ответах/HTML-коде — самый эффективный способ, чтобы удалить ссылки из индекса, если парсинг разрешен.

2) 404 и 410 коды ответов. Оба HTTP-ответа означают, что по данному URL отсутствует страница, и приведут к удалению страниц с такой ошибкой из поискового индекса если они будут или были просканированы.

3) Защита паролем. Если разметка не указывает на подписку или платный контент (https://developers.google.com/search/docs/data-types/paywalled-content), то сокрытая за формой авторизации страница со временем удалится из индекса Google.

4) Disallow в robots.txt. Поисковики индексируют известные им страницы. Поэтому, блокирование доступа к странице для краулеров означает, что контент никогда не будет проиндексирован. В то же время, поисковик также может индексировать URL-адрес, основываясь на переходах с других страниц (внутренних или внешних), не видя при этом непосредственно контент. Так что, при использовании директивы disallow рекомендую сделать страницы, закрытые ею, менее видимыми в целом.

5) Инструмент удаления URL в Google Search Console (https://support.google.com/webmasters/answer/1663419). С его помощью можно легко и быстро (но временно) убрать страницы из результатов поиска.

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

Почему Google вводит эти изменения сейчас? Поисковый гигант искал возможности для этих изменений в течение нескольких лет и со стандартизацией протокола он наконец-то может двигаться вперед. В Google сказали, что «провели анализ по использованию разных директив в файле robots» и теперь сфокусированы на удалении основных неподдерживаемых директив – crawl-delay, nofollow, noindex.

«Поскольку эти правила никогда официально не разъяснялись компанией, их использование может плохо влиять на сканирование Googlebot’а. Также, такие ошибки плохо влияют на присутствие сайтов в поисковой выдаче»

Стоит ли переживать? Самое главное на данный момент – избавиться от директивы noindex в файле robots.txt. Если же без нее никак, то стоит воспользоваться одной из перечисленных выше альтернатив до 1 сентября. Также, обратите внимание на использование nofollow или crawl-delay команд и если они есть, то переделайте также их с использованием поддерживаемых директив. Поисковый гигант дал достаточно времени для того, чтобы все ознакомились с вносимыми изменениями и поменяли свои файлы robots.txt, поэтому нет поводов для беспокойства.

Тем не менее, все равно интересно как коллеги решают данную проблему. Со статическими сайтами все понятно, там и в хедере можно написать все нужные метатеги. Но для SPA-сайтов было гораздо удобнее закрывать страницы по определенной маске (например https://ntile.app/some_id/*) или же скрывать целые разделы (например, https://ntile.app/taynaya-komnata-5d2ec134e12fd4000146d3ec-5d2ec134e12fd4000146d3ee, изначально созданный не для индексации, а для тестов по переспаму). С кодами ответов в заголовках много мороки получается. Да и скрывать всё за формой авторизации несколько усложняет разработку.

Подскажите, кто как решает такого рода проблемы?

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Что интересного в Robots.txt для Google?

Особая обработка роботс.тхт Гуглом

Чуть менее года назад обнаружил интересное отличие в обработке Robots.txt Гуглом по сравнению с обработкой этого файла Яндексом. По моим наблюдениям, об этом вообще почти никто не знает, хотя вещь важная.

Как известно, лишние страницы сайта в индексе всё портят (дубли, например). Если кое-что знать и подкорректировать данный файл, то можно выкинуть «мусор» из индекса Гугла и немного улучшить ранжирование сайта.

Интересная особенность обработки Robots.txt в Google и отличие от Яндекса

Суть в том, что если Гугл проиндексировал страницу сайта, а потом она была запрещена к индексации в Robots.txt, то она так и будет болтаться в индексе.

В Яндексе — всё не так. Если проиндексированную ранее страницу запретить к индексации в Robots.txt, то со временем Яндекс выкинет её из индекса.

Я заметил это, когда увидел, что для одного моего WordPress-сайта в индексе Гугла висят страницы-теги, т.е. http://site.ru/tag/xxx/ , которые я традиционно запрещаю к индексации в Robots.txt.

Как оказалось, в официальной справке есть об этом информация, правда, написано всё не очень явно:

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

— т.е. даже если страница запрещена к индексации в файле Robots.txt, но на неё есть внешняя ссылка, то Гугл может её проиндексировать.

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

Как проверить наличие запрещённых страниц в индексе?

Тут всё просто, 3 варианта:

  1. Заходим на запрещённую страницу и проверяем её индексацию с помощью всяких плагинов для браузера, например, RDS bar.
  2. Вводим соответствующий поисковый запрос в Гугле для проверки индексации: site:http://site.ru/page.html (подробнее об этом в статье про дополнительный индекс Гугла).
  3. Аналогично предыдущему пункту, но проверяем индексацию всего сайта, и в результатах выдачи отыскиваем запрещённые страницы: site:site.ru/

Так что проверьте. Скорей всего, часть страниц вашего сайта будет находиться в Supplemental Index из-за того, что Гугл не хочет выкинуть их из индекса.

Как исправить?

На мой взгляд, есть 2 варианта.

Удаление ненужных страниц из индекса вручную, оставляя «запреты» в Robots.txt

Пользуемся стандартным инструментом удаления URL — подробно рассказано в статье про удаление страниц из поиска. Тут можно удалять страницы поодиночке, а можно сразу весь раздел (например, указать http://site.ru/tag/ — и все страницы-теги будут удалены).

Убираем все «запреты» в Robots.txt и применяем meta name=robots

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

Важно! В этом случае следует убрать запрещающее правило в Robots.txt (оно могло быть, например, таким Disallow: /tag/ ). Иначе робот Гугла не пойдёт по этому адресу, а значит и не узнает, что его не нужно индексировать. Такая вот тут особенность.

Поисковый робот не обнаружит атрибут noindex, если страница заблокирована в файле robots.txt. Такая страница будет отображаться в результатах поиска.

Как сделать правильный Robots.txt для Google?

Собственно, всё как обычно, но только с учётом вышесказанного. См. подробное руководство:

Настройка robots.txt: что на сайте стоит спрятать от робота?

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

Структура файла robots.txt

Сначала прописывается директива User-agent, которая показывает, к какому поисковому роботу относятся инструкции.

Топ-пост этого месяца:  Получение бэклинков с профилей трастовых сайтов и со страниц сервисов для проведения SEO анализа

Небольшой список известных и частоиспользуемых User-agent:

  • User-agent:*
  • User-agent: Yandex
  • User-agent: Googlebot
  • User-agent: Bingbot
  • User-agent: YandexImages
  • User-agent: Mail.RU

Далее указываются директивы Disallow и Allow, которые запрещают или разрешают индексирование разделов, отдельных страниц сайта или файлов соответственно. Затем повторяем данные действия для следующего User-agent. В конце файла указывается директива Sitemap, где задается адрес карты вашего сайта.

Прописывая директивы Disallow и Allow, можно использовать специальные символы * и $. Здесь * означает «любой символ», а $ – «конец строки». Например, Disallow: /admin/*.php означает, что запрещается индексация индексацию всех файлов, которые находятся в папке admin и заканчиваются на .php, Disallow: /admin$ запрещает адрес /admin, но не запрещает /admin.php, или /admin/new/ , если таковой имеется.

Если для всех User-agent использует одинаковый набор директив, не нужно дублировать эту информацию для каждого из них, достаточно будет User-agent: *. В случае, когда необходимо дополнить информацию для какого-то из user-agent, следует продублировать информацию и добавить новую.

Пример robots.txt для WordPress:

*Примечание для User agent: Yandex

Для того чтобы передать роботу Яндекса Url без Get параметров (например: ? >

Ранее роботу Яндекса можно было сообщить адрес главного зеркала сайта с помощью директивы Host. Но от этого метода отказались весной 2020 года.

Также ранее можно было сообщить роботу Яндекса, как часто обращаться к сайту с помощью директивы Crawl-delay. Но как сообщается в блоге для вебмастеров Яндекса:

  • Проанализировав письма за последние два года в нашу поддержку по вопросам индексирования, мы выяснили, что одной из основных причин медленного скачивания документов является неправильно настроенная директива Crawl-delay.
  • Для того чтобы владельцам сайтов не пришлось больше об этом беспокоиться и чтобы все действительно нужные страницы сайтов появлялись и обновлялись в поиске быстро, мы решили отказаться от учёта директивы Crawl-delay.

Вместо этой директивы в Яндекс. Вебмастер добавили новый раздел «Скорость обхода».

Проверка robots.txt

Старая версия Search console

Для проверки правильности составления robots.txt можно воспользоваться Вебмастером от Google – необходимо перейти в раздел «Сканирование» и далее «Просмотреть как Googlebot», затем нажать кнопку «Получить и отобразить». В результате сканирования будут представлены два скриншота сайта, где изображено, как сайт видят пользователи и как поисковые роботы. А ниже будет представлен список файлов, запрет к индексации которых мешает корректному считыванию вашего сайта поисковыми роботами (их необходимо будет разрешить к индексации для робота Google).

Обычно это могут быть различные файлы стилей (css), JavaScript, а также изображения. После того, как вы разрешите данные файлы к индексации, оба скриншота в Вебмастере должны быть идентичными. Исключениями являются файлы, которые расположены удаленно, например, скрипт Яндекс.Метрики, кнопки социальных сетей и т.д. Их у вас не получится запретить/разрешить к индексации. Более подробно о том, как устранить ошибку «Googlebot не может получить доступ к файлам CSS и JS на сайте», вы читайте в нашем блоге.

Новая версия Search console

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

В следующем окне нажимаем «Изучить просканированную страницу».

Далее нажимаем ресурсы страницы

В появившемся окне видно ресурсы, которые по тем или иным причинам недоступны роботу google. В конкретном примере нет ресурсов, заблокированных файлом robots.txt.

Если же такие ресурсы будут, вы увидите сообщения следующего вида:

Рекомендации, что закрыть в robots.txt

Каждый сайт имеет уникальный robots.txt, но некоторые общие черты можно выделить в такой список:

  • Закрывать от индексации страницы авторизации, регистрации, вспомнить пароль и другие технические страницы.
  • Админ панель ресурса.
  • Страницы сортировок, страницы вида отображения информации на сайте.
  • Для интернет-магазинов страницы корзины, избранное. Более подробно вы можете почитать в советах интернет-магазинам по настройкам индексирования в блоге Яндекса.
  • Страница поиска.

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

Почему гугл блокирует страницы сайта wordpress и как их разблокировать

Привет ! Сегодня я решил затронуть очень важную тему, которая касается продвижения сайта в поиске. Не устаю повторять одну очень мудрую пословицу – Век живи, век учись. Жизнь такая штука, что в ней нет какой-то определённой точки, где вы остановитесь, опустите руки, выдохните и скажите ну вот и всё, наконец-то дошёл. Будьте бдительны, всегда нужно быть на чеку, нужно учиться и действовать, продвигаться всё дальше и дальше. Видимо мои глобальные цели приводят меня к моим ошибкам, чтобы я исправлял их и слава богу что так происходит. Дело вот в чём, если вы пользуетесь сервисом Google Веб-Мастер, то наверняка вы встречали там такую вкладку: Индекс Google – Заблокированные ресурсы .

До поры до времени я игнорировал данную страницу с заблокированными ресурсами. То есть я заходил на страницу, просто смотрел, но особо не вникал, думал что так и должно быть, потому что блокировка исходила из файла robots txt. Я тогда не знал и не понимал, что мой robots txt блокирует нужные поисковому роботу google файлы. А когда до меня дошло это, то я конечно начал разбираться. Начал более детально изучать страницу с заблокированными ресурсами. Оказалось что в файле robots txt блокируются необходимые для индексирования JS и CSS файлы. Из-за блокировки робот google не мог проиндексировать некоторые элементы страницы, которые необходимы для полноценного отображения страницы в поиске.

Чтобы понять какой именно файл необходимо разблокировать, вам нужно открыть список заблокированных ресурсов, для этого нажмите на адрес вашего сайта, под заголовком Хост , под графиком. У вас откроется список заблокированных ресурсов. Здесь вы сможете посмотреть какие именно файлы блокируются в файле robots txt. В моём случае блокировались файлы wp-content и wp-includes.

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

Чтобы вы убедились, что на ваших страницах сайта, действительно используются заблокированные ресурсы, то перейдите на любую страницу, которая указана в списке страниц заблокированного ресурса. Откройте исходный код страницы с помощью правой кнопки мыши. Найдите url адреса, которые ведут на заблокированные ресурсы, поэтому робот гугл не может получить доступ к ним, так как раздел заблокирован в robots txt. Понимаете о чём речь идёт ? Данные ресурсы необходимы для отображения данной записи, но робот гугл не может получить к ним доступ.

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

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

Остались вопросы ? Напиши комментарий ! Удачи !

Google обновляет правила для robots.txt. Что изменится и что делать?

Поисковые краулеры сканируют любой сайт согласно правилам, которые прописаны в файле robots.txt.

Правила прописываются на основе протокола Robots Exclusion Protocol.

Google внес изменения в данный протокол. Например, теперь не поддерживается директива noindex.

Что еще изменяется и что делать?

Разберемся с вопросами далее.

Что произошло?

Поисковые оптимизаторы создают директивы для поисковых краулеров согласно правилам протокола Robots Exclusion Protocol. Такие директивы прописываются в файле robots.txt.

На протяжении 25 лет протокол REP являлся важным инструментом для поисковых оптимизаторов, так как позволял запрещать различным роботам доступ к некоторым страницам сайта.

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

Поисковые системы такие как Yandex, Bing и Google следовали правилам из robots.txt.

Но протокол не был закреплен на официальном уровне.

Утверждает такие протоколы на официальном уровне организация под названием Internet Engineering Task Force (Инженерный совет интернета).

Так как стандарт не был закреплен, то и правила обработки были не всегда понятными для всех.

Google решил задокументировать протокол REP и направил стандарт в соответствующую организацию на рассмотрение и регистрацию.

Такие действия призваны решить ряд целей:

  • Расширить базу функциональных возможностей, чтобы можно было задавать более точные правила;
  • Определить четкие стандарты, чтобы избежать различных спорных сценариев по использованию. В результате все причинно-следственные связи по использованию файла robots должны стать ясными для всех.

Что изменяется?

Список из наиболее существенных изменений:

  • Теперь директивы можно использовать для любого URI. Например, теперь помимо HTTP/HTTPS правила можно применять к FTP или CoAP;
  • Поисковые краулеры должны сканировать первые 512 килобайт файла. Роботы могут, но не обязаны сканировать весь файл если файл большой. Также роботы не обязаны сканировать весь файл, если соединение не стабильное;
  • Размещенные в файле директивы подлежат кешированию. Делается так, чтобы не нагружать сервер запросами. По умолчанию кеширование проводится на срок не более чем 24 часа, чтобы дать возможность поисковому оптимизатору в приемлемые сроки обновлять файл. Значение по кешированию можно задавать самостоятельно используя директиву кеширования посредством заголовка Cache-Control;
  • Если файл не доступен, то директивы продолжают работать. Спецификация предусматривает, что если файл robots.txt стал не доступен для поискового краулера, то правила описанные ранее будут продолжать действовать еще на протяжении длительного времени.

Далее были пересмотрены директивы, которые допускаются к использованию в файле robots.txt.

Правила, которые не опубликованы в стандарте, не будут поддерживаться Google.

В результате правило noindex больше не будет поддерживаться Google.
Поддержка отключается с 1 сентября 2020 года.

Еще был открыт исходный код парсера robots.txt. Данный парсер используется краулером Google для парсинга данных из robots.txt.

Если покопаться в коде, то можно найти информацию о том, что директива disallow будет работать, даже если ключевая фраза написана с опечаткой. Значит, указывать на такие ошибки в аудите сайта является бессмысленной затеей 🙂

Что делать?

Теперь для реализации noindex на практике следует использовать такие способы:

  • Задавать noindex в мета-теге robots;
  • Задавать noindex в HTTP заголовках.

Директива noindex является наиболее эффективным способом для удаления страниц из индекса.

Как задать директиву через HTTP заголовок? Требуется использовать заголовок X-Robots-Tag.

К примеру, если требуется запретить индексацию страницы indexoid, следует указать так:

Если есть только доступ к шаблону сайта, следует использовать мета-тег robots. Например, если для сайта 2yachts.com требуется запретить индексацию страниц, следует использовать такой код:

Данный код указывает на запрет индексации для Google.

Если требуется запретить индексацию для разных ботов, а не только для Google, то в name следует использовать значение robots вместо googlebot.

Какой способ для удаления страниц из индекса поисковой системы является наиболее эффективным? Наиболее эффективным является манипуляция с кодом ответа. Если для страницы задать код ответа 404 или 410, то страница будет удалена из индекса поисковой системы.

Как задать время на которое файл robots.txt будет кешироваться? Следует использовать заголовок Cache-Control.

Директива задает период времени, в течение которого скачанный ответ может быть повторно использован.

Отсчет начинается с момента запроса.

max-age=[n секунд] означает, что ответ может быть закеширован и использован в течение n секунд.

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

Вопросы и ответы

Как проверить правильность настройки robots.txt?

Проверить директивы из файла robots.txt на валидность можно используя инструментарий для тестирования от Google.

Тест позволяет выявить проблемы в синтаксисе и сигнализирует на тему предупреждений, если такие есть.

И обратите внимание, что ссылки в файле robots.txt чувствительны к регистру.

Например такие ссылки считаются разными:

  • ru.megaindex.com/SEO
  • ru.megaindex.com/seo

Тест делает проверку как валидатор, поэтому на подобные нюансы не указывает.

Поддерживают ли другие поисковые системы noindex?

Yandex и Bing не поддерживают директиву в robots.txt.

Yandex рекомендует использовать noindex в метатеге robots или X-Robots-Tag.

Нужно ли закрывать файлы CSS и JavaScript в robots?

Файлы стилей и скрипты закрывать не рекомендуется.

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

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

Рекомендованные материалы в блоге MegaIndex по теме краулинга страниц сайта поисковыми системами по ссылкам далее:

Влияет ли запрет robots.txt на краулинговый бюджет?

На краулинговый бюджет влияют два главных фактора:

  • Авторитетность доменного имени;
  • Пропускная способность сервера сайта.

Авторитетность сайта зависит от качества внешней ссылочной массы.

Выгрузить и проанализировать список всех внешних ссылок по любому сайту можно используя сервис MegaIndex.

Еще в MegaIndex есть методы API, позволяющие обращаться к базе для выгрузки данных. Пример запроса к базе MegaIndex через API для сайта wixfy.com:

Директивы в robots.txt не меняют значение по краулинговому бюджету.

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

Как прописывать правила в robots.txt для поддоменов?

Директивы robots.txt распространяются только на верхний уровень хоста.

Например, если файл размещен на хосте smmnews.com, то все директивы будут применимы лишь для smmnews.com. Директивы не будут применены для www.smmnews.com и подобных хостов.

Топ-пост этого месяца:  Место встречи изменить нельзя башня Mail.Ru, 10 ноября, CyberMarketing 2020

Указывать в файле robots.txt не имеет смысла.

Для указания директив на поддоменах файл robots.txt следует размещать на поддомене.

Выводы

25 лет директивы robots.txt использовались де-факто, но не были зафиксированы как стандарт. Теперь стандарт будет создан, а значит появится официальная документация и будет снята неопределенность по нюансам.

Например, теперь определен оптимальный размер файла — до 512 килобайт.

Если размер файла превышает пороговое значение, то директивы после 512 килобайт не учитываются.

Теперь протокол Robots Exclusion Protocol станет стандартом для интернета.

Google больше не станет поддерживать директиву noindex, если ее использовать в файле robots.txt.

Для запрета индексации используйте заголовок или специальный мета-тег.

Новые сайты до запуска следует закрывать от индексации на уровне сервера.

Если сайт переведен на HTTPS, следует провести проверку на предмет доступности файла robots.txt по протоколу HTTPS. Если сайт переведен на HTTPS, но файл robots.txt доступен только по HTTP, то директивы для HTTPS страниц сайта действовать не будут.

Рекомендованный материал в блоге MegaIndex по теме перевода сайта на HTTPS по ссылке далее — Зачем и как перевести сайт на HTTPS бесплатно и без ошибок?.

Если говорить о практике, то в сухом остатке список действий следующий:

  • Удалить из файла robots.txt директивы noindex;
  • Разместить noindex в заголовке X-Robots-Tag или мета-теге с значением content=»noindex»;
  • Если файл превышает 512 килобайт, то уменьшить размер файла за счет использование масок;
  • Удалить из файла директивы на запрет индексации CSS и JavaScript файлов;
  • Если требуется убрать страницу из индекса и запретить индексацию, следует использовать 404 или 410 код ответа;
  • Задать время кеширования файла через Cache-Control.

Остались ли у вас вопросы, замечания или комментарии по теме robots.txt?

Интересно ли вам было бы узнать подробную информацию про краулинговый бюджет?

Как закрыть сайт от индексации в robots.txt

Ответили на 5 популярных вопросов, связанных с закрытием сайта от поисковиков.

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

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

Как закрыть сайт полностью

Обычно ресурс закрывают полностью от индексации во время разработки или редизайна. Также закрывают сайты, на которых веб-мастера учатся или проводят эксперименты.

Запретить индексацию сайта можно для всех поисковиков, для отдельного робота или запретить для всех, кроме одного.

Запрет для всех User-agent: *
Disallow: /
Запрет для отдельного робота User-agent: YandexImages
Disallow: /
Запрет для всех, кроме одного робота User-agent: *
Disallow: /
User-agent: Yandex
Allow: /

Как закрыть отдельные страницы

Маленькие сайты-визитки обычно не требуют сокрытия отдельных страниц. Для ресурсов с большим количеством служебной информации закрывайте страницы и целые разделы:

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

Желательно запрещать индексацию т.н. мусорных страниц. Это старые новости, акции и спецпредложения, события и мероприятия в календаре. На информационных сайтах закрывайте статьи с устаревшей информацией. Иначе ресурс будет восприниматься неактуальным. Чтобы не закрывать статьи и материалы, регулярно обновляйте данные в них.

Отдельной страницы User-agent: *
Disallow: /contact.html
Раздела User-agent: *
Disallow: /catalog/
Всего сайта, кроме одного раздела User-agent: *
Disallow: /
Allow: /catalog
Всего раздела, кроме одного подраздела User-agent: *
Disallow: /product
Allow: /product/auto
Поиска на сайте User-agent: *
Disallow: /search
Административной панели User-agent: *
Disallow: /admin

Как закрыть другую информацию

Файл robots.txt позволяет закрывать папки на сайте, файлы, скрипты, utm-метки. Их можно скрыть полностью или выборочно. Указывайте запрет для индексации всем роботам или отдельным.

Типа файлов User-agent: *
Disallow: /*.jpg
Папки User-agent: *
Disallow: /images/
Папку, кроме одного файла User-agent: *
Disallow: /images/
Allow: file.jpg
Скриптов User-agent: *
Disallow: /plugins/*.js
utm-меток User-agent: *
Disallow: *utm=
utm-меток для Яндекса Clean-Param: utm_source&utm_medium&utm_campaign

Как закрыть сайт через мета-теги

Альтернативой файлу robots.txt является мета-тег robots. Прописывайте его в исходный код сайта в файле index.html. Размещайте в контейнере . Указывайте, для каких краулеров сайт закрыт от индексации. Если для всех, напишите robots. Если для одного робота, укажите его название. Для Google — Googlebot, для Яндекса — Yandex. Существуют два варианта записи мета-тега.

Атрибут “content” имеет следующие значения:

  • none — индексация запрещена, включая noindex и nofollow;
  • noindex — запрещена индексация содержимого;
  • nofollow — запрещена индексация ссылок;
  • follow — разрешена индексация ссылок;
  • index — разрешена индексация;
  • all — разрешена индексация содержимого и ссылок.

Таким образом, можно запретить индексацию содержимого, но разрешить ссылки. Для этого укажите content=”noindex, follow”. На такой странице ссылки будут индексироваться, а текст — нет. Используйте для разных случаев сочетания значений.

Если закрыть сайт от индексации через мета-теги, создавать robots.txt отдельно не нужно.

Какие встречаются ошибки

Логические — когда правила противоречат друг другу. Выявляйте логические ошибки через проверку файла robots.txt в инструментах Яндекс.Вебмастере и Google Robots Testing Tool.

Синтаксические — когда неправильно записаны правила в файле.

К наиболее часто встречаемым относятся:

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

Шпаргалка

Для запрета на индексацию сайта используйте два варианта. Создайте файл robots.txt и укажите запрет через директиву disallow для всех краулеров. Другой вариант — пропишите запрет через мета-тег robots в файле index.html внутри тега .

Закрывайте служебные информацию, устаревающие данные, скрипты, сессии и utm-метки. Для каждого запрета создавайте отдельное правило. Запрещайте всем поисковым роботам через * или указывайте название конкретного краулера. Если вы хотите разрешить только одному роботу, прописывайте правило через disallow.

При создании файла robots.txt избегайте логических и синтаксических ошибок. Проверяйте файл через инструменты Яндекс.Вебмастер и Google Robots Testing Tool.

Материал подготовила Светлана Сирвида-Льорентэ.

Правильная настройка robots.txt для Google и Яндекс

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

Основные правила настройки robots.txt

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

Теперь о том, что должно быть в файле robots.txt. По моему мнению, в нем необходимо создавать 3 отдельные наборы директив — для Яндекс, для Google, и для остальных роботов-краулеров. Почему отдельно? Да потому что есть директивы, предназначенные только для определенных ПС, а также можете считать это неким проявлением уважения к основным поисковикам рунета ��

Следовательно, роботс должен состоять из таких секций:

Между наборами директив для разных роботов необходимо оставлять пустую строку.

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

Адрес сайта и сам путь к карте необходимо заменить на те, которые являются актуальными для вашего сайта. Также следует помнить, что для сайтов с большим количеством страниц (более 50 000) необходимо создать несколько карт и все их прописать в роботсе.

Настройка robots.txt для Яндекс

Для того, чтобы наглядно показать правильную настройку директив для Яши, я возьму в качестве примера стандартный robots.txt для WordPress.

Обратите внимание на отсутствие директивы Host для Яндекса. Она указывала пауку-роботу Яндекса, какое из зеркал сайта является главным. Директива прекратила существование в начале весны 2020 года, о чем есть соответствующая запись в блоге Яндекса.

Проверить корректность настройки robots.txt для Яндекса можно при помощи данного сервиса.

Настройка robots.txt для Google

Для Google настройка роботса мало чем отличается от уже написанного выше. Однако, есть пара моментов, на которые следует обратить внимание.

Как видно из примера, появились две директивы, разрешающие индексировать JS скрипты и CSS таблицы. Это связано с рекомендацией Google, в которой сказано, что следует разрешать роботу индексировать файлы шаблона (темы) сайта. Естественно, скрипты и таблицы в поиск не попадут, однако это позволит роботам корректнее индексировать сайт и отображать его в результатах выдачи. Данные директивы я внедрил не на один десяток сайтов, корректируя пути местонахождения css и js.

Ну а корректность настройки директив для Google вы можете проверить инструментом проверки файла robots.txt, который находится в Google Webmaster Tools.

Что еще стоит закрывать в роботсе?

Конечно, статья была бы далеко не полной, если бы я не рассказал, какие файлы и папки следует закрывать от индексирования.

  1. Страницы поиска. Тут кое-кто может поспорить, так как бывают случаи, когда на сайте используют внутренний поиск именно для создания релевантных страниц. Однако, так поступают далеко не всегда и в большинстве случаев открытые результаты поиска могут наплодить невероятное количество дублей. Поэтому, одним из вариантов устранения дупликации может стать закрытие результатов поиска в роботсе.
  2. Корзина и страница оформления/подтверждения заказа. Данная рекомендация актуальна для интернет-магазинов и других коммерческих сайтов, где есть форма заказа. Данные страницы ни в коем случае не должны попадать в индекс ПС.
  3. Фильтры и сравнение товаров. Рекомендация относится к интернет-магазинам и сайтам-каталогам.
  4. Страницы регистрации и авторизации. Информация, которая вводится при регистрации или входе на сайт, является конфиденциальной. Поэтому следует избегать индексации подобных страниц, Google это оценит.
  5. Системные каталоги и файлы. Каждый сайт состоит из множества данных — скриптов, таблиц CSS, административной части. Такие файлы следует также ограничить для просмотра роботам.

Замечу, что для выполнения некоторых из вышеописанных пунктов можно использовать и другие инструменты, например, rel=canonical, про который я позже напишу в отдельной статье. Кроме этого, не подходите к рекомендациям буквально — всегда есть исключения. Например, фильтры в некоторых магазинах имеют свои чпу, уникальные мета, контент. Конечно, не надо такие страницы закрывать — это дополнительные релевантные страницы под ключи.

Мой вариант robots.txt для WordPress и Joomla

Дописываю эти строки спустя какое-то время после написания статьи. Дело в том, что несмотря на пользу различных директив и объяснении мною их функций, я забыл добавить информацию о том, как должен выглядеть роботс в конечном итоге. Поэтому добавляю мои наборы директив для двух моих любимых и часто используемых CMS — WordPress и Joomla. Естественно, не забывайте, что некоторые параметры вам понадобится дописать самим, поэтому обязательно ознакомьтесь с рекомендациями Google и Яндекс (ссылки на оф. источники во втором абзаце данной статьи).

Составление robots.txt, проблемы индексации и примеры для WordPress

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

Файл robots.txt и стандарт исключений для роботов

Все поисковые системы понимают инструкции, написанные в специальном файле согласно стандарта исключений для роботов. В этих целях используется обычный текстовый файл с названием robots.txt, расположенный в корневом каталоге сайта. При корректном размещении содержимое этого файла можно посмотреть на любом сайте просто дописав после адреса домена /robots.txt . Например, https://avovkdesign.com/robots.txt.

Инструкции для роботов позволяют запрещать к сканированию файлы/каталоги/страницы, ограничивать частоту доступа к сайту, указывать зеркало и XML карту. Каждую инструкцию пишут с новой строки в следующем формате:

Весь список директив разбивают на секции (записи), разделяя их одной или несколькими пустыми строками. Новую секцию начинают с одной или нескольких инструкций User-agent. Запись должна содержать как минимум одну директиву User-agent и одну Disallow.

Текст после символа # (решетка) считается комментарием и игнорируется поисковыми роботами.

Директива User-agent

User-agent — первая директива в секции, сообщает имена роботов, для которых предназначены следующие за ней правила. Звездочка в значении обозначает любое имя, разрешается только одна секция с инструкциями для всех роботов. Пример:

Директива Disallow

Disallow — основная директива, запрещающая сканирование URL/файлов/каталогов, имена которых полностью или частично совпадают с указанными после двоеточия.

Продвинутые поисковые роботы вроде Яндекса и Google понимают спецсимвол * (звездочка), обозначающий любую последовательность символов. Подстановку не желательно использовать в секции для всех роботов.

Примеры директивы Disallow:

Директива Allow (неофициальная)

Allow разрешает сканирование указанных ресурсов. Официально этой директивы нету в стандарте исключений для роботов, поэтому не желательно использовать ее в секции для всех роботов (User-agent: *). Отличный пример использования — разрешить к сканированию ресурсы из каталога, который ранее запрещен к индексации директивой Disallow:

Sitemap (неофициальная)

Sitemap — директива, указывающая адрес карты сайта в формате XML. Эта директива так же не описана в стандарте исключений и поддерживается не всеми роботами (работает для Яндекс, Google, Ask, Bing и Yahoo). Можно указывать одну или несколько карт — все будут учтены. Может использоваться без User-agent после пустой строки. Пример:

Директива Host (только Яндекс)

Host — директива для робота Яндекс, указывающая основное зеркало сайта. Вопрос о зеркалах детальнее можно изучить в справке Яндекса. Эту инструкцию можно указывать как в секции для роботов Яндекса, так и отдельной записью без User-agent (инструкция межсекционная и в любом случае будет учтена Яндексом, а остальные роботы ее проигнорируют). Если в одном файле Host указан несколько раз, то будет учтена только первая. Примеры:

Другие директивы

Роботы Яндекса также понимают директивы Crawl-delay и Clean-param. Детальнее об их использовании читайте в справочной документации.

Роботы, директивы robots.txt и индекс поисковых систем

Ранее поисковые роботы следовали директивам robots.txt и не добавляли в индекс «запрещенных» там ресурсов.

Топ-пост этого месяца:  Модуль page title в Drupal

Сегодня все обстоит иначе. Если Яндекс послушно исключит из индекса адреса, запрещенные в файле роботс, то Google поступит совершенно иначе. Он обязательно добавит их индекс, но в результатах поиска будет стоять надпись «Описание веб-страницы недоступно из-за ограничений в файле robots.txt».

Почему Google добавляет в индекс страницы, запрещенные в robots.txt?

Ответ кроется в маленькой хитрости гугла. Если внимательно прочесть справку для вебмастера, то все становится более чем понятно:

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

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

Индекс Google + некорректный robots.txt = ДУБЛИ

Практически каждое руководство в сети говорит о том, что закрытие страниц в robots.txt запрещает их индексацию.

Ранее так и было. Но мы уже знаем, что для Google такая схема сегодня не работает. А что еще хуже — каждый последовавший таким рекомендациям совершает огромную ошибку — закрытые URL попадают в индекс и помечаются как дубли, процент дублированного контента постоянно растет и рано или поздно сайт наказывается фильтром Панда.

Google предлагает два действительно рабочих варианта для исключения из индекса ресурсов веб-сайта:

  1. закрытие паролем (применяется для файлов вроде .doc, .pdf, .xls и других)
  2. добавление метатега robots с атрибутом noindex в (применяется для веб-страниц):

Главное, что нужно учесть:

Детальнее об этой проблеме можно почитать в справке Google. А решение здесь одно — открывать доступ в robots.txt и настраивать запрет на индексацию страниц метатегом (или паролем, если речь о файлах).

Примеры robots.txt для WordPress

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

Вот самый банальный и при этом совершенно правильный robots.txt для WordPress:

Удивлены? Еще бы! Все гениальное просто �� На западных ресурсах, где нету Яндекса, рекомендации по составлению robots.txt для WordPress сводятся к двум первым строчкам, как это показали авторы WordPress SEO by Yoast.

Правильно настроенный SEO-плагин позаботится о канонических ссылках и метатеге robots со значением noindex, а страницы админки под паролем и не нуждаются в запрете индексации (исключением могут быть только страницы входа и регистрации на сайта — убедитесь, что на них есть meta тег robots со значением noindex). Карту сайта правильнее добавить вручную в вебмастере поисковой системы и заодно проследить, чтобы она была корректно прочитана. Осталось единственное и важное для рунета — указать главное зеркало для Яндекса.

Еще один вариант, подойдет для менее смелых:

В первой секции запрещается индексация для всех роботов каталога wp-admin и его содержимого. В последних двух строках указанные зеркало сайта для робота Яндекса и карта сайта.

Прежде чем изменять свой robots.txt…

Если приняли решение о смене директив в robots.txt, то сначала позаботьтесь о трех вещах:

  1. Убедитесь, что в корне вашего сайта нету дополнительных файлов или каталогов, содержимое которых стоит скрыть от сканирования (это могут быть личные файлы или медиаресурсы);
  2. Включите канонические ссылки в своем SEO-плагине (это исключит из индекса URL c параметрами запроса вроде http://sitename.com/index.php?s=word)
  3. Настройте вывод метатега robots со значением noindex на страницах, которые хотите скрыть от индексации (для WordPress это архивы по дате, метке, автору и страницы пагинации). Сделать это можно для части страниц в настройках SEO-плагинов (в All In One SEO неполные настройки). Или специальным кодом вывести самостоятельно:

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

к оглавлению ↑

В двух словах о том, что закрывать в robots.txt

С настройкой файла роботс и индексацией страниц нужно запомнить два важных момента, которые ставят все на свои места:

Robots.txt

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

Для начала короткое видео, которое создаст общее представление о том, что такое файл robots.txt.

Как влияет robots.txt на индексацию сайта

Поисковые роботы будут индексировать ваш сайт независимо от наличия файла robots.txt. Если же такой файл существует, то роботы могут руководствоваться правилами, которые в этом файле прописываются. При этом некоторые роботы могут игнорировать те или иные правила, либо некоторые правила могут быть специфичными только для некоторых ботов. В частности, GoogleBot не использует директиву Host и Crawl-Delay, YandexNews с недавних пор стал игнорировать директиву Crawl-Delay, а YandexDirect и YandexVideoParser игнорируют более общие директивы в роботсе (но руководствуются теми, которые указаны специально для них).

Максимальную нагрузку на сайт создают роботы, которые скачивают контент с вашего сайта. Следовательно, указывая, что именно индексировать, а что игнорировать, а также с какими временны́ми промежутками производить скачивание, вы можете, с одной стороны, значительно снизить нагрузку на сайт со стороны роботов, а с другой стороны, ускорить процесс скачивания, запретив обход ненужных страниц.

К таким ненужным страницам относятся скрипты ajax, json, отвечающие за всплывающие формы, баннеры, вывод каптчи и т.д., формы заказа и корзина со всеми шагами оформления покупки, функционал поиска, личный кабинет, админка.

Для большинства роботов также желательно отключить индексацию всех JS и CSS. Но для GoogleBot и Yandex такие файлы нужно оставить для индексирования, так как они используются поисковыми системами для анализа удобства сайта и его ранжирования (пруф Google, пруф Яндекс).

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

Директивы — это правила для роботов. Есть спецификация W3C от 30 января 1994 года и расширенный стандарт от 1996 года. Однако не все поисковые системы и роботы поддерживают те или иные директивы. В связи с этим для нас полезнее будет знать не стандарт, а то, как руководствуются теми или иными директивы основные роботы.

Давайте рассмотрим по порядку.

User-agent

Это самая главная директива, определяющая для каких роботов далее следуют правила.

Для всех роботов:
User-agent: *

Для конкретного бота:
User-agent: GoogleBot

Обратите внимание, что в robots.txt не важен регистр символов. Т.е. юзер-агент для гугла можно с таким же успехом записать соледующим образом:
user-agent: googlebot

Ниже приведена таблица основных юзер-агентов различных поисковых систем.

Бот Функция
Google
Googlebot основной индексирующий робот Google
Googlebot-News Google Новости
Googlebot-Image Google Картинки
Googlebot-Video видео
Mediapartners-Google Google AdSense, Google Mobile AdSense
Mediapartners Google AdSense, Google Mobile AdSense
AdsBot-Google проверка качества целевой страницы
AdsBot-Google-Mobile-Apps Робот Google для приложений
Яндекс
YandexBot основной индексирующий робот Яндекса
YandexImages Яндекс.Картинки
YandexVideo Яндекс.Видео
YandexMedia мультимедийные данные
YandexBlogs робот поиска по блогам
YandexAddurl робот, обращающийся к странице при добавлении ее через форму «Добавить URL»
YandexFavicons робот, индексирующий пиктограммы сайтов (favicons)
YandexDirect Яндекс.Директ
YandexMetrika Яндекс.Метрика
YandexCatalog Яндекс.Каталог
YandexNews Яндекс.Новости
YandexImageResizer робот мобильных сервисов
Bing
Bingbot основной индексирующий робот Bing
Yahoo!
Slurp основной индексирующий робот Yahoo!
Mail.Ru
Mail.Ru основной индексирующий робот Mail.Ru
Rambler
StackRambler Ранее основной индексирующий робот Rambler. Однако с 23.06.11 Rambler перестает поддерживать собственную поисковую систему и теперь использует на своих сервисах технологию Яндекса. Более не актуально.

Disallow и Allow

Disallow закрывает от индексирования страницы и разделы сайта.
Allow принудительно открывает для индексирования страницы и разделы сайта.

Но здесь не все так просто.

Во-первых, нужно знать дополнительные операторы и понимать, как они используются — это *, $ и #.

* — это любое количество символов, в том числе и их отсутствие. При этом в конце строки звездочку можно не ставить, подразумевается, что она там находится по умолчанию.
$ — показывает, что символ перед ним должен быть последним.
# — комментарий, все что после этого символа в строке роботом не учитывается.

Примеры использования:

Disallow: *?s=
Disallow: /category/$

Следующие ссылки будут закрыты от индексации:
http://site.ru/?s=
http://site.ru/?s=keyword
http://site.ru/page/?s=keyword
http://site.ru/category/

Следующие ссылки будут открыты для индексации:
http://site.ru/category/cat1/
http://site.ru/category-folder/

Во-вторых, нужно понимать, каким образом выполняются вложенные правила.
Помните, что порядок записи директив не важен. Наследование правил, что открыть или закрыть от индексации определяется по тому, какие директории указаны. Разберем на примере.

Allow: *.css
Disallow: /template/

http://site.ru/template/ — закрыто от индексирования
http://site.ru/template/style.css — закрыто от индексирования
http://site.ru/style.css — открыто для индексирования
http://site.ru/theme/style.css — открыто для индексирования

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

Allow: *.css
Allow: /template/*.css
Disallow: /template/

Повторюсь, порядок директив не важен.

Sitemap

Директива для указания пути к XML-файлу Sitemap. URL-адрес прописывается так же, как в адресной строке.

Директива Sitemap указывается в любом месте файла robots.txt без привязки к конкретному user-agent. Можно указать несколько правил Sitemap.

Директива для указания главного зеркала сайта (в большинстве случаев: с www или без www). Обратите внимание, что главное зеркало указывается БЕЗ http://, но С https://. Также если необходимо, то указывается порт.
Директива поддерживается только ботами Яндекса и Mail.Ru. Другими роботами, в частности GoogleBot, команда не будет учтена. Host прописывается только один раз!

Пример 1:
Host: site.ru

Пример 2:
Host: https://site.ru

Crawl-delay

Директива для установления интервала времени между скачиванием роботом страниц сайта. Поддерживается роботами Яндекса, Mail.Ru, Bing, Yahoo. Значение может устанавливаться в целых или дробных единицах (разделитель — точка), время в секундах.

Пример 1:
Crawl-delay: 3

Пример 2:
Crawl-delay: 0.5

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

Чем больше значение, тем меньше страниц робот загрузит за одну сессию. Оптимальное значение определяется индивидуально для каждого сайта. Лучше начинать с не очень больших значений — 0.1, 0.2, 0.5 — и постепенно их увеличивать. Для роботов поисковых систем, имеющих меньшее значение для результатов продвижения, таких как Mail.Ru, Bing и Yahoo можно изначально установить бо́льшие значения, чем для роботов Яндекса.

Clean-param

Это правило сообщает краулеру, что URL-адреса с указанными параметрами не нужно индексировать. Для правила указывается два аргумента: параметр и URL раздела. Директива поддерживается Яндексом.

Clean-param: author_id http://site.ru/articles/

Clean-param: author_id&sid http://site.ru/articles/

Яндекс также рекомендует использовать эту директиву для того, чтобы не учитывались UTM-метки и идентификаторы сессий. Пример:

Другие параметры

В расширенной спецификации robots.txt можно найти еще параметры Request-rate и Visit-time. Однако они на данный момент не поддерживаются ведущими поисковыми системами.

Смысл директив:
Request-rate: 1/5 — загружать не более одной страницы за пять секунд
Visit-time: 0600-0845 — загружать страницы только в промежуток с 6 утра до 8:45 по Гринвичу.

Закрывающий robots.txt

Если вам нужно настроить, чтобы ваш сайт НЕ индексировался поисковыми роботами, то вам нужно прописать следующие директивы:

Проверьте, чтобы на тестовых площадках вашего сайта были прописаны эти директивы.

Правильная настройка robots.txt

Для России и стран СНГ, где доля Яндекса ощутима, следует прописывать директивы для всех роботов и отдельно для Яндекса и Google.

Чтобы правильно настроить robots.txt воспользуйтесь следующим алгоритмом:

  1. Закройте от индексирования админку сайта
  2. Закройте от индексирования личный кабинет, авторизацию, регистрацию
  3. Закройте от индексирования корзину, формы заказа, данные по доставке и заказам
  4. Закройте от индексирования ajax, json-скрипты
  5. Закройте от индексирования папку cgi
  6. Закройте от индексирования плагины, темы оформления, js, css для всех роботов, кроме Яндекса и Google
  7. Закройте от индексирования функционал поиска
  8. Закройте от индексирования служебные разделы, которые не несут никакой ценности для сайта в поиске (ошибка 404, список авторов)
  9. Закройте от индексирования технические дубли страниц, а также страницы, на которых весь контент в том или ином виде продублирован с других страниц (календари, архивы, RSS)
  10. Закройте от индексирования страницы с параметрами фильтров, сортировки, сравнения
  11. Закройте от индексирования страницы с параметрами UTM-меток и сессий
  12. Проверьте, что проиндексировано Яндексом и Google с помощью параметра «site:» (в поисковой строке наберите «site:site.ru»). Если в поиске присутствуют страницы, которые также нужно закрыть от индексации, добавьте их в robots.txt
  13. Укажите Sitemap и Host
  14. По необходимости пропишите Crawl-Delay и Clean-Param
  15. Проверьте корректность robots.txt через инструменты Google и Яндекса (описано ниже)
  16. Через 2 недели перепроверьте, появились ли в поисковой выдаче новые страницы, которые не должны индексироваться. В случае необходимости повторить выше перечисленные шаги.

Пример robots.txt

Как добавить и где находится robots.txt

После того как вы создали файл robots.txt, его необходимо разместить на вашем сайте по адресу site.ru/robots.txt — т.е. в корневом каталоге. Поисковый робот всегда обращается к файлу по URL /robots.txt

Как проверить robots.txt

Проверка robots.txt осуществляется по следующим ссылкам:

  • В Яндекс.Вебмастере — на вкладке Инструменты>Анализ robots.txt
  • В Google Search Console — на вкладке Сканирование>Инструмент проверки файла robots.txt

Типичные ошибки в robots.txt

В конце статьи приведу несколько типичных ошибок файла robots.txt

  • robots.txt отсутствует
  • в robots.txt сайт закрыт от индексирования (Disallow: /)
  • в файле присутствуют лишь самые основные директивы, нет детальной проработки файла
  • в файле не закрыты от индексирования страницы с UTM-метками и идентификаторами сессий
  • в файле указаны только директивы
    Allow: *.css
    Allow: *.js
    Allow: *.png
    Allow: *.jpg
    Allow: *.gif
    при этом файлы css, js, png, jpg, gif закрыты другими директивами в ряде директорий
  • директива Host прописана несколько раз
  • в Host не указан протокол https
  • путь к Sitemap указан неверно, либо указан неверный протокол или зеркало сайта

Если у вас есть дополнения к статье или вопросы, пишите ниже в комментариях.
Если у вас сайт на CMS WordPress, вам будет полезна статья «Как настроить правильный robots.txt для WordPress».

Полезное видео от Яндекса (Внимание! Некоторые рекомендации подходят только для Яндекса).

Добавить комментарий