robots.txt; Какая кодировка?

Я собираюсь создать файл robots.txt.

Я использую блокнот.

Как мне сохранить файл? UTF8, ANSI или что?

Кроме того, это должен быть капитал R?

И в файле я указываю местоположение карты сайта. Должно ли это быть с большой буквы S?

  User-agent: *
  Sitemap: http://www.domain.se/sitemap.xml

Спасибо

7 ответов

Решение

Поскольку файл должен состоять только из символов ASCII, обычно не имеет значения, сохраните ли вы его как ANSI или UTF-8.

Однако вам следует выбрать ANSI, если у вас есть выбор, потому что при сохранении файла в формате UTF-8 блокнот добавляет метку порядка байтов Unicode в начало файла, что может сделать файл нечитаемым для интерпретаторов, которые знают только ASCII.

Я считаю, что Robots.txt "должен" быть в кодировке UTF-8.

"Ожидаемый формат файла - простой текст, закодированный в UTF-8. Файл состоит из записей (строк), разделенных CR, CR/LF или LF".

/ из https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt

Но блокнот и другие программы вставят 3-байтовую спецификацию в начало файла, в результате чего Google не сможет прочитать эту первую строку (с ошибкой "неверный синтаксис").

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

Строка "неверный синтаксис", вызванная спецификацией, повлияет только на первую строку, которая теперь пуста.

Остальные строки будут прочитаны успешно.

Сладкий трюк, не правда ли!:)

Что касается кодировки: @Roland уже прибил его. Файл должен содержать только URL. Не-ASCII символы в URL недопустимы, поэтому сохранение файла в формате ASCII должно быть просто нормальным.

Если по какой-то причине вам нужно обслуживать UTF-8, убедитесь, что это правильно указано в content-type заголовок текстового файла. Вам нужно будет установить это в настройках вашего веб-сервера.

Что касается чувствительности к регистру:

  • Согласно robotstxt.org, файл robots.txt должен быть в нижнем регистре:

    Не забудьте использовать все строчные буквы для имени файла: "robots.txt", а не "Robots.TXT".

  • Ключевые слова, вероятно, нечувствительны к регистру - я не могу найти ссылку на это - но я склонен делать то, что делают все остальные: использовать заглавные буквы (Sitemap).

Большинство ответов кажутся устаревшими. По состоянию на 2022 год Google определяет формат следующим образом (источник):

Формат файла

Файл robots.txt должен быть текстовым файлом в кодировке UTF-8 , а строки должны быть разделеныCR,CR/LF, илиLF.

Google игнорирует недопустимые строки в файлах robots.txt, в том числе метку порядка байтов Unicode (BOM) в начале файла robots.txt, и использует только допустимые строки. Например, если загруженный контент представляет собой HTML, а не правила robots.txt, Google попытается проанализировать контент и извлечь правила, игнорируя все остальное.

Точно так же, если кодировка символов в файле robots.txt отличается от UTF-8, Google может игнорировать символы, не входящие в диапазон UTF-8, что может сделать правила robots.txt недействительными.

В настоящее время Google применяет ограничение размера файла robots.txt в 500 кибибайт (КиБ). Содержимое, превышающее максимальный размер файла, игнорируется. Вы можете уменьшить размер файла robots.txt, объединив директивы, которые приведут к увеличению размера файла robots.txt. Например, поместите исключенный материал в отдельный каталог.

TL;DR, чтобы ответить на вопрос:

  • Вы можете использовать Блокнот, чтобы сохранить файл. Просто используйте кодировку UTF-8.
  • Он может содержать или не содержать спецификацию; Все равно это будет проигнорировано.
  • Файл должен быть назван точно. Без заглавной буквы "Р".
  • Имена полей не чувствительны к регистру (источник ). Следовательно, оба,sitemapиSitemapв порядке.

Имейте в виду, чтоrobots.txtпросто стандарт де-факто . Нет никакой гарантии, что какой-либо сканер прочитает этот файл так, как предлагает Google, и ни один сканер не обязан соблюдать какие-либо установленные правила.

Я рекомендую любую кодировку robots.txt в UTF8, без спецификации или в кодировке ASCII.

Для URL-адресов, которые не являются символами ASCII, я предлагаю либо использовать UTF8, что хорошо в большинстве случаев, либо использовать URL-кодирование для представления всех символов в ASCII.

Взгляните на Википедию robots.txt Файл - это кодировка UTF8.

Смотрите ссылки:

Я думаю, ты слишком много думаешь. Я всегда пишу строчными буквами, потому что это проще.

Вы можете просмотреть robots.txt SO. https://stackru.com/robots.txt

Я предлагаю вам использовать ANSI, потому что если ваш robots.txt сохранен как UTF-8, то он будет помечен как неисправный в поисковой консоли Google из-за метки порядка байтов Unicode, добавленной в его начало (как упоминалось выше в Roland Illig).).

Другие вопросы по тегам