Sitemap协议格式由XML标签组成。 Sitemap中的所有数据值都必须进行实体转义。文件本身必须是UTF-8编码的。
Sitemap必须:
以<urlset>标记开始,以</ urlset>标记结束。
在<urlset>标记内指定名称空间(协议标准)。
每个URL有一个<url>条目,作为父XML标记。
每个<url>父标记包括一个<loc>子项。
所有其他标签都是可选的。在搜索引擎中,对这些可选标签的支持可能有所不同。
此外,站点地图中的所有网址都必须来自单个站点,例如www.example.com或store.example.com。
1.XML站点地图简单示例
<?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>
</urlset>
2.XML标签定义
标签 | 可选 | 描述 |
---|---|---|
<urlset> | 必须 | 封装文件并引用当前协议标准。 |
<url> | 必须 | 每个URL条目的父标记。其余标签是此标签的子级。 |
<loc> | 必须 | 页面的URL。必须以协议开头且少于2048字符。 |
<lastmod> | 可选 | 文件的最后修改日期。 |
<changefreq> | 可选 | 页面更改的频率:always、hourly、daily、weekly、monthly、yearly、never。 |
<priority> | 可选 | 此URL相对于你网站上其他URL的优先级。有效值的范围是0.0到1.0。此值只是让搜索引擎知道你认为哪些网页重要。默认值:0.5。 |
3.转义
站点地图文件必须使用UTF-8编码(通常可以在保存文件时执行此操作)。与所有XML文件一样,任何数据值(包括URL)都必须对下表中列出的字符使用实体转义码。
字符 | 转义 |
---|---|
& | & |
' | ' |
" | " |
> | > |
< | < |
4.XML站点地图标准示例
<?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>
5.使用Sitemap索引文件(将多个Sitemap文件分组)
你可以提供多个Sitemaps文件,但是你提供的每个Sitemaps文件都不得超过50,000个URL,并且不得超过50MB(52,428,800字节)。如果愿意,可以使用gzip压缩Sitemap文件,以减少带宽消耗;但是,一旦解压缩后,站点地图文件不得大于50MB。如果要列出50,000个以上的URL,则必须创建多个Sitemap文件。
如果确实提供了多个Sitemap,则应在Sitemap索引文件中列出每个Sitemap文件。 Sitemaps索引文件列出的Sitemaps不得超过50,000个,并且不得大于50MB(52,428,800字节),并且可以压缩。你可以有多个Sitemap索引文件。 Sitemap索引文件的XML格式与Sitemap文件的XML格式非常相似。
Sitemap索引文件必须:
以<sitemapindex>标记开始,以</ sitemapindex>标记结束。
为每个站点地图包括一个<sitemap>条目作为父XML标记。
为每个<sitemap>父标记包括一个<loc>子项。
可选的<lastmod>标记也可用于Sitemap索引文件。
注意:Sitemaps索引文件只能指定与Sitemaps索引文件位于同一站点上的Sitemaps。例如,http://www.yoursite.com/sitemap_index.xml可以在http://www.yoursite.com上包含站点地图,但不能在http://www.example.com或http://yourhost.yoursite上包含站点地图。 com。与Sitemaps一样,你的Sitemaps索引文件必须采用UTF-8编码。
6.XML站点地图索引样本
以下示例显示了一个Sitemap索引,其中列出了两个Sitemap:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://www.example.com/sitemap1.xml.gz</loc>
<lastmod>2004-10-01T18:23:17+00:00</lastmod>
</sitemap>
<sitemap>
<loc>http://www.example.com/sitemap2.xml.gz</loc>
<lastmod>2005-01-01</lastmod>
</sitemap>
</sitemapindex>
注意:与XML文件中的所有值一样,站点地图URL必须进行实体转义。
7.其他Sitemap格式
Sitemap协议使你能够向搜索引擎提供有关页面的详细信息,推荐使用Sitemap协议,因为除了URL之外,还可以提供有关网站页面的其他信息。但是,除了XML协议外,还支持RSS提要和文本文件,它们提供了有限的信息。
Syndication feed
你可以提供RSS(Real Simple Syndication)2.0或Atom 0.3或1.0提要。通常,仅当你的站点已具有联合供稿时才使用此格式。请注意,此方法可能不会让搜索引擎知道您网站中的所有URL,因为feed可能只提供有关最近URL的信息,尽管搜索引擎仍可以在正常爬网过程中使用该信息来查找你网站上的其他页面。通过跟踪Feed中页面内的链接进行处理。确保提要位于你要搜索引擎爬网的最高目录中。搜索引擎从提要中提取信息,如下所示:
<link>字段-表示URL
修改日期字段(RSS提要的<pubDate>字段和Atom提要的<updated>日期)-指示每个URL的最后修改时间。修改日期字段的使用是可选的。
文本文件
可以提供一个简单的文本文件,每行包含一个URL。文本文件必须遵循以下准则:
文本文件每行必须有一个URL。 URL不能包含嵌入的新行。
必须完整指定URL,包括http。
每个文本文件最多可以包含50,000个URL,并且不得大于50MB(52,428,800字节)。如果你的站点包含超过50,000个URL,则可以将列表分成多个文本文件,然后分别添加每个文本文件。
文本文件必须使用UTF-8编码。
该文本文件除URL列表外不应包含任何其他信息。
文本文件不应包含页眉或页脚信息。
如果愿意,可以使用gzip压缩Sitemap文本文件,以减少带宽。
可以根据需要命名文本文件。请检查以确保你的网址遵循URI的RFC-3986标准,IRI的RFC-3987标准
应该将文本文件上载到要搜索引擎进行爬网的最高级别的目录,并确保你没有在文本文件中列出更高级别目录中的URL。
示例:
http://www.example.com/catalog?item=1
http://www.example.com/catalog?item=11
8.站点地图文件位置
Sitemap文件的位置决定了该Sitemap中可以包含的URL集。位于http://example.com/catalog/sitemap.xml的站点地图文件可以包含以http://example.com/catalog/开头的任何URL,但不能包含以http://example.com/images/开头的URL。