Sitemap协议用于告知搜索引擎该站点允许抓取的有效页面,在最简单的实现下,它是一个由页面URL及其附加属性(如修改时间,页面重要程度等)组成的XML文件。使用sitemap协议只能为搜索引擎抓取提供更好的支持,但并不能保证搜索引擎一定会按协议设置的数据抓取。另外,sitemap协议还允许例如RSS、纯文本等格式的形式,在本文中我们只使用XML格式。

Sitemap协议规定XML文件需要满足实体转义且以UTF-8作为编码,另外还需要满足以下条件:

  • 必须以<urlset>开始并以</urlset>结束(XML文档声明除外),且必须声明协议标准(例如http://www.sitemaps.org/schemas/sitemap/0.9);
  • 每个URL使用一个<url>标签表示;
  • 每个<url>标签中必须有一个<loc>子标签;
  • sitemap文件最多只能支持50,000个链接且该文件大小必须保持在50MB以下(为了更快传输,sitemap支持使用gzip进行压缩)。

下面是一个简单的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>2020-12-15</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url><!-- ... -->
</urlset>

Sitemap协议标签说明

标签名 是否必须 说明
urlset Sitemap的根元素。
url 表示URL的父节点,除<urlset>外其它标签都是<url>标签的子元素。
loc 表示页面的链接网址,需要以协议(例如http开头)并以/结尾,且整体长度需要小于2048个字符。
lastmod 以W3C Datetime编码标准或YYYY-MM-DD格式表示的上次修改时间。
changefreq 表示页面内容改变的间隔,可以告知搜索引擎蜘蛛多久需要重新爬取内容(实际的时间间隔由搜索引擎决定)。
priority 表示该页面在网站中的优先程度,其值为0.01.0之间,未设置时默认为0.5,该值只影响本站点的页面,并不会影响搜索引擎展示结果中的位置。

对于changefreq,有以下几个允许的值:

  • always
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • never

其中,always表示每次访问该页面时内容都会改变,而never表示归档内容。

* 谷歌的文档中提到,谷歌将忽略<priority>以及<changefreq>的值,如果站点只提交至谷歌可以忽略这两个标签。

Google ignores <priority> and <changefreq> values, so don’t bother adding them.

实体转义

对于在文件中出标签外出现的以下字符,需要对其进行转义才能正确的表示:

字符 转义后的表示方式
& &amp;
' &apos;
" &quot;
> &gt;
< &lt;

对于所有的URL,需要满足RFC-3986URI标准、RFC-3987IRI标准以及XML标准。对于URL中出现的非ASCII字符(例如中文字符),也需要对其进行转义,例如:

https://example.com/示例.html/

对于该URL,需要将其进行转义为以下形式:

https://example.com/%E7%A4%BA%E4%BE%8B.html/

sitemap索引文件

对于单个sitemap文件,只支持最多50,000个网址,且其大小必须在50MB以内。如果站点包含的网址超过50,000个或其大小超过50MB,则需要创建多个sitemap文件且使用sitemap索引文件。

同样,sitemap索引文件也为满足实体转义的UTF-8编码XML文件,且满足以下条件:

  • <sitemapindex>开始并以</sitemapindex>结束;
  • 使用<sitemap>标签每个表示sitemap文件,且每个<sitemap>标签中必须包含有一个<loc>元素表示sitemap文件的位置;
  • sitemap索引文件最多支持50,000个sitemap文件,且其大小必须保持在50MB以下。
标签名 是否必须 说明
<sitemapindex> sitemap索引文件的根元素。
<sitemap> 用于封装每个sitemap文件链接,是除<sitemapindex>以外其它元素的父元素。
<loc> sitemap文件的位置,可以是sitemap协议的XML文件,或是RSS、纯文本等格式,也可以是gzip压缩后的文件。
<lastmod> 满足W3C Datetime标准的修改时间。

同样,对于sitemap索引文件中的每个sitemap文件,也需要满足50,000个或以下的链接以及50MB以下的文件大小。

下面是一个简单的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</loc><lastmod>2020-10-01T00:00:00+00:00</lastmod></sitemap><sitemap><loc>http://www.example.com/sitemap2.xml.gz</loc><lastmod>2020-10-01T00:00:00+00:00</lastmod></sitemap><!-- ... -->
</sitemapindex>

多站点支持

Sitemap协议同样支持在通过sitemap文件中包括多个子域名或多个域名。若存在多个域名,可以通过使用单个sitemap文件或是区分多个sitemap实现。

例如,可以在单个sitemap文件中声明:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>http://host1.example.com/</loc></url><url><loc>http://host2.example.com/</loc></url><url><loc>http://host1.example1.com/</loc></url>
</urlset>

但需要注意的是,通常搜索引擎只支持同个账户下已经认证的域名。例如对于谷歌,需要将域名都在Google Search Console中验证通过。

参考资料

  • Sitemap

  • Build and submit a sitemap

网站SEO优化之sitemap协议相关推荐

  1. 网站SEO优化诊断怎么做 分析诊断报告包含了哪些内容

    SEO的分析或诊断最终目的是服务于网站目标用户,而最了解用户的人便是个人站长和企业网站主自己,一切以客户为中心,以服务客户网站用户体验优化为目标提供科学的诊断报告书,可以帮助客户在分析诊断方案的同时学 ...

  2. wordpress怎么设置文章页面不打开新的窗口_2019 WordPress外贸网站SEO优化基础设置(新手图文教程)...

    做好了网站,选好了主题,配备了必备插件,基础SEO怎么设置才能避免后面经常改动基础设置,导致关键词排名降低,页面收录消失等问题呢? 对于外贸建站老鸟来说,他们装备了插件Yoast SEO的时候,就会把 ...

  3. 页面怎么把关键字保留下来_怎么做seo优化,以及网站SEO优化计划!

    在工作或寻找工作的过程中.我相信面试官经常会要求你做一个seo优化计划.那你怎么做seo优化? 一个好的SEO优化计划包括四个主要组: 首先,前端/页面编辑器 二,内容修改人员 三,推广人员 四,数据 ...

  4. php 地图 显示 客户位置_网站SEO优化_PHP程序网站怎么做优化 _SEO优化|SEO推广|SEO服务|上海SEO...

    作者:Yadmin日期:2020-12-11网址: 如今seo基本上已经是在广泛的应用了,php程序的企业网站也越来越多,其实我之前一向喜好用asp的,但是发现许多国外的空间如今不支撑asp,所以也就 ...

  5. 一起来学习网站SEO优化工作流程到底怎么做?

    作者介绍:大家好!我是鱿年年★→ 个人主页:鱿年年的博客主页 系列专栏:网站SEO 目录 前言 一:行业网站概况分析 二:布局关键词 三:SEO优化 1:站内优化 2:站外优化 四:网站数据的监测工作 ...

  6. 一个完整和详细的网站SEO优化解决方案

    祥云平台上的完整SEO优化解决方案包含四个主要组件: 第一:网站前端设计师 第二:网站内容录入人员 第三:网站优化和推广人员 第四:背景数据分析师 接下来,我们将为这四个部门分配工作. 首先,网站的前 ...

  7. 一个网站SEO优化方案

    首先,前端/页编人员主要负责站内优化,主要从四个方面入手: 第一个,站内结构优化 合理规划站点结构(1.扁平化结构 2.辅助导航.面包屑导航.次导航) 内容页结构设置(最新文章.推荐文章.热门文章.增 ...

  8. PHP网站seo优化

    现在SEO基本被广泛的应用了,php程序的企业网站也是越来越多了,那么php网站的优化的方法是什么呢?下面给大家介绍一下相关的内容,希望能帮到大家. php网站的优化的方法 一.PHP网站关键词优化 ...

  9. 卡地亚搜索引擎_「AF厂卡地亚猎豹」网站SEO优化新方向

    网站SEO优化新方向,因为百度算法的不断更新,网站SEO优化也越来越有难度,作为SEOer咱们需要的是不断试错,不断的加强咱们的优化技巧,不断的去了解百度的算法,那么网站SEO优化新方向有哪些? 高质 ...

最新文章

  1. android String.format
  2. mysql8.0 zip安装教程
  3. Linux Kernel TCP/IP Stack — L1 Layer — Network Interface
  4. 《Head First 设计模式》之命令模式——遥控器
  5. 初入react -01
  6. Vue全家桶实战02_【从入门到放弃系列】
  7. 2/5 MySQL入门总结:数据类型
  8. .net 小问题集合
  9. spring-boot注解详解(二)
  10. PHP采集利器:Snoopy
  11. Javascript 加载详解
  12. linux卸载+oracle客户端,官方的linux上卸载oracle步骤
  13. 如何通过Tik Tok月入2w美金
  14. 全新AIY Edge TPU开发板惊艳亮相,今秋发布!
  15. 应聘总经理的答卷,供大家打分
  16. CTF-网络信息安全攻防学习平台(脚本关)
  17. vue-3d-model vue 实现3D 图像显示
  18. Java小程序:个人所得税计算(与标准个税有差距)
  19. V---双相机定位贴合的原理和实现过程
  20. 国内Android源码下载

热门文章

  1. Aerospike入坑导读
  2. Apache Commons Daemon简介说明
  3. TPC-H tools的使用
  4. 湖北武汉机械员报考机械员培训改革的三大变化建筑七大员报考
  5. Android检测网络变化---断网弹窗提示
  6. ZZNUOJ_C语言1001 : 植树问题(完整代码)
  7. 2017最新GSMS软件系统 ISO文件下载 刻录教程
  8. spark操作Redis
  9. 2012年08月21日
  10. Visual Studio中的.suo(Solution User Options)文件