实体转义
Sitemap 文件必须以 UTF-8 编码(通常在保存文件时可以这么做)。对于所有的 XML 文件,任何数据数值(包括网址)都应对下表中列出的字符使用实体转义码。
字符 | 转义码 | |
---|---|---|
& 符号 | & | & |
单引号 | ' | ' |
双引号 | " | " |
大于 | > | > |
小于 | < | < |
此外,所有网址(包括 Sitemap 的网址)都必须经过网址转义并编码,以便它们所在网络服务器可以进行读取。不过,如果您使用任何类型的脚本、工具或日志文件来生成网址(除手动输入之外的任何方法),通常系统已经替您完成了这部分工作。请仔细检查,确保网址符合 RFC-3986 URI 标准、RFC-3987 IRI 标准,以及 XML 标准。
以下是使用非 ASCII 字符 (ü) 以及要求实体转义字符 (&) 的网址:
http://www.example.com/ümlat.html&q=name以下是 ISO-8859-1 编码(用于使用该编码的服务器上的托管)且网址转义过的同一网址:
http://www.example.com/%FCmlat.php&q=name以下是 UTF-8 编码的(用于使用该编码的服务器上的托管)以及网址转义过的同一网址:
http://www.example.com/%C3%BCmlat.html&q=name以下是经过实体转义的同一网址:
http://www.example.com/%C3%BCmlat.html&q=nameXML
Sitemap 示例
下例显示了一个 XML 格式的 Sitemap。示例中的 Sitemap 包含少量的网址,每个网址都使用不同的一组可选参数。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.example.com/catalog?item=12&desc=vacation_hawaii</loc>
<changefreq>weekly</changefreq>
</url>
<url>
<loc>http://www.example.com/catalog?item=73&desc=vacation_new_zealand</loc>
<lastmod>2004-12-23</lastmod>
<changefreq>weekly</changefreq>
</url>
<url>
<loc>http://www.example.com/catalog?item=74&desc=vacation_newfoundland</loc>
<lastmod>2004-12-23T18:00:15+00:00</lastmod>
<priority>0.3</priority>
</url>
<url>
<loc>http://www.example.com/catalog?item=83&desc=vacation_usa</loc>
<lastmod>2004-11-23</lastmod>
</url>
</urlset>