Robots.txt, Ложный друг SEO

  1. Что такое Robots.txt?
  2. Должен ли я иметь Robots.txt?
  3. Как SEO должен обращаться с Robots.txt?
  4. Причины для дальнейших записей в Robots.txt
  5. Нет причин для дальнейших записей в Robots.txt
  6. Как указан Robots.txt?
  7. Robots.txt и HTTP против HTTPS
  8. структура
  9. Кодировка файла
  10. Размер файла Robots.txt
  11. Комментарии в Robots.txt
  12. Остерегайтесь пустых строк
  13. Агенты пользователей
  14. Пути для запрета
  15. Боты интерпретируют информацию широко
  16. Прописные и строчные
  17. Исключение: путь в "Sitemap:"
  18. Порядок троп
  19. Противоречия в путях
  20. Инструкции в Robots.txt
  21. Disallow:
  22. NOINDEX:
  23. Sitemaps:
  24. Crawl задержки:
  25. Яндекс-специфическая информация
  26. Гладко пары:
  27. Поддержка функций Crawler
  28. Подстановочные знаки в Robots.txt
  29. Знак "$"
  30. Подстановочные знаки в информации агента пользователя
  31. Robots.txt и индексация
  32. Robots.txt и ссылки
  33. Robots.txt и кеширование
  34. Тест Robots.txt
  35. Ryte.com Robots.txt Тестер
  36. Ползать с кричащей лягушкой
  37. Запрограммируйте свой собственный валидатор
  38. Подводные камни и распространенные ошибки
  39. Пустяки и FunFacts
  40. Заключение и резюме

Robots.txt контролирует, что (доброкачественным) ботам на вашем сайте разрешено делать, а что нет. В SEO каменного века Robots.txt широко использовался для управления поисковыми системами и де-индексирования контента. Сегодня мир сложнее.

Что такое Robots.txt?

Robots.txt - это небольшой текстовый файл, расположенный в корневом каталоге субдомена. Он определяет, какие боты (не только поисковые системы, но и также) разрешены на моем сайте, а какие нет. Я могу сделать это разрешение для каждого бота индивидуально или для всех вместе.

Но: Robots.txt не является техническим устройством блокировки. Это означает, что настройки влияют только на ботов, которые придерживаются robots.txt. Хакеры, очистители почтовых адресов и воры контента не могут быть остановлены настройкой Robots.txt.

Вся процедура Robots.txt основана на Спецификация от группы вокруг Мартийн Костер с 1994 года. Документ является стандартом де-факто. Будь и как протокол реализован ботом, зависит от поставщика бота. Google, Yahoo и Microsoft имеют но 2008 опубликовал некоторые сходства интерпретации они хотят придерживаться. Robots.txt является частью "протокола исключения роботов", который включает в себя другие темы, такие как мета-роботы, X-роботы, Sitemaps и далее включает.

Должен ли я иметь Robots.txt?

Нет. Если Robots.txt отсутствует, боты предполагают, что им разрешено сканировать все URL-адреса в вашем протоколе, субдомене или комбинации доменов. Однако, если вы хотите активно контролировать ботов, вы можете использовать файл Robots.txt.

Как SEO должен обращаться с Robots.txt?

Используйте стандартную запись

Для 99% всех сайтов «стандартная запись» достаточна и полезна:
Пользовательский агент: *
Disallow:
Карта сайта: https://wngmn.de/sitemap.xml

Некоторые также используют:
Пользовательский агент: *
Разрешить: /
Карта сайта: https://wngmn.de/sitemap.xml

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

Важно для записи по умолчанию: Напишите: Разрешить: / (с "/") или Запретить: (без "/"), в противном случае доступ сканера ко всему содержимому вашего домена будет заблокирован. Вы можете найти больше об этом, если вы заинтересованы в разделе Формат Robots.txt ,

Причины для дальнейших записей в Robots.txt

В некоторых случаях запись Robots.txt по умолчанию недостаточна. Основные причины в основном:

  • Проблемы при сканировании . Поисковые системы перемещаются в области страниц, которые по разным причинам имеют мало ценного контента, и игнорируют важные ресурсы страницы. Если вы не решите эту проблему разумным способом, тогда запись в Robots.txt может оказаться полезной. (Разумным решением будет: исправление внутренней ссылки + мета-роботы / X-роботы Noindex, следуйте, если страницы не могут быть полностью удалены)
  • Причины эффективности : Вы должны реагировать быстро и временно. Тогда запись в Robots.txt может стать эффективным переходным решением.
  • Хотя сканер доброкачественный, он создает слишком большую нагрузку, и вы хотите отказать ему (частично) в доступе к вашей странице или разрешить его только специально - если он не бот поисковой системы.
  • Отслеживание или реклама пикселов , размещенных на (суб) домене, на ваш страх и риск, и когда доступ сканера затрудняет сбор правильных значений.

Robots.txt никогда не является фундаментальным решением проблемы, но может облегчить симптомы только в исключительных случаях.

Нет причин для дальнейших записей в Robots.txt

Однако часто Robots.txt используется для мотивов, которые могут иметь негативные и непреднамеренные побочные эффекты. С нашей точки зрения, эти мотивы не подходят для оправдания записи в Robots.txt:

  • Деиндексация контента с помощью Disallow: - он просто не работает. Напротив. Заинтересованные пользователи в центральном файле узнают о содержимом, которое вы на самом деле хотите скрыть. ( Ярлык: узнайте больше об использовании noindex в robots.txt. )
  • Клоакинг : Клоакинг не очень хорошая идея. Хотя файлы JavaScript, которые вы используете для маскировки, больше не сканируются регулярно, это не означает, что Google не может их найти.
  • Блокировка разделов страницы . Например, если вы заблокируете свой внутренний поиск или разбитые на страницы страницы через Robots.txt, Google не сможет получить к ним доступ. Но: ссылки, указывающие на них, не наследуют PageRank, и контент все равно может появляться в поиске. ( Ярлык: Crawl-Ban vs. Индексация запрет )

Как указан Robots.txt?

путь к файлу

Файл всегда должен находиться в корне созвездия субдомена / домена, а затем применяться ко всем путям ниже этого корня. Имя файла Robots.txt всегда пишется совсем маленьким: «robots.txt».
Если вы используете другие символы, боты не найдут файл и он не будет работать. Google перечислил несколько хороших примеров допустимых путей здесь: Примеры действительных URL robots.txt

Robots.txt и HTTP против HTTPS

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

Вернуться к технической структуре Robots.txt. Мы уже видели пример выше.

структура

В основном Robots.txt всегда имеет следующую структуру:
Пользователь-агент: [пользователь-агент] # например: Пользователь-агент: Googlebot
Disallow: [path1] # например: / admin /
Disallow: [path2] # например: * .js

Это указывает, что для пользовательского агента (= имя бота, такого как Googlebot или Bingbot) [user-agent] пути к файлам [path1] и [path2] не разрешены для доступа.

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

Кодировка файла

Файл должен быть в кодировке utf-8 и содержать только текст. Файлы Robots.txt с HTML-кодом не будут работать надежно. Если инструкции в файле HTML находятся в правильных строках и блоках строк, они, тем не менее, могут быть приняты во внимание.

Размер файла Robots.txt

Файл не должен быть слишком большим. Например, Google игнорирует файлы Robots.txt, размер которых превышает 500 КБ. Обычно вы не должны достигать этого предела в подходе. Однако если вы ссылаетесь на каждый URL-адрес в файле Robots.txt или устанавливаете его расширенным способом ASCII, у вас могут возникнуть проблемы с ограничением размера файла.

Комментарии в Robots.txt

Если вы хотите аннотировать записи, чтобы напомнить вам или вашим коллегам о том, что подразумевается под строкой, вы можете использовать «#». Все после «#» до конца строки считается комментарием.
User-Agent: Googlebot # Особые инструкции для Googlebot
Disallow: # Запрет на «ничто» приводит к разрешению «все»

или:

# Конкретные инструкции для Googlebot
Пользовательский агент: Googlebot
# Запрет «ничего» приводит к разрешению «все»
Disallow:

Остерегайтесь пустых строк

Инструкции для пользовательского агента должны быть в блоке. Если вы вставите пустые строки, есть риск, что боты проигнорируют инструкции.

Пользовательский агент: Googlebot
Disallow: / запрещено /
Разрешить: / запрещено / разрешено /

В этом примере содержимое может быть разрешено / запрещено / разрешено / не сканировано, поскольку пустая строка игнорирует оператор Allow. Google здесь, но относительно отказоустойчивый.
Кстати: место за двоеточием необязательно. И пользователь-агент: * и пользователь-агент: * верны.

Агенты пользователей

Указание User-Agent: [User-Agent] всегда инициирует новый блок операторов. Порядок пользовательских агентов не имеет значения.
Однако определенные правила для пользовательского агента переопределяют общие инструкции:

User-Agent: * Disallow: # позволяет всем ботам получать доступ ко всему контенту
User-Agent: Googlebot Disallow: / # запрещает Googlebot доступ ко всему контенту

Например, переопределение общих операторов также относится к ботам, которые на самом деле принадлежат классу:

User-Agent: Googlebot Disallow: # позволяет всем роботам Google получить доступ ко всему контенту
User-Agent: Googlebot-News Disallow: / # запрещает Google News-Bot доступ ко всему контенту

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

Пути для запрета

Пути относительны

За указанием запретить указывается путь, к которому применяются эти инструкции. Путь всегда относительно корня, под которым лежит Robots.txt. Корень включает в себя протокол (HTTP / HTTP), поддомен (www./stage.), Домен с TLD (wngmn.de/google.com) и, возможно, порт.

Поэтому, если Robots.txt находится по адресу http://wngmn.de/robots.txt, будут применяться все пути для HTTP-URL. Если файл Robots.txt находится по адресу https://wngmn.de, будет применяться вся информация для URL-адресов HTTPS.
Поэтому, если вы все еще используете части своей страницы по протоколу HTTP или имеете несколько поддоменов, убедитесь, что каждому протоколу и каждому поддомену может потребоваться собственный файл robots.txt.

Указание пути всегда начинается с «/», даже если, например, Google отказоустойчив и использует «/» в случае сомнений.

Пользовательский агент: *
Disallow: / запрещено / # Блокирует все файлы в папке «запрещено»
Disallow: запрещено / # Запрещено / продлено Google и эквивалентно предыдущему.

Боты интерпретируют информацию широко

Боты всегда предполагают, что что-то может прийти после вашего заявления.
Итак, вы даете:

Пользовательский агент: *
Disallow: / Запрещено # Блокирует все файлы в папке «запрещено» и все файлы в корне, которые начинаются с запрещенного

Вкл., Будут заблокированы не только все файлы в «запрещенной» папке, но и все файлы в «запрещенной». Кроме того, «/секаемый», «запрещенный123.html» или любой другой файл в корне, который начинается с «запрещенного», также будет заблокирован.
Вы можете влиять на это поведение с помощью "$". Подробнее в разделе Wildcard.

Прописные и строчные

Пути чувствительны к регистру. / Запрещает / блокирует другие пути, чем / запрещено /. / запрещает /, но также блокирует все URL с заглавными буквами в этой папке, например /verboten/Verboten.html.
Примечание: в основном, это хорошая идея, чтобы написать все ваши пути небольшим образом и всегда передавать прописные варианты в нижний регистр (301!).

Исключение: путь в "Sitemap:"

При ссылке на файлы Sitemap всегда указывайте полный URL-адрес с протоколом и доменом: https://wngmn.de/sitemap.xml или http://www.wngmn.de/sitemap.xml.
Причина этого заключается в том, что в принципе вы также можете ссылаться на карты сайта в другом домене. Больше в наша статья знаний по HTML и файлам Sitemap для SEO ,

Порядок троп

Порядок информации о пути в основном не имеет значения.
Тем не менее, конкретная информация переопределяет общие инструкции. Например, вы определяете:

Запретить: / запрещено
Разрешить: / запрещено /

поэтому /verboten.html/ не просканирован, все файлы, расположенные ниже / запрещено / (например / запрещено / запрещено.html) уже.

Противоречия в путях

Вы можете создавать противоречия в путях:

Disallow: / запрещено /
Разрешить: / запрещено /

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

Disallow: / запрещено /
Разрешить: /*.html

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

Инструкции в Robots.txt

Есть несколько инструкций, которые я могу сделать в Robots.txt. Дело не имеет отношения к заявлениям. Disallow, DisAllow, disallow и disAllow или DISALLOW, следовательно, эквивалентны (в отличие от Использование прописных и строчных букв в путях ).

Disallow:

Самым распространенным является, конечно, «Запретить». Запретить исключает URL-адреса из доступа сканера. Вы можете исключить определенные URL или определенные шаблоны URL. В рамках исключений можно сделать исключение с помощью «Разрешить». Важное замечание: Запретить запрещает доступ сканеру, но не индексирует.

NOINDEX:

Noindex относительно неизвестен и официально не поддерживается Google. Джон Мюллер активно советует против использования.

К 01/2018 мы советовали в некоторых случаях, когда нужно было идти быстро или других вариантов не было, посоветовали. Noindex в Robots.txt никогда не был долгосрочным и надежным решением. С 01/2018 Google, похоже, игнорирует эту конфигурацию. Результаты всегда были неоднозначными (другие поисковые системы не учитывают информацию).

Sitemaps:

«Sitemaps:» - это утверждение, которое, в отличие от Noindex или Disallow / Allow, не предназначено для конкретного бота. Как видно из названия, эта команда позволяет указать (индексную) карту сайта. Это устраняет необходимость входа в карту сайта в Google Search Console или в Bing Webmaster Tools.
У нас больше в нашем Статьи знаний о сайтах для SEO, написанных вместе ,
Некоторые люди уклоняются от раскрытия своих карт сайтов конкурентам и скребкам. Но если вы хотите найти свои карты сайта, вы найдете их без ссылок в Robots.txt.

Crawl задержки:

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

  • Ваш веб-сервер должен выдержать эту нагрузку в любом случае.
  • Если нет, то настройка в консоли поиска Google или в инструментах Bing для веб-мастеров является более эффективным подходом.

Тем не менее, Bing, Yandex и Yahoo продолжают соблюдать директиву.

Если вы все еще хотите реализовать задержку сканирования, она должна выглядеть примерно так:

Пользовательский агент: *
Задержка сканирования: 1

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

Например, если у вас есть интеграция whitelabel бизнес-каталога или портала недвижимости на поддомене, то может быть полезно использовать задержку сканирования, чтобы поощрить поисковые системы сканировать ваш основной домен. Если содержание не имеет отношения, вам следует еще раз спросить себя, нужен ли вам контент вообще или его нужно сканировать.

Кстати, будьте осторожны при настройке задержки. Задержка в одну секунду означает, что если ваш документ имеет среднее время загрузки 300 мс с вашего сервера, он сможет сканировать URL каждые 1,3 секунды. Это будет "всего" 66 462 обхода URL в день. Если бот плохо контролируется, возможно, в день сканируется менее 10 000 URL.

Задержка сканирования: частота использования Количество возможных URL-адресов в день (со средним временем загрузки документа 300 мс) 1 распространено 66 462 2 распространено 37 565 3 26 181 4 20 093 5 очень распространено 16 301 10 очень распространено 8 388 15 широко распространено 5 647

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

Яндекс-специфическая информация

хост:

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

https://www.wngmn.de/robots.txt
Пользовательский агент: YandexBot
Ведущий: wngmn.de

Это поручает Яндексу расставить приоритеты «wngmn.de» выше, чем «www.wngmn.de». Но имеет смысл взять проблему в корне и установить для нее «один контент, один URL» и действительно исправить дублирующийся контент, а не полагаться на такой обходной путь, который будет рассматривать только Яндекс.

Гладко пары:

Кроме того, Яндекс поддерживает указание параметров, которые следует игнорировать или нормализовать (аналогично настройке параметров в консоли поиска Google или в инструментах для веб-мастеров Bing): https://yandex.com/support/webmaster/controlling-robot/robots-txt.xml

Поддержка функций Crawler

Запретить бот Разрешить Noindex Crawl Delay Карта сайта Googlebot ✓ ✓ ✓ (ненадежно) ✗ ✓ BingBot ✓ ✓ ✗ ✓ ✓ ЯндексBot ✓ ✓ ✓ ✓ ✓

Подстановочные знаки в Robots.txt

Знак "*"

По сути, пути в файле Robots.txt соответствуют подстрокам. Это означает, что / запрещать также включает в себя / запрещено2. Часто чистого отношения пути недостаточно. Если вы хотите исключить из сканирования все XML-файлы (Внимание: карты сайта XML всегда должны сканироваться), вы можете использовать следующую спецификацию:

Пользовательский агент: *
Disallow: /*.xml

Google исключит из сканирования все URL-адреса, которые находятся в домене Robots.txt и содержат «.xml». Но будьте осторожны: если вы ссылаетесь на /*.xml, например, /sitemap.xml2 или /alles_over_.xml_files.html также будут исключены из сканирования.

Знак "$"

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

Пользовательский агент: *
Disallow: /*.xml$

Знак «$» указывает, что указанный путь заканчивается в этой точке, и оператор не применяется к путям, где что-то следует после «.xml». /sitemap.xml2 должен быть просканирован в этом примере.

Подстановочные знаки в информации агента пользователя

Подстановочные знаки также рассматриваются в деталях агента пользователя. Пользователь-агент: Googlebot и пользователь-агент: Google * будут работать. Однако второе утверждение также будет включать, например, пользовательский агент Googlebot-News.

Robots.txt и индексация

Важно: robots.txt запрещает поисковым системам только сканирование, но не индексацию. Если Google находит много ссылок на URL-адрес, заблокированный файлом Robots.txt, этот URL-адрес все равно может отображаться пользователям в поиске. В заголовке часто используется наиболее распространенный текст ссылки.
В качестве описания Google затем указал (ранее):
Msgstr "Файл robots.txt на этом сайте не позволяет отображать описание результатов поиска. дальнейшая информация

Сегодня фрагмент выглядит так:
"Нет информации, доступной для этой страницы. дальнейшая информация "
Сегодня фрагмент выглядит так:   Нет информации, доступной для этой страницы

Результатом заблокированного URL также могут быть ссылки на сайт:
Результатом заблокированного URL также могут быть ссылки на сайт:

Bing также индексирует файлы, которые исключены из сканирования.
Если вы хотите исключить контент из рекламы в поиске, указание «noindex» в области HTML соответствующего URL является правильным способом.
Однако для того, чтобы Google мог читать этот индекс noindex, важно, чтобы этот URL разрешался для обхода через файл robots.txt.

Robots.txt и ссылки

Также важно: файл, заблокированный в Robots.txt, может быть проиндексирован, но поскольку бот не имеет доступа к нему, он не будет способствовать внутренней ссылке. Кроме того, внешние ссылки, которые находятся на страницах, заблокированных файлом Robots.txt, бесполезны с точки зрения SEO.

Robots.txt и кеширование

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

Тест Robots.txt

Консоль поиска Google Robots.txt Tester

Консоль поиска Google предоставляет тестер robots.txt. Функция, которая часто упускается из виду, но имеет высокую добавленную стоимость: всякий раз, когда Google обнаруживает изменение в вашем Robots.txt, вы также получаете возможность использовать функцию поиска по дате в консоли поиска.

Ryte.com Robots.txt Тестер

Ryte.com (ранее Onpage) также предоставляет тестер Robots.txt, который, в отличие от тестера консоли поиска Google, также позволяет пользователям тестировать различные пользовательские агенты: Бесплатный тестер от Ryte

Ползать с кричащей лягушкой

Вы можете указать Screaming Frog игнорировать Robots.txt. Для более сложных Robots.txts имеет смысл запустить сканирование один раз с Robots.txt и один раз без него, чтобы увидеть, в чем различия и работает ли Robots.txt так, как вы себе представляете.

Запрограммируйте свой собственный валидатор

По сути, есть возможность написать валидатор самостоятельно - это не слишком сложно из-за управляемого набора правил. Тем не менее, мы имеем, например, с реппи для питона от moz.com хороший опыт в продуктивном использовании.

Подводные камни и распространенные ошибки

Мы часто находим четыре ошибки:

  • Попытка деиндексировать файлы через Robots.txt с помощью Disallow:.
  • Противоречия в пути информации
  • Слишком далекая информация о пути через сопоставление подстрок и подстановочные знаки
  • Неправильная конфигурация Robots.txt из-за неправильно размещенных пробелов

Пустяки и FunFacts

  • Посмотрите Robots.txts, например, с форумов или новостных издателей.
    Во многих из этих Robots.txts вы найдете ссылки на URL, которые оператор сайта действительно хочет скрыть от пользователей.
  • Вы можете исключить robots.txt из robots.txt из сканирования. Но это работает только 24 часа, потому что тогда Robots.txt обычно запрашивается снова.
  • Алек Бертрам создал правильный HTML-документ в комментариях, и Robots.txt все еще действует: https://awebsiteinsidemy.com/robots.txt ,
  • https://vinna.cc/robots.txt даже построил целую игру (также действительный файл robots.txt).

Заключение и резюме

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

Изменения

  • 05.07.2018: обновлен и указан раздел Noindex в Robots.txt. Ранее мы сообщали, что у нас был хороший опыт в отдельных случаях. С 01/2018 эти результаты не могут быть воспроизведены в наших тестах.

Txt?
Txt?
Txt?
Txt?
Txt?
Txt?
Txt?
Txt?