在本文中,我们将从以下几个方面探讨站点地图(以下我们统称为sitemap)的重要性:
- 什么是sitemap?
- 为什么我们需要它?
- 什么时候需要它?
- 如何创建一个好的sitemap?
一旦你理解了这4个问题,你就会对一个好的sitemap是什么样的有一个概念,并且能够自己创建一个。
什么是sitemap?
这是一个简单的问题,sitemap是一个你可以将所有页面放入其中的文件。但在现实中,我们通常不会把所有页面的 URL 都放进去,这是因为我们网站中的一些页面是不公开的,或者我们想要控制抓取预算(crawl budget)。
总的来说,只有当你希望你的页面出现在公共互联网上时,你才应该把它们放入sitemap中。
为什么我们需要sitemap?
sitemap可以帮助爬虫更方便、更直接地找到你的页面。这非常重要,并且与抓取预算相关,尤其是对于大型网站而言。
为了更好地理解sitemap的必要性,让我们设想一个场景。
一个壁纸网站刚刚发布了40个新的壁纸详情页,如果这40个 URL 没有其他页面链接到它们(内部或外部链接),那么它们对爬虫来说是完全全新且未知的。这就是Sitemap发挥作用的地方,网站所有者将这40个新页面的 URL 放入sitemap文件中,而爬虫已经知道了这个文件,它们会定期访问sitemap并发现这40个新页面的 URL。
因此,sitemap是来自 Google、Bing、OpenAI 和其他搜索引擎的爬虫会经常检查并抓取其中发现的页面的地方。
什么时候需要sitemap?
根据 Google 关于Sitemap的文档,你可能在以下情况下需要Sitemap:
- 你的网站包含大量页面。
- 你的网站是一个新网站。
- 你的网站包含大量富媒体内容。
还是没有头绪?别担心,除了最后一个,我将和你逐一探讨。
网站需要达到多大规模才需要sitemap?
从技术上讲,这里没有一个具体的数字。因为有些网站有数百万个页面,但它们的页面仍然连接得很好,这意味着没有孤立页面(没有其他页面指向它的链接)。但这可能很难做到,特别是当你有太多的页面而没有专业工具辅助时。
经验法则:当你有超过300个页面时,你应该建立一个sitemap。
如果你的网站没有良好的结构,你总是应该为你的网站建立一个sitemap。
为什么新网站需要sitemap?
新网站通常不为搜索引擎所知,除非你告诉它们。
搜索引擎只有两种方式知道你的存在。
- 其他网站的页面上有你的网站链接。
- 你将你的网站添加到 Google Search Console 或其他搜索引擎的站长工具中。
在第一种情况下,爬虫沿着指向你网站某个页面的外部链接,并继续抓取在你的页面上找到的链接。
在第二种情况下,搜索引擎因为你向它们提交了你的网站而认识你,所以它们会派遣爬虫到你的网站抓取它们看到的所有页面。
如何创建一个好的sitemap?
最后,我们要开始动手了。但在我们开始创建sitemap之前,在脑海中有一个完整的网站地图总是一个好主意,你需要了解网站完整的 URL 路径结构以及每个路径的内容或功能。
例如,这是 SERPary 的主页 URL,这是 SERPary 上所有 SEO 工具的页面,sitemap URL 计数器 和 robots.txt 测试器 是在 /tools 路径下的两个工具页面,现在你可能对 /tools 路径下的所有页面都是一个特定的 SEO 工具这一概念有所了解。
因此,在脑海中有一个粗略的地图,你就可以建立一个包含所有你想要被索引页面的 URL 的Sitemap系统。
现在让我们开始构建一个sitemap,以下是你可以遵循的具体步骤。
决定应该包含哪些 URL
一个常见的错误是试图把 所有东西 都放进sitemap。这不是正确的做法。
你只应该包含符合以下条件的页面:
- 返回 200 状态码
- 可被索引(没有被 noindex 元标签拦截)
- 具有实际的 SEO 价值
你应该排除以下页面:
- 登录或管理页面(常见于 SaaS 网站)
- 带参数的 URL(例如 ?sort=,?filter=)
- 重复的页面
再说一次,只包含你希望公开的页面。
合理构建你的Sitemap
随着你的网站不断壮大,只使用一个sitemap文件很快就会变得混乱。
相反,你应该像这样组织它:
- sitemap_index.xml (一个
<sitemapindex>文件)- sitemap-pages.xml
- sitemap-tools.xml
- sitemap-blog.xml
下面是一个 sitemapindex 文件的示例,它是一个包含多个sitemap的sitemap文件。
<?xml
version='1.0' encoding='utf-8'?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap_general.xml</loc>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap_tools.xml</loc>
</sitemap>
</sitemapindex>
这让你的sitemap:
- 更容易管理
- 更容易调试
- 更容易扩展
然而,你需要意识到你不能在 sitemapindex 中嵌套 sitemapindex。否则,像 Google 这样的爬虫将无法处理它。
保持每个sitemap在限制范围内
搜索引擎对sitemap文件有明确的限制:
- 最多 50,000 个 URL
- 最大 50MB(未压缩)
即使你没有达到限制,最好也:
- 保持每个文件在 1 万到 3 万个 URL 左右
- 尽早拆分,而不是太晚
这将在未来为你省去很多麻烦。
正确使用重要字段
一个sitemap URL 条目通常看起来像这样:
<loc>(必填)<lastmod>(推荐)<changefreq>(可选,Google 已不再使用)<priority>(可选,Google 已不再使用)
在实践中:
<lastmod>是最重要的一个,它告诉爬虫最后一次修改是什么时候进行的<changefreq>和<priority>大多被忽略
确保你的 lastmod 反映了真实的更新时间。不要伪造它。
只包含规范 URL (Canonical URLs)
每个页面只应在sitemap中出现一次。
例如,避免包含:
- /page
- /page/
- /page?ref=xxx
相反,只包含规范版本。
这有助于:
- 避免重复抓取
- 防止 SEO 信号稀释
自动化生成过程
从长远来看,手动更新sitemap是不现实的。
一个更好的方法是:
- 从数据库生成
- 使用定时任务(cron jobs)
- 或通过后端动态生成
对于大多数现代网站来说,自动化不是可选的,而是必须的。
向搜索引擎提交你的sitemap
仅仅创建sitemap是不够的,你还需要告诉搜索引擎。
你应该:
- 通过 Google Search Console 提交它
- 通过 Bing Webmaster Tools 提交它
并且在你的 robots.txt 文件中添加相关的配置声明,以确保爬虫总是能找到它。
随时间推移进行监控和改进
sitemap不是一项“一劳永逸”的任务。
你应该定期检查:
- 提交页面与已索引页面的对比
- 抓取状态
- 覆盖率问题
如果页面没有被索引:
- 检查内容质量
- 检查内部链接
- 检查你是否包含了低价值页面
不确定你的网站上有多少个 URL?免费试试我们的 sitemap URL 计数器,计算你sitemap中的 URL 数量。
不要仅依赖sitemap
需要明白的一件重要事情是:
sitemap有助于发现,但它不能取代内部链接。
搜索引擎主要依赖:
- 内部链接结构
- 页面重要性信号
所以正确的做法是:
- 以内部链接为基础
- 以Sitemap为辅助
一旦你理解了所有这些步骤,你就会意识到,一个好的sitemap不仅仅是生成一个文件,而是要在哪些内容值得被索引上做出明确的决定。