我即将创建一个robots.txt文件。
我正在使用记事本。
我应该如何保存文件?UTF8,ANSI还是什么?
另外,它应该是大写的 R吗?
在文件中,我指定了站点地图位置。这应该是大写的 S吗?
User-agent: *
Sitemap: http://www.domain.se/sitemap.xml
谢谢
我即将创建一个robots.txt文件。
我正在使用记事本。
我应该如何保存文件?UTF8,ANSI还是什么?
另外,它应该是大写的 R吗?
在文件中,我指定了站点地图位置。这应该是大写的 S吗?
User-agent: *
Sitemap: http://www.domain.se/sitemap.xml
谢谢
由于该文件应仅包含 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 字节的 BOM(字节顺序标记),导致 Google 无法读取第一行(显示“无效语法”错误)。
任何一个; 删除 BOM,或者更简单,在第一行添加换行符,以便第一行指令出现在第二行。
由 BOM 引起的“无效语法”行只会影响现在为空的第一行。
The rest of the lines will be read successfully.
至于编码:@Roland 已经搞定了。该文件应仅包含 URL。URL 中的非 ASCII 字符是非法的,因此将文件保存为 ASCII 应该没问题。
如果您出于某种原因需要提供 UTF-8,请确保content-type
在文本文件的标题中正确指定。您必须在 Web 服务器的设置中进行设置。
至于区分大小写:
根据robotstxt.org, robots.txt 文件需要小写:
请记住使用所有小写的文件名:“robots.txt”,而不是“Robots.TXT”。
关键字可能不区分大小写——我找不到关于它的参考资料——但我倾向于做所有其他人所做的事情:使用大写版本 ( Sitemap
)。
我觉得你想太多了。我总是使用小写,只是因为它更容易。
您可以查看 SO 的 robots.txt。https://stackoverflow.com/robots.txt
我建议要么robots.txt
用 UTF8 编码,不带 BOM,要么用 ASCII 编码。
对于包含非 ASCII 字符的 URL,我建议使用 UTF8,这在大多数情况下都可以,或者使用 URL 编码来表示 ASCII 中的所有字符。
看看维基百科的robots.txt
文件——它是 UTF8 编码的。
请参阅参考资料:
I suggest you to use ANSI, because if your robots.txt is saved as UTF-8, then it will be marked as faulty in Google's Search Console due to the Unicode Byte Order Mark that's added to its beginning (as mentioned from Roland Illig above).