这篇文章从四个维度进行了拆解, 具体的维度包括底层协议存在什么样的差异、准入参数所处的阈值是多少、部署操作步骤具体是怎样的以及灰度验证闭环是如何工作的。将核心结论放在前面进行阐述, 也就是XML地图喂的是机器,HTML地图喂的是人这一观点。
百分之九十的站长把这两个东西当成同一个文件, 然后把它们丢在 /sitemap/ 这个目录下就完事了, 这样的结果导致爬虫索引覆盖率卡在百分三十七不动。你以为自己在进行搜索引擎优化, 其实实际上你是在往搜索引擎那里投放大量的没有实际意义的废话内容。
[01] 底层协议差异
XML采用的是UTF-8那种编码方式, 标签的结构是非常有层次感的, 它只负责传输单一的数据流。在爬取的时候, 网络爬虫会根据lastmod这几个字段的值来做增量抓取的操作。
同时呢, 它也会依据priority这个字段的内容来对抓取的队列进行排序工作。它的本质其实就是一个索引目录的样子, 这内部是完全不包含任何渲染节点信息的。
这是一个由标准的DOM树构成的HTML地图, 其中包含了锚点链接、面包屑导航以及分页控件。它一方面服务于爬虫程序, 通过标签来发现内链, 另一方面也服务终端用户, 支持点击跳转的操作, 其本质可以被视为一个导航界面与内链矩阵的结合。
关键的区别只用一句话来总结一下: XML是告诉爬虫去哪,HTML地图是告诉爬虫和用户怎么走到那。前者的性质是指令集, 后者的形态则是路径图。
[02] 量化准入标准
那个XML地图, 它在一个文件里面的上限是5万条URL或者是50MB的存储大小, 具体要看哪个值比较小, 如果超出了这个限制的话, 就必须把它们拆分开, 然后弄成一个sitemap_index.xml这样子的索引文件。
HTML地图中的单页收录URL数量不超过800个。如果超过了这个限制, 就会触发称为低权重信号的后果。分页的深度应该小于或等于3层。至于每页的具体情况。
这是一条不可触碰的红线。在XML文件内部, 绝对不能允许出现状态码为404的页面、处于301跳转过程中的页面, 或者是被标记为noindex的页面。
一旦检测到这些不合规的页面内容被混入其中, 那么该整个文件的权重数据将会发生大幅度的下跌情况。这种权重的衰减幅度具体会达到百分之四十左右。这一结论是基于对Search Console抓取统计数据进行了深入的分析和推演之后所得出的结果。
[03] 部署操作步骤
1. 把全部网址全部都导出来, 然后进行筛选, 把那些以/admin/开头的、以/temp/开头的, 还有带有UTM参数的网址都去掉, 所谓的带有UTM参数就是指匹配正则表达式[?&]utm_\w+=的那种情况。
2. 按照 lastmod 这个字段, 进行降序排列的操作, 然后把前面的五千条记录写入到 sitemap_1.xml 这个文件里面, 剩下的那部分溢出内容, 就写入到 sitemap_2.xml 这个文件中。

3. 生成名为sitemap_index.xml的索引文件。这个文件系统的要求是, 仅仅只保留
4. 在HTML地图页面中, 依据信息的层级结构来进行三级分类的展示与渲染, 其中每一个级别都需要被妥善处理。