创建和提交XML站点地图Sitemap:基础和最佳实践

创建和提交XML站点地图

一、如何创建站点地图

您可以手动创建站点地图或使用自动生成站点地图的工具 —— 这取决于您的的网站类型。在详细了解创建网站地图的不同方法之前,您可能需要进行一个重要步骤——理清您的网站内容与结构。

方法 1:使用插件创建站点地图

如果您的网站使用 WordPress、Wix、Squarespace或任何其他CMS,您将可以使用插件创建站点地图。例如,对于 WordPress,您可以使用流行的Yoast SEO 插件来创建站点地图。而对于 Wix 和 Squarespace,您也无需担心。他们会自动创建和更新您的网站站点地图。

方法 2:使用Sitemap生成器自动创建站点地图

如果您的网站不是CMS系统搭建的,您也可以使用一些Sitemap生成器帮助您自动创建网站的站点地图。在之前的文章中,我介绍了10款超赞的Sitemap网站地图生成器。您可以前去挑选适合您的一款。

在这里,我选取Screaming Frog进行举例说明如何用Sitemap生成器创建站点地图。以下,我将向您介绍如何使用Screaming Frog SEO Spider 生成 XML 站点地图。

第 1 步 – 使用Screaming Frog抓取您的网站

在工具栏中输入您网站的域名地址,然后按“开始”。根据您网站的大小,这可能需要一些时间,因为每个页面都需要被发现和抓取。

第 2 步 – 删除任何不需要的 URL

抓取完成后,查看完整的 URL 列表并查找您不想包含在站点地图中的任何内容。如果您有要排除的 URL,请右键单击这些 URL 并选择“删除”。如果您按住 Shift 或 Ctrl 按钮(在 Windows 上),您可以选择多个URL进行批量删除。

第 3 步 – 打开站点地图菜单

打开工具栏上的站点地图菜单并选择“XML 站点地图”。您将打开一个包含多个选项的菜单。默认选项是在站点地图中仅包含Status 为200的 URL,但您可以选择包含带有 noindex 标签的页面、分页页面或带有 301 重定向的页面。

其他子菜单 — Last Modified、Priority、Change Frequency、Images、Hreflang — 让您可以选择编辑 <changefreq>、<priority> 和 <lastmod> 标签以满足您网站的需要。

第 4 步 – 保存站点地图

完成编辑后,单击“下一步”按钮,将打开“保存”菜单。默认文件类型为XML。

第 5 步 – 上传您的站点地图

现在您有了新的站点地图,您需要将其上传到您的网站。

由于每个网站的 CMS 都会有所不同,我无法就执行此操作的最佳方式提供建议。如有需要,您可以咨询您网站的开发人员。

方法 3:手动创建站点地图

在部分情况下,您不得不手动创建站点地图。

要从头开始手动构建站点地图,您需要具备一定程度的技术知识,这是所有列出的创建站点地图的方法中难度最高的 —— 难度可能是前面2种的方法的10倍以上;如果您的网站是个大型网站,增加的难度更有可能达到百倍以上。作为回报,您将获得对站点地图的完全可定制性及可控性,使其成为所有方法中最具扩展性的。

现在,我们来看看手动创建站点地图的基本步骤。

第1步:打开文本编辑器

如记事本(Notepad)或其他任何支持纯文本编辑的软件。

第2步:编写XML标签

在文本编辑器中,开始编写XML站点地图的基本结构。首先,添加XML版本信息和编码方式,如下所示:

第3步:添加站点地图协议

接下来,添加站点地图协议,用以告诉搜索引擎这是一个站点地图文件。添加如下代码:

第4步:添加URL信息

在<urlset>标签内部,添加网站上每个页面的URL信息。对于每个页面,都需要使用<url>标签,并在其中添加相应的<loc>、<lastmod>、<changefreq>和<priority>标签。例如:

第5步:保存文件:

完成上述步骤后,将文件保存为.xml格式,例如:sitemap.xml。

第6步:验证您的站点地图

完成创建 sitemap.xml 文件后,您应该对其进行验证以确保代码中没有错误。

您可以使用使用Google Search Console或Bing Webmaster Tools验证您的Sitemap是否存在错误。您还可以在线站点地图验证工具。例如,XML Sitemaps Validator是流行的站点地图验证工具。只需输入您的站点地图URL或上传站点地图文件,这些工具将检查其格式并报告任何错误或警告。

第7步:上传站点地图

将生成的站点地图文件上传到网站的根目录下,确保搜索引擎可以访问。

一般情况下,我们会将站点地图放在网站的根目录下(即http://www.example.com/sitemap.xml)。文件位置很重要,因为提交的 URL 必须以与站点地图相同的路径开头。例如,位于 http://example.com/catalog/sitemap.xml 的站点地图文件可以包含任何以 http://example.com/catalog/ 开头的网址,但不能包含以 http://example.com/images 开头的网址。又或者如果站点地图位于 http://www.example.com/sitemap.xml,则它不能包含来自 http://subdomain.example.com 的 URL。

二、站点地图最佳实践与做法

使用XML站点地图的最佳实践可以确保搜索引擎更好地抓取和索引您的网站内容。以下是一些建议:

1. 使用标准的XML格式

遵循W3C的XML标准,确保站点地图的格式正确。这样搜索引擎才能正确解析站点地图。

2. 确保您的XML站点地图保持最新

确保您的XML站点地图提供您网站的最新内容。每当删除一个页面时,它也应该从您的XML站点地图中删除。对于经常更新的内容,确保站点地图及时更新。如果您使用可选的lastmod标签,请确保在页面更改时更新时间戳。

当我们的网站有很多页面时,我们不太可能手动更新Sitemap。那么,如何让sitemap自动更新呢?

要让XML站点地图自动更新,您可以选择以下方法之一:

(1)使用内容管理系统(CMS)的插件或扩展:许多内容管理系统(如WordPress、Drupal、Joomla等)提供自动生成并更新站点地图的插件或扩展。安装并配置这些插件后,您的站点地图将随着网站内容的更改而自动更新。

例如,在WordPress中,您可以安装“Yoast SEO”等插件来自动生成并更新站点地图。

(2)使用自定义脚本:如果您没有使用CMS,可以编写自定义脚本(如Python、PHP等)来自动生成站点地图。这些脚本可根据您的网站内容自动创建站点地图,并在内容发生变化时自动更新站点地图。将此脚本设置为定时任务(如使用Linux的Cron Job或Windows的任务计划程序),以便定期运行并更新站点地图。

(3)使用第三方站点地图生成工具:有些在线服务或软件可以帮助您自动生成并更新站点地图。这些工具会定期抓取您的网站,并根据检测到的更改自动更新站点地图。例如,Screaming Frog SEO Spider和XML-Sitemaps.com等工具可以自动生成站点地图。尽管如此,自动更新功能可能需要付费订阅或购买软件许可。

3. 遵循URL数量和文件大小的限制

单个站点地图文件中的URL数量不得超过50,000个,文件大小不得超过50MB(未压缩)。如果超出这些限制,请将站点地图拆分成多个文件并使用站点地图索引文件进行管理。

现在我们来解释一下什么是站点地图索引文件。

让我们看一个例子:

在这个站点地图索引文件中,我们有三个站点地图文件(sitemap1.xml、sitemap2.xml 和 sitemap3.xml)。站点地图索引文件包括以下元素:

  • <sitemap>:此标签将索引文件中的每个站点地图条目包裹起来。
  • <loc>:站点地图文件的URL。请用您实际的站点地图文件URL替换此URL。
  • <lastmod>:站点地图文件的最后修改日期和时间,采用W3C DateTime格式(YYYY-MM-DDThh:mm:ss+timezone)。请将其替换为您站点地图文件的实际最后修改日期和时间。

让我们来剖析一下这个文件与普通的XML sitemap有什么不同。

(1)XML 标头

<?xml version=”1.0″ encoding=”UTF-8″?>

这里没有什么新东西,就像我们之前定义文件是XML格式以及使用哪种字符编码的XML Sitemap 文件一样。

(2)站点地图索引的定义

<sitemapindex xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″>

现在,我们看到的不是urlset定义,而是sitemapindex定义。此定义封装了站点地图索引中包含的所有站点地图,并再次说明了使用哪个版本的 XML 站点地图标准。

(3)单个站点地图

<sitemap>

      <loc>https://www.example.com/sitemap1.xml</loc>

      <lastmod>2023-03-20T18:00:00+00:00</lastmod>

   </sitemap>

就像 URL 一样,每个站点地图定义都需要至少包含 <loc>标签,其中包含单个 XML 站点地图的完整 URL。最重要的是,站点地图定义也可以选择包含 <lastmod>标签。

4. 按内容类型分割站点地图

如果您的网站内容较多,即便不超过5万个URL,您也可以考虑将站点地图按内容类型(如文章、产品、分类等)进行拆分。然后,可以使用站点地图索引文件将各个站点地图链接起来。

5. 设置合适的更新频率和优先级

为每个URL设置合适的更新频率(<changefreq>标签)和优先级(<priority>标签)。这有助于搜索引擎更好地理解网站内容的重要性和更新频率。

但是,您又不需要太担心优先级的设置。

一些站点地图有一个“优先级”列,表面上告诉搜索引擎哪些页面最重要。然而,这个功能是否真的有效一直存在争议。早在 2017 年,Google 的 Gary Illyes就回复推文称Googlebot 在抓取时会忽略优先级设置。

6. 避免包含无关或重复的URL

确保站点地图中只包含有价值、不重复的URL。避免包含重复或无关内容的URL,因为这可能会导致搜索引擎对您网站的评价降低。

当您有多个非常相似的页面时,例如同一产品的不同颜色的产品页面,您应该使用“link rel=canonical”标签来告诉 Google 哪个页面是它应该抓取和索引的“主”页面。

此外,永远不要列出您的 NoIndex 网址。站点地图用于告诉 Google 抓取和索引哪些 URL ,而不是忽略哪些 URL。

7. 考虑只将高质量页面放在站点地图中

在排名方面,整体网站质量是一个关键因素。

如果您的站点地图将抓取工具引导至非常多低质量的页面,搜索引擎会将这些页面解释为您的网站的大部分内容都是低质量的。因此,您可以考虑只将高质量的页面放在站点地图中。

8. 注意多语言网站的XML文件写法

对于多语言网站,您可以使用<xhtml:link>标签在XML站点地图中指定不同语言版本的URL。以下是一个多语言网站的XML站点地图示例:

在这个示例中,我们为同一个页面提供了三种语言版本:英文(en)、中文(zh)和西班牙文(es)。请注意以下几点:

  • 确保在<urlset>标签中添加xmlns:xhtml=”http://www.w3.org/1999/xhtml”属性,以便使用<xhtml:link>标签。
  • 使用<xhtml:link>标签为每个语言版本的URL添加rel=”alternate”和hreflang属性。hreflang属性的值应为代表相应语言的ISO 639-1语言代码。
  • 为每种语言版本的URL创建一个<url>条目,并在其中包含所有其他语言版本的<xhtml:link>标签。

您可以根据您自己的多语言网站的实际情况修改上述示例。

9. 将站点地图添加到 robots.txt 文件

robots.txt文件是爬虫访问网站时首先访问的地方。通过向其中添加站点地图,他们可以快速发现站点的所有 URL。

10. 使用绝对URL

在站点地图中,确保所有URL为绝对URL(包括协议和域名)。这样搜索引擎就不会对URL产生歧义。

11. 站点地图文件编码

站点地图文件必须采用 UTF-8 编码。所有站点地图文件只能包含 ASCII 字符——即数字 0-9、英文字母 AZ 和一些特殊字符。像符号、引号或大于/小于需要用转义码替换的字符:

12. 站点地图文件位置

您可以将站点地图托管在网站的任何位置,但是站点地图只影响父级目录中的下级目录。因此,如果站点地图发布在网站的根目录下,则可以影响网站上的所有文件,所以我建议将站点地图发布在此目录下。

三、将您的站点地图提交给谷歌/Bing/Yandex/Yahoo

创建并上传站点地图后需要执行的最后一步是将其提交给搜索引擎,以便它们可以开始抓取其中列出的 URL。在这里,我将分别介绍如何将站点地图提交给Google、Bing、以及Yandex。

1. 将Sitemap提交给Google

如果您想将 XML 站点地图提交给 Google,您可以通过3 种不同的方式进行。

(1)通过 Google Search Console 提交 XML 站点地图

针对Google, Google Search Console 是您提交网站站点地图的地方。请按照以下步骤向Google提交您的站点地图:

1)登录 Google Search Console,然后找到屏幕左侧 “索引”部分下的“站点地图”。

2)进入页面后,输入您的站点地图URL,然后单击“提交”。

就是这么简单。现在Google将验证您的站点地图。如果格式正确,它将更新为“成功”状态。

通过 Google Search Console 提交 XML 站点地图

(2)使用 robots.txt 文件提交 XML 站点地图

如果您不想使用 Google Search Console,那么您也可以通过将站点地图添加到您的 robots.txt 文件来提交您的站点地图。下图是Shein的示例:

Shein robots.txt

(3)发送 HTTP GET 请求以“ping”谷歌

最后一个选项是“ping”谷歌并要求他们的抓取工具抓取您的网站。这是通过发送 HTTP GET 请求来完成的:

https://www.google.com/ping?sitemap=https://yourwebsite.com/sitemaplocation.xml

2. 将Sitemap提交给Bing

与Google类似,您可以通过Bing的网站管理员工具将您网站的站点地图提交给Bing 。您可以按照以下步骤提交您的站点地图:

1)在Bing网站管理员工具上注册您的网站。

2)登录 Bing 网站管理员工具后,转到“我的网站”页面并单击您的网站。 

3)在左侧边栏菜单,找到“站点地图”;点击“提交站点地图”,然后输入您网站站点地图的完整URL,点击“提交”。与在Google中一样,您可以在下面的列表中查看有关您提交的站点地图的详细信息。

将Sitemap提交给Bing

3. 将Sitemap提交给Yandex

Yandex 是俄罗斯的主要搜索引擎之一。在那里提交您的站点地图可能会帮助您获得更多来自俄罗斯的流量。您可以按照以下步骤将您的站点地图提交给Yandex:

1)创建一个帐户并在Yandex上注册您的网站。

2)登录到 Yandex 网站管理员工具并从主仪表板中选择您的网站。

3)使用屏幕左侧的菜单,导航至“Indexing”> 站点地图文件。 

4)在相应的字段中输入指向您网站站点地图的完整URL,即www.mywebsite.com/sitemap.xml 。

单击添加按钮。 

将Sitemap提交给Yandex

结语

精心设计的网站站点地图可帮助访问者和爬虫更有效地浏览网站,这对于用户体验、SEO 和网站优化至关重要。

对于创建站点地图,您可以使用在线生成器创建站点地图以加快该过程。但是,如果您想对其进行更多控制,请考虑手动编写代码。

完成后,您只需将站点地图提交给主要搜索引擎并将其添加到robots.txt文件中。

我希望本篇文章能帮助您通过创建和提交站点地图加大网站的收录量!

error: Content is protected !!