ultimate guide to xml sitemaps

SEO 的 XML sitemap 站点地图终极指南

站点地图不是你的网站运行所必需的,但添加站点地图可以对搜索引擎对你网站的抓取和索引产生积极影响。 另一方面,优化不佳的站点地图会对你的抓取预算产生负面影响,并使你面临搜索引擎忽略你有价值的内容的风险。 本指南将帮助你了解什么是站点地图、其中包含哪些内容以及为什么需要站点地图。

文章目录

什么是站点地图 sitemap

XML sitemap 站点地图是一个文本文件,其中列出了你网站上的 URL。它充当搜索引擎机器人的数字地图,并帮助它们找到你希望搜索引擎索引的有价值的页面。 站点地图有自己的 URL,它们可以放置在你网站服务器上的任何位置。但是,它们仅影响父目录的子目录。 因此,要影响所有页面,你需要将 sitemap 添加到根目录: www.example.com/sitemap.xml 指向站点地图的链接应包含在 robots.txt 文件中。 为此,请在文件的开头或结尾使用以下指令: Sitemap: http://www.example.com/sitemap.xml
不一定要在 robots.txt 文件中放置站点地图,但它可以帮助大多数机器人找到它,包括 Google 和 Bing 以外的搜索引擎。例如,Seznam 和 Yandex 都可以从 robots.txt 读取站点地图指令。

为什么站点地图 sitemap很有用

拥有站点地图为你的网站带来了许多好处。首先,它可以帮助搜索引擎找到要索引的内容。 在理想情况下,精心设计的网站架构应该让用户和搜索引擎可以毫无问题地访问你的所有页面。
sitemap vs website
不幸的是,网站结构可能很复杂,并且并不总是让搜索引擎机器人很容易找到你的所有页面。 站点地图以简单的格式显示 URL,无需爬虫跟踪你网站上的链接,这使得搜索引擎更容易发现你网站上的所有重要页面。
  1. 在站点地图中包含页面并不能保证它会被编入索引,但它可以加快索引过程并使其对你来说更加可靠。
  2. 站点地图有助于优化抓取预算的使用情况。 没有它,搜索引擎机器人需要抓取你的整个网站以查找新鲜的、可索引的内容。因此,他们可能会浪费抓取预算访问低质量的页面,而忽略一些更有价值的页面。
  3. 当你将站点地图添加到 Google Search Console 时,你可以获得有关站点地图中 URL 的反馈。因此,如果某个页面有问题并且 Google 无法抓取它,你将通过查看 Google Search Console 中的覆盖率报告来了解它,并且你将有机会采取行动。

谁需要站点地图 sitemap

XML 站点地图可以帮助任何网站,为了安全起见,每个网站都应该有一个。尽管如此,它对某些人来说可能比对另一些人更有益。

如果满足以下条件,站点地图是绝对必须的:

  • 你的网站有很多动态内容。 如果您经常更新页面,搜索引擎机器人可能会错过您的一些新内容或更新的内容。
  • 你有一个大型网站(超过 500 个页面)。 你的网站越大,搜索引擎机器人可能忽略某些页面的风险就越大。
  • 你有一个新网站。 不幸的是,新网站通常很少或没有外部链接。因此,爬网程序可能很难找到它们。
  • 你有孤立的页面或内部链接不佳的页面。 如果搜索引擎机器人无法通过点击链接发现你的页面,则它们可能无法找到所有页面。
  • 你有很多富媒体内容(图像、视频)。 站点地图允许你为搜索引擎提供有关您的视觉内容的其他信息(例如,视频播放时间、图像对象问题)。

站点地图 sitemap中应包含的内容

并非所有页面都应该进入你的站点地图。如果你把它们都放进去,你就有可能把你的抓取预算浪费在抓取低质量的页面上。这可能会导致你网站上的高质量页面未编入索引,因为搜索引擎没有资源来抓取它们。 这就是为什么确保仅包含包含最有价值的内容的可索引页面如此重要的原因。 确保你在站点地图中包含的页面:
  • 用 200 代码响应,
  • 未被 robots.txt 阻止,
  • 不要包含 noindex 元 robots 标签,
  • 是页面的规范版本。

Sitemap 站点地图组成部分

下面是一个包含两个 URL 的站点地图示例:
				
					<?xml version=”1.0” encoding=”UTF-8”?>
<urlset xmls=”http://www.sitemaps.org/schemas/sitemap/0.9”>
     <url>
           <loc>https://www.example.com/page1</loc>
           <lastmod>2024-11-01</lastmod>
           <changefreq>weekly</changefreq>
           <priority>0.6</priority>
     </url>
     <url>
           <loc>https://www.example.com/page2</loc>
           <lastmod>2024-11-03</lastmod>
           <changefreq>weekly</changefreq>
           <priority>1</priority>
     </url>
</urlset>
				
			
现在让我们看看每个元素。

?xml 和 urlse 标签

<?xml> 和 <urlset> 标签都是基本的 XML 组件。它们定义编码标准和 XML 版本。

url 标签

每个 <url> 标签都描述一个单独的 URL。在里面,你可以找到以下标签:
  • <loc> (必需)
  • <lastmod>(可选)
  • <changefreq>(可选)
  • <priority>(可选)

loc 标签

				
					<loc>https://www.example.com/page1</loc>
				
			

<loc> 标签代表 “location”,它包含页面的 URL。

需要记住指定站点协议(HTTP 或 HTTPS)。

lastmod 标签

				
					<lastmod>2024-11-01</lastmod>
				
			
<lastmod> 代表“上次修改时间”,它包含有关上次修改的信息。 对于内容网站,此标签可帮助 Google 确定你是原始发布者 – 如果有人抓取你的内容并将其发布到他们的页面上,<lastmod> 可以帮助你在 Google 眼中保持该内容的作者身份。 注意:只有当你对页面进行了有意义的更改时,才应更新此标签。 如果你试图 “欺骗” Google 认为你定期更新内容,而你实际上并没有,那么 Google 可能会开始忽略此标签。 判断更改是否对潜在用户产生影响。问问你自己:有人在修改后返回这个页面有意义吗?如果你所做的只是改变逗号,那可能不值得冒险。

changefreq 标签

				
					<changefreq>weekly</changefreq>
				
			
<changefreq> 标签代表“更改频率”。它告诉搜索引擎页面可能更改的频率。 它可以采用以下值:
  • always(指定每次访问页面时都会更改),
  • hourly,小时
  • daily,每天
  • weekly,每周
  • monthly,每月
  • yearly,每年
  • never 从不(应该用于存档页面)。
注意:<changefreq> 标签只是搜索引擎的一个提示。 此外,其中一些,包括 Google,根本没有 考虑到这一点。

priority 标签

				
					<priority>0.6</priority>
				
			

priority 标签直接让搜索引擎知道页面相对于你网站上的其他 URL 有多重要。在 0.0 到 1.0 之间的范围内分配优先级。

值得注意的是,Google 没有考虑这个标签。

Hreflang 标签

你可以使用 hreflang 标签指定页面的语言版本。 为此,你需要在每个 <url> 标签下方包含标签,以表示页面的每种语言版本,包括其自身。
				
					<xhtml:link
  rel="alternate"
  hreflang="language-code"
  href="url_of_the_language_version">
				
			

下面是一个包含英语和德语版本的页面示例。

				
					<url>
<loc>https://www.example.com/page1/en</loc>
<xhtml:link
               rel="alternate"
               hreflang="de"
               href="https://example.com/page1/de"/>
     <xhtml:link
               rel="alternate"
               hreflang="en"
               href="https://www.example.com/page1/en"/>
</url>
				
			

将 hreflang 标签添加到你的站点地图可以帮助搜索引擎向用户展示最合适的语言版本。但是,推荐的做法是将标签添加到你的 HTML 代码和站点地图中,或者仅在 HTML 代码中添加。

虽然将 hreflangs 放入 sitemap 中是有效的,但验证它们也使它们变得很痛苦。首先,许多 SEO 工具都针对 HTML 中的 hreflang 标签进行了优化。其次,你可以忘记任何浏览器插件,这些插件会在访问页面时自动为你检查 hreflangs。这仅适用于 HTML 中的 hreflangs。**如果你把标记放在站点地图中,所有这些便利都会丢失。**每次你希望看到对 hreflang 标签所做的任何更改时,你都必须抓取你的站点地图。

如果您也想做多语言网站,请联系Nat。

sitemap 站点地图扩展

你可以向站点地图添加其他语法,以指定有关富媒体内容的信息,包括:
  • 图像
  • 视频
  • 新闻

XML 图像站点地图

你可以将图像添加到现有的站点地图或创建单独的 XML 图像站点地图。 Image Sitemap 有助于在你的网站上创建有序的图像索引,从而允许搜索引擎机器人更有效地抓取它。如果满足以下条件,则有益:
  • 你的网站依靠图片来吸引流量(例如,图库照片网站),
  • 否则可能很难找到这些图像(例如,通过 JavaScript 获取的图像)。
你可以添加图像元数据并指定其他信息,如图像标题、位置或许可证。你可以在 Google 的文档中找到有关可用图像标签的更多信息。 你包含在图像站点地图中的图像不必与您的网站位于同一域中。如果在 Google Search Console 中验证了 CDN,就可以了。

XML 视频站点地图

就像 Image Sitemap 一样,你可以将视频添加到现有站点地图或创建单独的 XML 视频站点地图。 你可以为搜索引擎机器人提供有关你的视频的其他信息,以帮助机器人更好地查找和理解你的视频内容,尤其是在内容难以发现的情况下。 例如,您可以添加视频的持续时间并指定它是否适合家庭观看。您可以在 Google 的文档中找到有关可用视频标签的更多信息。

Google 新闻 网站地图

Google 新闻站点地图包含你网站上发布的报道列表,可帮助 Google 更快地发现新报道。 你可以在 Google 新闻站点地图中列出最多 1,000 个 URL,并在站点地图中的文章发布后立即更新它们。 你可以在 Google 的文档中找到可用的新闻特定标签。

Sitemap 站点地图索引文件

站点地图可以容纳 50,000 个 URL。 因此,如果你想包含更多 URL,你应该创建多个站点地图。 如果你有多个站点地图,则可以创建一个站点地图索引文件,以便一次提交所有站点地图。下面是一个包含两个站点地图的站点地图索引文件示例:
				
					<?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>
   </sitemap>
   <sitemap>
          <loc>http://www.example.com/sitemap2.xml</loc>
   </sitemap>
</sitemapindex>
				
			
Sitemap Index 标签使用以下标签:
  • 指定版本和编码标准的 XML 标头标签,
  • sitemapindex – 文件周围的父标签(相当于 <urlset> 标签),
  • sitemap – 包含每个 sitemap 文件的父标签(相当于 <url> 标签),
  • loc – 指定站点地图 URL 的位置标签。

如何创建站点地图?

可以手动或自动创建站点地图。

手动创建站点地图

你可以选择在 Windows NotePad、TextEdit 或 Visual Studio Code 等编辑器中手动创建站点地图。 这样,你可以根据自己的喜好进行自定义,但我只推荐用于页面较少的小型网站。对于较大的网站和数百个页面,此过程将非常耗时且容易出错。

自动创建站点地图

对于包含数百个页面的大型网站,建议自动创建站点地图。它可以通过以下方式生成:
  • CMS 或电子商务平台的原生功能
  • 添加插件
  • 第三方工具

由 CMS 或电子商务平台生成的站点地图

一些 CMS 或电子商务平台,如 Wix 或 Shopify,会自动生成站点地图。 你可以在网站的根目录中找到生成的站点地图。

插件生成的站点地图

如果你使用的是像 WordPress 这样的 CMS,你可能需要一个插件来生成站点地图。我建议使用 Yoast SEO,因为此扩展程序使过程变得简单,并带有更多 SEO 功能。

第三方工具

许多第三方工具可以为你创建站点地图,例如 Screaming Frog 或 XML-Sitemaps.com。你必须先下载它,但之后,就像提供指向你主页的 URL 一样简单。

静态 vs. 动态站点地图

站点地图可以静态动态生成。 静态站点地图是在生成站点地图时拍摄的网站可索引内容的快照。你可以使用爬虫(例如 Screaming Frog)轻松创建静态站点地图。  缺点是每次你的网站发生变化时都必须更新静态站点地图。因此,如果你定期添加或删除页面,静态 XML 站点地图很快就会过时并且无法达到其目的。 每次请求时都会创建一个动态站点地图。这意味着它会保持最新状态并反映你网站的当前状态。 如果你的内容经常变化,动态站点地图是有益的。一个例子是电子商务网站,其中的产品经常进出。 要创建动态站点地图,你可能需要开发人员的帮助或使用提供此选项的插件。

将站点地图提交给搜索引擎

你可以 ping 搜索引擎并让他们知道你有一个新的站点地图或对以前的站点地图进行了一些更改。

Google 不会在每次抓取网站时都检查站点地图;我们只会在第一次注意到站点地图时进行检查,之后只有在你 ping 我们告知我们站点地图已更改时才会检查它。仅在站点地图是新的或更新的站点地图时提醒 Google;不要多次提交或 ping 未更改的站点地图。——来源:谷歌

将站点地图提交到 Google Search Console

登录 Google Search Console 帐户。然后,转到侧边栏中的编制索引 > 站点地图。

GSC indexing sitemap
将站点地图的 URL 填写到字段中,然后单击“提交”。
add new sitemap on imrnat

Google Search Console 会通知您站点地图中是否有任何错误。

submitted sitemap imrnat

更多内容关于在google, bing, yandex中配置站点地图,请传送到:设置XML sitemap并添加到站长工具中

站点地图清单

在我们的技术 SEO 审计中,我们将以下清单作为基本的站点地图健康检查:
  • 确保你的站点地图的 URL 不超过 50,000 个。如果你有更多,请将其分解成更小的站点地图,
  • 仅包含可编入索引的页面,
  • 在 robots.txt 文件中引用站点地图,
  • 使用一致、完整的 URL – 检查 URL 中是否缺少 www 或 HTTP/HTTPS 协议,
  • 如果你有其他媒体内容(图片、视频、新闻),请使用 sitemap extensions,
  • 如果你有不同的语言版本,你可以在你的站点地图中指定它们,也可以在你的 HTML 中使用 hreflang 标签。
  • 不要太关注 changefreq 和 priority 标签,因为搜索引擎并不总是考虑它们。

内容创作不易,如果觉得Nat写的东西对您有一定的帮助,请不要吝啬对Nat的赞赏,谢谢!

提升网站的盈利能力

联系Nat并了解如何实现!
滚动至顶部

联系Nat

与Nat取得联系,我会在短时间内合理的规划关于建站,网站优化,及SEO推广方面的任何问题。