向搜索引擎提交 sitemap, 这是网站让搜索引擎快速收录页面的一个非常直接的、属于官方提供的通道。像百度、Google 以及 Bing, 这些搜索引擎都是提供了 sitemap 提交的入口的。

只要进行正确的操作, 就可以把新页面获取收录所需的时间周期, 从之前的那么长的数周时间, 一下子缩短到只有几个小时而已。接下来这里提供的是从 sitemap 生成直至最终完成提交这一整个流程的完整操作指南。

一、生成标准sitemap文件

用户必须让所提交的sitemap文件去遵循来自于sitemaps.org的那个协议规范, 这个规范是支持XML格式和纯URL列表这两种格式的。在这里面有一个核心限制是需要被注意到的, 就是单个sitemap文件里面所包含的URL的数量不能超过5万条, 同时该文件本身的大小也不能超过50MB。

关于生成的方式来讲, 现在存在三种不同的选择。

需要人工去编写一个XML文件, 那个文件的根节点名字必须是, 然后在里面为每一个URL都写上包含完整地址的标签, 还要加上表示最后修改日期的标签, 这个日期得用YYYY-MM-DD这种格式。

CMS会自动生成这些东西。WordPress是通过Yoast SEO或者Rank Math插件来搞定。其他框架, 比如说Django、ThinkPHP、Spring Boot这些, 是通过路由配置或者是第三方库来实现的。

搜索引擎控制台有它自己内置的那些功能, 就说那个叫Google Search Console的东西吧,它是提供了叫做“自动生成的站点地图”这样的选项sitemap提交促进收录, 这个东西根本就不用你去手动去搞。

你需要把这个文件部署在站点的根目录下面, 或者是部署在指定的路径之下, 这个情况可以参照我举的这个例子, 就是https://m.dcqzss.cn/sitemap.xml, 一旦部署完成之后, 你就必须先去确认一下, 直接用浏览器去访问这个地址, 看看它返回的结果是不是包含HTTP 200这个状态码的。

二、向搜索引擎提交sitemap

首先, 你需要使用百度账号去登录那个资源平台, 也就是地址为ziyuan.baidu.com的那个地方。然后, 在界面上找到并且点击“普通收录”或者“快速收录”这个选项。接着, 你要找到那个用来提交网站地图也就是sitemap的地方。

到了这一步, 你就需要把你的完整网页URL填进去, 最后点击提交按钮。值得一提的是, 百度这个东西是支持XML这种格式的, 所以等你提交之后, 系统就会自动地去抓取和解析那些内容了。

第一步, 使用账户登录位于地址为https://search.google.com/search-console的Search Console平台。第二步, 在页面的左侧菜单区域找到并点击“索引”这一选项。

第三步, 紧接着选择其中的“站点地图”功能项。第四步, 系统会提供输入框, 请将包含完整路径的sitemap访问地址填写进入该输入框内。第五步, 最后操作时点击标记为“提交站点地图”的按钮即可完成全部流程。

用户需要通过登录Bing Webmaster Tools这个平台, 然后进入站点地图这个页面, 最后把那些URL提交上去。

关键要求是提交的URL必须为https协议、路径完整无跳转、可被爬虫直接访问, 且没有登录态、没有IP限制。

三、验证收录效果

网站sitemap怎么提交?促进搜索引擎收录的完整操作指南(图1)

不同引擎在处理提交的请求时, 所花费的时间是不一样的。百度普通收录这种情况大概需要3 到 7 天。如果是快速收录, 并且开通了付费服务的话, 大约 24 小时就完成了。Google 通常所需要的时间是 24 到 72 小时。Bing 则是大约需要 1 到 3 天。

验证的方法可以是这样的, 就是你要去用搜索引擎, 然后在里面搜索由site引导再加上你的那个域名到底是什么, 接着看看那些新出来的页面有没有出现。

又或者的话, 你也是可以到各个站长平台上去弄的, 具体就是在那些叫作收录查询或者索引的那个页面里面去看一看, 已经安排进去编制索引的那些URL的数量是发生了什么样的变化情况。

四、关键注意事项

1. 要有持续更新的这种机制, 每当新增了页面或者有删除页面的情况发生以后, 就必须要把sitemap进行重新生成, 然后再去提交, 这么做的目的是为了让这一字段能够真实地反映出页面最后被修改的时间, 这样一来就可以帮助搜索引擎来做出判断它抓取时候的优先顺序是怎样的。

2. 我们需要排除那些无效的网址, 这里所说的无效网址具体指的是404页面, 以及重定向页面, 还有那些带有UTM等追踪参数的重复网址, 这些内容都不应该被列入sitemap里面, 因为这样做是为了避免浪费抓取配额。

3. 大尺寸站点的分片管理机制是这样的情况, 当需要处理的URL总数超过了五万条的数量限制, 或者文件的大小超过了五十兆字节的具体规格时, 必须将这些内容拆分成多个独立的sitemap文件, 并且利用 sitemap-index.xml 这个特定的配置文件进行统一的索引管理操作。

4. 确认一下robots.txt里面的情况, 看看那个sitemap所在的路径有没有被Disallow规则给屏蔽掉。

如果没屏蔽的话, 可以在robots.txt文件里面添加一条指令, 那就是"Sitemap: https://你的域名/sitemap.xml"这样子, 以此来帮助搜索引擎发现这个地址。

问: 在完成提交操作以后, 如果出现无法获取或者抓取错误的情况, 大家应该怎么办。

回答: 需要一个接一个地仔细检查所有的项目, 要看一看那个文件究竟是不是存在, 看看网站链接里面的字母或者数字拼写是不是完全正确, 检查一下服务器最后返回回来的状态码数字是不是200, 再看看是不是存在对特定IP地址的白名单设置或者是为了防止别人盗用图片链接而设置的拦截功能, 最后还要查看一下这个文件是不是被那些规定了搜索引擎怎么抓取页面内容的规则文本给屏蔽掉了。

问: 提交静态网站的途径和提交动态网站的途径, 这两者之间是否存在差异?

回答是这样的, 格式是一样的,要么是XMLsitemap提交促进收录, 要么是URL列表。对于动态网站来说, 建议把sitemap文件预先好, 就在构建的时候生成它, 而不要每次都去实时动态生成, 这样可以减少服务器的负担。

问, 如果不提交sitemap的话, 会是怎样的一个状态。

回答是这样的,因为搜索引擎还是可以通过自己的爬虫程序来找到这些网页内容的大城群众说事, 但是, 对于新增出来的页面以及那些更新过的页面来说, 它们被收录进去的速度会变得非常慢, 特别是在像一些比较大的网站这样的情况里, 这种现象会更加严重。

sitemap的提交通常被认为是搜索引擎进行收录的基础设施环节。大家建议把sitemap的生成工作还有提交动作加入到CI/CD流程里面去, 只要页面上有变更发生, 就自动触发更新操作以及重新提交的工作, 以此来确保整个收录的效率能够做到持续且处于可控的范围之内。