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. 理论+实操: linux中firewalld防火墙基础讲解(转载)
  2. 2020年高等数学方法与提高(上海理工大学)学习笔记:常微分方程
  3. 分布式锁的3种实现(数据库、缓存[redis]、Zookeeper)
  4. 温州大学《机器学习》课程课件(三)逻辑回归
  5. SAP UI5 mock mode more discussion
  6. 反向图——dj算法(判断从起点 开始有没有第二条路径能到达)Gym 102501K
  7. tomcat GET 编码疑惑
  8. Python数据科学平台Anaconda的最新发布中增加了Microsoft VS Code
  9. ulp java_java.lang.Math.ulp(float f)方法实例
  10. Ubuntu 关闭服务详解
  11. 应用MySQL数据库的实现本地BLAST及BLAST2GO
  12. mysql 查询当前时间到毫秒_MySQL 关于毫秒和微秒的处理,MySQL获取毫秒!
  13. Android手机ERP开发(二)
  14. Java编程公鸡5元一只,母鸡3元一只,小鸡1元三只,问100元怎样可以买100鸡?
  15. PPPoE拨号以及失败解决思路
  16. 【以太网硬件九】1000base-X是什么?
  17. 软件工程毕业设计课题(73)微信小程序毕业设计PHP菜谱美食小程序系统设计与实现
  18. 东师《近代物理实验》离线作业网考
  19. Windows系统下将MAC系统的可执行dmg文件转换为ISO文件 安装到虚拟机的MAC系统上
  20. 模电电路(部分合集)

热门文章

  1. spring boot单元测试之druid NullPointException
  2. 对NLP中transformer里面decoder的理解
  3. DataCamp中Introduction to Python之Python Lists练习
  4. DoA 估计:多重信号分类 MUSIC 算法(附 MATLAB 代码)
  5. window 配置 OutLook 2016
  6. 233. 数字1的个数
  7. 代刷网mysql订单表怎么改_[技术] 彩虹代刷网修改订单数和交易金额教程
  8. Android在如何建立一个WebServer
  9. 计算机对电气专业的影响,计算机电气工程与智能控制专业对计算机编程的能力..._电气工程师_帮考网...
  10. [网鼎杯 2022] crypto582 重作