技术SEO

XML站点地图:基础和最佳实践

xml站点地图

XML 站点地图是网站的数字地图,可帮助 Google 发现您站点上的重要页面以及它们的更新频率。

谷歌在其帮助中心页面上声明

站点地图告诉爬虫您认为哪些文件在您的站点中很重要,并提供有关这些文件的有价值的信息:例如,对于页面、页面上次更新时间、页面更改频率以及任何替代语言版本页面。

XML 站点地图是最重要的 URL 来源。不应该被低估!

Google 于 2005 年开始使用 XML 站点地图,不久之后,MSN 或 Yahoo 等搜索引擎也加入了这一行列。如今,他们不仅将它们用于 URL 发现。

每个网站都应该有一个 XML 站点地图。它们对于以下方面尤为重要:

  • 大型网站
  • 新站点
  • 具有大量孤立页面的站点
  • 使用大量图像和视频的网站

robots.txt 可帮助您排除网站的某些部分在搜索引擎中的排名,而 XML 站点地图则相反。它们帮助搜索引擎发现新页面——即使它们没有从主站点链接。

站点地图采用 XML 格式,Google 可以快速解析以查找新 URL。

检查您的网站是否有站点地图的最简单方法是在“站点地图”下的 Google Search Console 或 Bing 网站管理员工具中查看。大多数搜索引擎,例如 Google 或 Bing,都会在您网站的 robots.txt 文件中查找“站点地图中的<sitemap_location>”条目(或多个条目)。或者,您也可以将站点地图直接 ping 到GoogleBaiduBingYandex

<img alt="必应网站管理员工具中的 xml 站点地图" class="zooming lazyloaded" data-src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/0f/cc/0fccf5c82b2a2bb50641f7d494c0e043/image2.png" data-gtm-vis-has-fired-9025619_57="1" src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/0f/cc/0fccf5c…/image2.png">

Bing 网站管理员工具中的 XML 站点地图。1:站点地图报告。2:添加新的站点地图路径。3:Bing 发现现有站点地图。

<img alt="Google Search Console 中的 XML 站点地图" class="zooming lazyloaded" data-src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/87/a0/87a075a259b2867655330ebd70ab293a/image3.png" data-gtm-vis-has-fired-9025619_57="1" src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/87/a0/87a075a…/image3.png">

Google Search Console 中的 XML 站点地图。1:站点地图报告。2:添加新的站点地图路径。3:Google 找到的现有站点地图。

HTML 与 XML 站点地图 

有两种类型的站点地图:HTML 和 XML。有什么不同?

1. 格式不同

HTML 显然不同于 XML。但这意味着更多:虽然 HTML 站点地图对站点用户可见,但 XML 站点地图是搜索引擎的提要。

您可能会争辩说,HTML 站点地图也是为搜索引擎创建的,虽然它们对用户很有价值,但 XML 站点地图不是。

2. 目的相同,但方式不同。

两者都可以帮助搜索引擎发现新的 URL,无论是页面、视频还是图像。 

XML 站点地图可帮助搜索引擎了解要抓取的 URL 的优先级、更改频率以及添加到站点的新 URL。这对搜索引擎调度程序特别有用,因为他们可以更好地估计重新抓取 URL 的时间和频率。

HTML 站点地图还可以帮助搜索引擎发现新的 URL,但通过发现它们遵循的链接。这意味着 HTML 站点地图只能是一个有效的 URL 发现工具。

3. 不同的作用。

XML 站点地图具有诸如 <changefreq> 或 <lastmod> 之类的元属性来指示 URL 的状态如何变化。他们还可以携带视频、图像和新闻的扩展。

HTML 站点地图将 PageRank 分布在整个站点中,除了为用户提供导航价值之外,这也是它们现在主要用于的目的。由于 HTML 站点地图通常链接在站点的页脚中,因此它们通常从每个页面链接,并且可能会将传入的 PageRank 分配到内部链接较弱的其他页面。

不同类型的 XML 站点地图

尽管 XML 站点地图可以以 RSS、mRSS、Atom 1.0 或文本格式提交,站点地图的“类型”是指其内容或“媒体类型”:

  • 消息
  • 视频
  • 图片

正如我将在下面进一步说明的那样,您可以创建仅包含一种特定媒体类型的站点地图,或将它们集成到您的常规 XML 站点地图中。

XML 站点地图最低要求

为了让您的 XML 站点地图以最佳方式工作,您必须满足这些标准。XML 站点地图应该:

  • 仅包含具有 200 状态代码的规范 URL。
  • 每个站点地图最多包含 200K 个 URL,每个索引站点地图最多包含 50K 个站点地图。
  • 在robots.txt 中被引用。
  • BUTF-8 编码。
  • 以 .gz 格式压缩。
  • 不超过 50mb 或包含 50,000 个 URL(无论您先点击什么)。

但是,为了充分利用 XML 站点地图,您可以而且应该做更多的事情。您可以通过在 XML 站点地图中仅包含重要页面并经常更新它来向 Google 发送信号通知哪些 URL 是重要的。

大多数 CMS 具有在创建新 URL 或现有页面更改时自动更新站点地图的功能。对于谷歌来说,站点地图本身的更新频率和页面的 lastmod 标签可以作为新鲜度的信号。这对其排名是否重要取决于页面和上下文。

将 XML 站点地图视为游客的城市地图,城市是您的网站,游客是 Google — 您希望确保只包含重要的建筑物,而不是每个地址。这就是为什么不应该包含不重要的页面的原因;示例是诸如您的隐私政策或关于我们的页面之类的页面。虽然这些页面应该被编入索引,但它们不需要经常被抓取,并且在我们谈论 SEO 时并不重要。

大型站点的 XML 站点地图提示

除了满足标准要求之外,您还可以做更多的事情来提升您的站点地图游戏。

例如,像新闻出版商这样的大型网站应该使用索引站点地图,其中包含(最多 50,000 个)普通站点地图,并且不应超过 50mb。它们就像承载许多较小站点地图的 XML 站点地图母舰。大型站点需要它们,因为它们无法放入单个站点地图中。无论如何,您不应该尝试将所有内容都放入一个站点地图中。

您可以通过按页面类型或主题对它们进行结构化来充分利用这些站点地图。在实践中,您将为每个子目录或页面模板创建专用的 XML 站点地图,以了解站点的技术和索引问题。

<img alt="GSC提交的站点地图xml" class="zooming lazyloaded" data-src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/43/67/43675a97bc28b9f07152e28c9ab0bf50/image1.png" data-gtm-vis-has-fired-9025619_57="1" src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/43/67/43675a9…/image1.png">

有专门用于特定目的的 XML 站点地图。围绕富媒体运营的网站(例如:Pinterest 或 YouTube)从图像或视频站点地图中获益良多。出版商应该有新闻站点地图。

图片站点地图增加了您的站点在 Google 图片搜索中被找到的机会,您不必拥有专用的图像站点地图;您还可以在常规站点地图中使用图像扩展。

但是要小心添加到视频站点地图或扩展程序中的元数据。

谷歌表示,“如果页面文本被认为比站点地图中的信息更有用, 谷歌可能会使用页面上的文本,而不是您在站点地图中提供的文本。” 他们正在谈论通过描述传递的文本。除了描述之外,您还可以向 Google 提供缩略图、视频长度、评级、家庭友好度等(视频 XML 站点地图元数据的完整列表)。对于大量使用视频的网站,这当然是有道理的。对于所有其他人,它是相对可选的。

新闻站点地图的不同之处在于您应该始终拥有一个单独的新闻 XML 站点地图。在这种情况下,Google 不推荐(或提供)扩展程序。新闻站点地图可帮助 Google 发现新文章并对其进行排名,这在出版行业尤其具有挑战性,因为它会产生大量内容。尽管 Google 声明不喜欢拥有新闻站点地图的发布商,但它确实有助于更快地在 Google 新闻中获得热门新闻排名。

新闻站点地图有特殊要求:

  • 包括不超过 2 天的文章。
  • 不要一次向现有站点地图添加超过 1000 个新条目。
  • 更新现有站点地图以进行文章更新。

您还可以使用 XML 站点地图来定义和指示 Google 的某些元标记。一个例子是hreflang;您可以添加作为站点地图的扩展。

根据约翰·穆勒的说法,谷歌忽略了XML 站点地图中的优先级属性,但确实关注了 lastmod。Google 可能会根据受欢迎程度和权威性来确定您网页本身的优先级,但是,Lastmod 是一个标记,用于指示 URL 上次更改的时间,这对 Google来说非常有趣。此外,根据 John Mueller 的说法,您不需要为 AMP URL 添加 XML 站点地图。

XML 站点地图最佳和最差做法

在 Atlassian,我们通过 3rd 方 XML 站点地图提供程序解决了 CMS 缺少的 XLM 站点地图功能,并且运行良好。

<img alt="第 3 方 xml 站点地图提供程序示例" class="zooming lazyloaded" data-src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/1e/65/1e65cf6a52fc11c5d3d0301dc83c28a4/image.png" data-gtm-vis-has-fired-9025619_57="1" src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/1e/65/1e65cf6…/image.png">

即使格式是基于文本的而不是 XML,它也能工作。

《纽约时报》在 robots.txt 中引用了其站点地图,并将视频或新闻等格式分开。它甚至更进了一步,并具有特定类别的站点地图,例如烹饪或选举。

作为发布者,将专门的 XML 站点地图用于及时事件是有意义的,因为您需要了解 Google 获取内容的速度以及是否可以毫无问题地对所有内容进行索引。

<img alt="站点地图中的事件" class="zooming lazyloaded" data-src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/af/c5/afc5dbb81921bdaf61e73129e5a9cdcf/image.png" data-gtm-vis-has-fired-9025619_57="1" src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/af/c5/afc5dbb…/image.png">

沃尔玛也有类似的分类,这对电子商务网站很有意义。它具有用于主题和类别的 Master XML 站点地图。

<img alt="主题和类别的主 XML 站点地图示例" class="zooming lazyloaded" data-src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/d7/5b/d75b81af2a451f9a20d3d78943f79abe/image.png" data-gtm-vis-has-fired-9025619_57="1" src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/d7/5b/d75b81a…/image.png">

正如您在下面的屏幕截图中看到的那样,主题拆分让 Walmart 可以看到 Google 如何索引网站的不同区域,例如时尚或娱乐。

<img alt="站点地图主题拆分示例" class="zooming lazyloaded" data-src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/62/3d/623d56cc0a62876876c5059695ea170f/image.png" data-gtm-vis-has-fired-9025619_57="1" src="https://static.semrush.com/cdn-cgi/image/width=1010/blog/uploads/media/62/3d/623d56c…/image.png">

如果您的站点分为主题、类别或两者,建议为每个站点创建特定的 XML 站点地图。在不同的站点地图中使用相同的 URL 没有已知的缺点。