建站 SEO 优化之站点地图 sitemap

很早以前一直觉得站点地图可有可无,反正搜索引擎爬虫都会自己去爬站内各种连接。但是对于一个新站或经常更新的站点来说,站点地图很重要性,是快速告诉搜索引擎站内有哪些内容或更新了哪些内容。并且还能针对不同以页面配置优先级等。
站点地图通常在 robots.txt
文件中声明,具体可看之前的文章(一文搞懂SEO优化之站点robots.txt)
编写规范
比较常见是 xml 类型站点地图,还有 RSS、mRSS 、Atom 1.0(与 xml 类型类似)以及文本类型站点地图。本篇主要说一说 xml 格式中如何实现。
因为站点地图是描述网站中都有哪些页面,不同体量的网站网页数差别很多,大型网站可能上万或几十万个网页,小型网站可能就几十个网页。如果都放到站点地图文件里会使文件太大读取困难,并且搜索引擎爬虫通常也会对站点地图大小有要求,比如谷歌就要求站点地图不能大于 50M,且不超过 5 万个站点,那其余网站怎么办?
小型网站站点地图
小型网站规范示例
例如:https://ai-bar.com/sitemap.xml
站点地图说明
整个站点地图信息都是通过 urlset
标签包裹,内部每一个网站链接都是通过 url
标签定义,其中 loc
是必须要有的,lastmod
、changefreq
和 priority
为非必须的。
urlset
站点地图外层容器标签,照抄即可。url
定义站点链接信息的父标签loc
必须有,定义具体链接,必须包含域名的绝对地址,如https://ai-bar.cn/tools
,不能是相对地址如/tools
lastmod
可选,最新修改时间,可是2025-06-06
,也可以是2025-06-06T18:00:12+00:00
changefreq
可选,定义页面更新频率,可选值有always
、hourly
、daily
、weekly
、monthly
、yearly
、never
,其中always
为每次访问网页都会变化,never
存档不更新。尽管这么规定了,实际上搜索引擎爬虫并不完全根据这里的规定来抓取。priority
可选,定义页面优先级,从0.0
到1.0
,这个标签的定义不会影响页面在搜索中的排名,只会影响在本站中的重要性。
注意
这里设置的值是相对的,如果所有页面都设置的很高,实际上搜索引擎会认为没有重要性或重要性一样,所以应根据实际情况定义。我自己在生成站点地图的时候会根据网页的目录层级来动态生成优先级,每多一个层级就减少 0.2,一般来说页面的目录层级不超过 3 层最好。
详细规范可以看这里:https://www.sitemaps.org/protocol.html
大型网站站点地图
前面介绍的是页面较少的小型网站的站点地图,对于页面较多的大型网站有所不同。
大型网站规范示例
这个站点地图其实是管理子站点的索引文件,普通站点的 urlset
标签被替换为了 sitemapindex
,url
标签被替换为了 sitemap
,其余的没有什么变化。不过仔细观察可以发现,loc
中定义的不是单个网址,而是xml
的普通站点地图。
以豆瓣站点地图为例
站点地图为:https://www.douban.com/sitemap_index.xml,可以发现大约定义了 1 万 个 <sitemap>
,每一个 <sitemap>
定义了 gzip
压缩的 xml 普通站点地图。
随机下载一个发现就是前面介绍的普通网站的站点地图。
不看不知道,一看真是惊呆了,每一个站点地图也包含了巨量的网页,随机下载了几个测试,每个几乎都有 7 万个 左右的链接定义,当然也有少一些的。这么粗算下来:1万个站点地图 * 7万个链接
,豆瓣岂不是有 7 亿个页面!!
好了今天就研究这么多。由此可见,大型网站(尤其 C 端)并不是这么容易维护,就站点地图的生成、不同子站或模块如何维护更新频率,还有更新时间等就需要统一平台来管理。
原文地址:建站SEO优化之站点地图sitemap
评论