1. sitemap的创建与管理

Author: 影子 13 views

什么是站点地图?

站点地图是一种文件,您可以在其中提供与您网站中的网页、视频或其他文件有关的信息,还可以说明这些内容之间的关系。Google 等搜索引擎会读取此文件,以便更高效地抓取您的网站。站点地图会告诉 Google 您认为网站中的哪些网页和文件比较重要,还会提供与这些文件有关的重要信息。例如,网页上次更新的时间和网页是否有任何备用的语言版本。

您可以使用站点地图提供与特定类型的网页内容(包括视频图片新闻内容)有关的信息。例如:

  • 站点地图视频条目可以指定视频的时长、类别以及适合哪些年龄段的受众。
  • 站点地图图片条目中可包含图片主题、类型和许可。
  • 站点地图新闻条目中可包含报道标题和发布日期。

☆ 如果您使用的是 WordPress、Wix 或 Blogger 等 CMS,那么您的 CMS 可能已经向搜索引擎提供了站点地图,您无需采取任何措施。

我需要站点地图吗?

如果您网站上的网页链接得当,那么 Google 通常能够发现其中的大多数网页。链接得当是指您认为重要的所有网页都可以通过某些形式的导航(例如您网站的菜单,或您放入网页中的链接)抵达。即便如此,站点地图仍有助于我们更加高效地抓取规模更大、更复杂的网站或更特殊的文件。

☆ 由于 Google 依靠复杂的算法安排抓取流程,因此,使用站点地图并不能保证 Google 能抓取站点地图中的所有内容并将其编入索引。但在大多数情况下,您的网站都会因使用站点地图而受益,而绝不会造成负面影响。

在以下情况下,您可能需要站点地图

  • 网站规模很大。在这种情况下,Google 网页抓取工具更有可能在抓取时漏掉部分新网页或最近更新的网页。
  • 网站有大量内容页归档,这些内容页之间互不关联或缺少有效链接。如果您的网站网页没有自然地相互引用,那么您可以在站点地图中列出这些网页,确保 Google 不会漏掉其中某些网页。
  • 网站为新网站且指向该网站的外部链接不多。Googlebot 及其他网页抓取工具是通过跟踪网页之间的链接来抓取网页的。因此,如果没有其他网站链接到您的网页,Google 可能不会发现您的网页。
  • 您的网站包含大量富媒体内容(视频、图片)或显示在 Google 新闻中。如果提供了站点地图,在适当情况下,Google 能将站点地图中的其他信息纳入搜索范围。

在以下情况下,您可能不需要站点地图

  • 您的网站规模“较小”。规模较小是指网站上的网页数不超过 500 个。(只有您认为需要纳入搜索结果中的网页才会计入此总数。)
  • 您的网站已在内部全面建立链接。这意味着,Google 可以沿着首页的链接找到您网站上的所有重要网页。
  • 您想在搜索结果中显示的媒体文件(视频、图片)或新闻网页不多。站点地图可帮助 Google 找到并了解您网站上的视频和图片文件或新闻报道。但如果您不希望这些内容出现在图片、视频或新闻搜索结果中,则可能不需要站点地图。

如何创建站点地图?

站点地图格式

Google 支持多种站点地图格式:

  • XML
  • RSS、mRSS 和 Atom 1.0
  • 文本

Google 支持所有格式的标准站点地图协议,但目前不支持在站点地图中使用 <priority> 属性。

无论采用哪种格式,单个站点地图的文件大小一律不得超过 50MB(未压缩),并且其中包含的网址数量不得超过 50000 个,否则必须将站点地图拆分成多个较小的站点地图。您也可以选择创建站点地图索引文件(即指向站点地图列表的文件),然后将这个索引文件提交给 Google。您可以向 Google 提交多个站点地图和/或站点地图索引文件。

XML

下方是一个非常基本的 XML 站点地图,其中仅包含 1 个网址的位置信息:

http://www.example.com/foo.html 2018-06-04

您可以在 sitemaps.org 上找到更复杂的示例和完整文档。

您可以查看指定其他语言版本网页的站点地图示例,以及新闻、图片或视频文件的站点地图示例。

RSS、mRSS 和 Atom 1.0

如果您的博客有 RSS 或 Atom Feed,那么您可以将该 Feed 的网址作为站点地图提交。 大多数博客软件都能为您创建 Feed,但请注意,此类 Feed 只会提供关于近期网址的信息。

  • Google 支持 RSS 2.0 Feed 和 Atom 1.0 Feed。
  • 您可以使用 mRSS(媒体 RSS)Feed 向 Google 提供有关您网站上视频内容的详情。

文本

如果您的站点地图只包含网页网址,那么您可以向 Google 提供简单的文本文件(每行只包含一个网址)。例如:

http://www.example.com/file1.html
http://www.example.com/file2.html

创建站点地图方式

创建站点地图,就是在告诉搜索引擎您希望让哪些网址显示在搜索结果中。这些就是规范网址。如果不同网址下可供访问的内容相同,请选择您偏好的网址并将其加入站点地图,而不是将所有指向相同内容的网址都加入站点地图。

在确定要将哪些网址加入站点地图后,选择下列方式之一来创建站点地图,具体取决于您网站的架构和大小:

让您的 CMS 为您生成站点地图

如果您使用的是 WordPress、Wix 或 Blogger 等 CMS,那么您的 CMS 可能已经向搜索引擎提供了站点地图。尝试搜索以下方面的信息:您的 CMS 如何生成站点地图,或者在您的 CMS 没有自动生成站点地图时如何创建站点地图。例如,如果您使用的是 Wix,请搜索“wix sitemap”。

对于所有其他网站设置,您需要自行生成站点地图。

手动创建站点地图

如果要创建的站点地图包含的网址不到几十个,您或许能够手动创建站点地图。为此,请打开 Windows NotepadNano(Linux、MacOS)等文本编辑器,然后按照站点地图格式部分中所述的语法创建站点地图。

您可以手动创建较大的站点地图,但此过程非常繁琐。

自动生成站点地图

如果要创建的站点地图包含的网址超过几十个,您需要自动生成站点地图。有很多工具可以生成站点地图。不过,最好是让您的网站制作软件为您生成站点地图。例如,您可以从您网站的数据库中提取网站的网址,然后将网址导出到屏幕上或网络服务器的实际文件中。请与您的开发者或服务器管理员讨论此解决方案。如果您需要代码方面的指导,不妨看看我们以前汇总的第三方站点地图生成器

请注意,站点地图的大小不得超过 50 MB。详细了解如何管理大型站点地图

如何将站点地图提交给 Google

Google 并非每次抓取网站时都会查看站点地图。我们仅在首次发现站点地图时查看;之后仅在您使用 ping 功能通知我们站点地图有变更时查看。请仅在新建或更新站点地图时向 Google 发送站点地图相关提醒。如果站点地图无任何变更,请勿多次向我们提交或 ping 站点地图。

如果站点地图中有更新过的网页,请使用 <lastmod> 字段标记这些网页。 其他 XML 文件有类似的字段,例如 Atom XML 的 <updated>。 您还可以参阅相关说明,了解如何计算此日期。

您可通过以下几种不同方法将站点地图提交给 Google:

使用站点地图报告提交站点地图

使用 ping 工具。在浏览器或命令行中向此地址发送 GET 请求,并指定站点地图的完整网址。请确保站点地图文件可供访问:

https://www.google.com/ping?sitemap=FULL_URL_OF_SITEMAP

示例:

https://www.google.com/ping?sitemap=https://example.com/sitemap.xml
  • 将下面这行内容插入到 robots.txt 文件中的任意位置,指定站点地图的路径。我们会在下次抓取 robots.txt 文件时找到该站点地图:
Sitemap: https://example.com/my_sitemap.xml
  • 如果您的站点地图采用了 Atom/RSS,并且您想要向 Google 及其他搜索引擎广播您的更改,请使用 WebSub

站点地图使用指南

  • 使用一致且完全限定的网址。Google 会严格按照您列出的网址进行抓取。 例如,如果网站位于 https://www.example.com/,请勿将网址指定为 https://example.com/(缺少 www)或 ./mypage.html(相对网址)。
  • 站点地图可以发布在网站上的任何位置,但是站点地图只影响父级目录中的下级目录。因此,如果站点地图发布在网站的根目录下,则可以影响网站上的所有文件,所以我们建议将站点地图发布在此目录下。
  • 请勿在站点地图中包含网址的会话 ID。这样可以减少对这些网址的重复抓取。
  • 将较大的站点地图拆分成数个较小的站点地图:站点地图的网址数量上限为 50000 个,且压缩前的大小上限为 50MB。使用站点地图索引文件列出所有单个站点地图,然后将这个文件提交给 Google,而不是分别提交各个站点地图。
  • 在站点地图中仅列出规范网址。如果您的网页有两个版本,则仅在站点地图中列出您希望在搜索结果中显示的版本。如果您有两个版本的网站(例如,www 和非 www),请确定您的首选网站,并将站点地图放入其中,然后在另一个网站上添加 rel=canonical 或重定向。
  • 如果您为网页的移动版和桌面版提供了不同的网址,建议在站点地图中仅指向一个版本。但是,如果您认为需要同时指向这两个网址,请为网址添加注解,指明桌面版和移动版分别是哪个。
  • 非字母数字字符和非拉丁字符。 我们要求您的站点地图文件使用 UTF-8 编码(您通常可在保存文件时采用这种编码)。和所有 XML 文件一样,对于下表中列出的字符,任何数据值(包括网址)都必须使用实体转义码。站点地图只能包含 ASCII 字符;它不能包含扩展 ASCII 字符、某些控制码或特殊字符(如 * 和 {})。如果您的站点地图网址包含这些字符,那么当您尝试添加该网址时,就会收到错误消息。

此外,所有网址(包括站点地图的网址)都必须经过编码,以便能被它们所在的且会对其网址进行转义的网络服务器识别。不过,如果您使用任何类型的脚本、工具或日志文件(除手动输入网址以外的任何方法)生成网址,这部分工作通常已由系统替您完成。如果您提交了站点地图,然后却收到了提示您 Google 无法找到其中某些网址的错误消息,请检查并确保网址遵循了适用于 URI 的 RFC-3986 标准、适用于 IRI 的 RFC-3987 标准以及 XML 标准

下方是一个采用非 ASCII 字符 (ü) 和需要进行实体转义的字符 (&) 的网址示例:

http://www.example.com/ümlat.html&q=name

下方是采用 ISO-8859-1 编码(以便在使用该编码的服务器上托管)且经过网址转义的同一网址:

http://www.example.com/%FCmlat.html&q=name

下方是采用 UTF-8 编码(以便在使用该编码的服务器上托管)且经过网址转义的同一网址:

http://www.example.com/%C3%BCmlat.html&q=name

下方是经过实体转义的同一网址:

  • http://www.example.com/%C3%BCmlat.html&amp;q=name

请注意,站点地图用于向 Google 建议您认为重要的网页,Google 不承诺会抓取站点地图中的每个网址。

Google 会忽略 <priority> 和 <changefreq> 值。

如果 <lastmod> 值始终准确并可验证(例如通过与网页的最后修改日期进行比较),Google 会使用该值

网址在站点地图中的位置并不重要;Google 不会按照网址在站点地图中的显示顺序抓取网址。

Leave a Comment