网站地图悖论


249

我们在Stack Overflow上使用了站点地图,但对此我有不同的感觉。

Web爬网程序通常从站点内的链接和其他站点发现页面。Sitemap补充了此数据,以使支持Sitemap的搜寻器可以拾取Sitemap中的所有URL,并使用关联的元数据来了解这些URL。使用Sitemaps 协议并不能保证搜索引擎中会包含网页,但是会为Web爬网程序提供提示,以更好地抓取您的网站。

根据我们两年的站点地图经验,该站点地图在本质上有些悖论

  1. Sitemaps适用于难以正确爬网的网站。
  2. 如果Google无法成功抓取您的网站来找到链接,但能够在站点地图中找到它,则它不会赋予站点地图链接任何权重,也不会为它建立索引!

这就是站点地图悖论- 如果您的站点未得到适当的爬网(无论出于何种原因),那么使用站点地图将无济于事!

Google竭尽全力不提供任何站点地图保证

“我们不能对何时或是否您的网址将被抓取或添加到我们的索引预测或保证” 引文

“我们不保证将对您的所有URL进行爬网或建立索引。例如,我们不会对您的站点地图中包含的图像URL进行爬网或建立索引。” 引文

“提交Sitemap并不能保证你的网站的所有网页将在搜索结果中被抓取或” 引文

鉴于在站点地图中找到的链接仅是建议,而在您自己的网站上找到的链接被认为是规范的...似乎唯一合乎逻辑的事情是避免拥有站点地图,并确保Google和任何其他搜索引擎可以正确访问使用其他所有人都能看到的普通旧标准网页来搜寻您的网站。

到时候你做的是,和越来越好的震垮,彻底使谷歌可以看到你自己的网站链接到这些网页,并愿意抓取的链接-呃,为什么我们需要一个网站地图,再?该站点地图可能会造成有害影响,因为它会使您无法确保搜索引擎蜘蛛能够成功抓取整个网站。“哦,抓取工具是否可以看到它都没关系,我们只需在站点地图中拍打那些链接!” 现实与我们的经验相反。

考虑到站点地图是针对链接或非常复杂的UI的站点而设计的,这似乎有点讽刺意味。根据我们的经验,该站点地图无济于事,因为如果Google在您的网站上找不到合适的链接,则无论如何它都不会从该站点地图建立索引。我们已经一次又一次地看到有关堆栈溢出问题的证明。

我错了吗?站点地图是否有意义,而我们却以某种方式不正确地使用了它们?


我认为站点地图在更简单的时代更像是一个简单的工具...我有点想出了如今提供站点地图的唯一原因是尽管在技术上很偏向人类,但仍需要人工协助来导航站点。我看不到“如果您的网站未得到适当的爬网(无论出于何种原因),使用站点地图将无济于事!” 但可能只是我。
jcolebrand

3
虽然我知道Google会吸引您的大部分流量。我认为了解其他蜘蛛似乎如何使用站点地图非常重要。
MikeJ 2010年

22
@mikej google并不是我们流量的“大部分”,它是所有搜索流量的99.6%和总流量的87%
Jeff Atwood 2010年

2
杰夫,永远喜欢您的帖子...我只将XML网站地图用于Google可能找不到的页面。但是,实际上,我对它们和Google网站站长工具不满意。老实说,我认为Google在索引网站上的可用内容方面做得很好。网站地图毫无意义。现在,用于用户导航的站点地图是一个明智的主意。我喜欢Web.2.0页脚站点地图,并尝试将它们整合到适合它们的几乎任何设计中……
Frank

1
@Jeff Atwood:约翰·穆勒(John Mueller)说:“我们确实可以提取未链接的URL并建立索引”-这是否解决了悖论?
罗伯·奥尔莫斯

Answers:


192

免责声明:我与Google的Sitemaps团队一起工作,所以我有些偏颇:-)。

除了将Sitemap广泛用于“非网络索引”内容(图像,视频,新闻等)之外,我们还将Sitemap文件中包含的URL信息用于以下主要目的:

  • 发现新的和更新的内容(我想这是显而易见的内容,是的,我们也从中获取并索引未链接的URL)
  • 识别用于规范化的首选URL(还有其他方法可以处理规​​范化
  • 在Google网站管理员工具中提供有用的索引网址计数(来自站点的近似值:查询不能用作指标)
  • 为有用的抓取错误提供依据(如果Sitemap文件中包含的网址存在抓取错误,这通常是一个更大的问题,并在网站站长工具中单独显示)

在网站站长方面,我还发现Sitemaps文件非常有用:

  • 如果您使用搜寻器创建Sitemaps文件,则可以轻松地检查您的网站是否可抓取并直接查看找到的URL类型。搜寻器是否找到了您的首选URL,或者配置不正确?搜寻器是否卡在了某个地方的无限空间(例如无尽的日历脚本)中?您的服务器能够处理负载吗?
  • 您的网站实际上有几页?如果您的站点地图文件“干净”(没有重复等),则很容易检查。
  • 您的网站真的可以完全爬网而不会出现重复的内容吗?将Googlebot留下的服务器日志与您的Sitemaps文件进行比较-如果Googlebot正在抓取Sitemaps文件中没有的URL,则您可能需要仔细检查内部链接。
  • 您的服务器是否遇到首选URL的问题?使用Sitemaps网址交叉检查服务器错误日志可能会非常有用。
  • 您有多少页面真正被索引了?如上所述,此计数在网站站长工具中可见。

对于很小的,静态的,易于爬网的站点,从站点角度看,一旦Google对站点进行爬网和索引编制,就不一定需要使用Sitemaps。除此之外,我真的建议您使用它们。

FWIW我也想解决一些误解:

  • Sitemap文件并不旨在“修复”可爬网性问题。如果无法抓取您的网站,请先进行修复。
  • 我们不使用Sitemaps文件进行排名。
  • 使用站点地图文件不会减少我们对您网站的正常爬网。它是附加信息,而不是替代爬网。同样,在Sitemaps文件中没有URL并不表示不会将其编入索引。
  • 不要大惊小怪的元数据。如果您不能提供有用的值(例如优先级),请不要理会它们,不要担心。

您确实使用Sitemap进行“自我排名”,对吧?我的意思是在一个网站上对内容进行排名。否则为什么要priority外地?
DisgruntledGoat 2010年

7
“优先级”元素对我们来说是一个很小的信号,如果我们在您的网站上抓取非常有限,我们可能会使用它(我们不将其用于排名目的)。对于大多数网站而言,这不会成为问题,因此可以轻松提供有用的值就可以了,但是如果不能轻松提供有用的值,那就可以了。如果您不能为此和其他元数据元素提供有用的值,则只需将这些元素完全忽略掉(不要使用“默认”值)。
约翰·穆勒

感谢您提供的丰富信息。从现在开始,我将停止更新站点地图,而仅将RSS feed用作站点地图。
Stephan Muller

1
具有100个级别的信息是否是“可爬性问题”?例如,如果我有一个网上商店,并且类别中的产品列表很长(例如3000种产品)。该列表分页显示,共有200页。自然,我不会显示所有链接。更喜欢1 2 3 ... 22 **23** 24 ... 198 199 200。因此,要在第100页上查找产品,您需要通过大约100个链接。或使用搜索栏。googlebot会抓取它,还是在20个左右的级别后放弃?网站地图会是这里的合适解决方案吗?
Vilx-

1
@Martijn-好的,但是如果您需要单击200次“下一步”以查看全部内容,该怎么办?蜘蛛会勤奋地咔嗒一声走开,还是会在30点左右后放弃并说“操这该死的东西,我会走那么久的链接”?
Vilx-

40

如果您知道自己的网站架构良好,并且Google会自然地找到您的页面,那么我所知道的唯一好处就是索引编制速度更快,如果您的网站索引编制速度足够快,那么您就不需要了。

这是2009年的一篇文章,绅士们测试了有无站点地图时Google抓取其网站的速度。 http://www.seomoz.org/blog/do-sitemaps-effect-crawlers

我的经验法则是,如果您要启动未经测试的新内容,则想了解Google如何抓取您的网站,以确保不需要修复任何内容,因此不要提交,但是,如果您要进行更改并想要Google会更快地查看它们,然后再提交,或者如果您还有其他时间敏感信息(例如突发新闻),然后再提交,因为您想尽一切可能确保自己是第一个Google看到的人,否则这是优先考虑的问题。


RSS feed不会完成相同的事情吗?
Virtuosi Media

当然,使用RSS feed可以做很多事情来改善索引编制,但是,我上面链接的文章中的数据表明,站点地图比RSS feed更有效。
Joshak 2010年

15

我怀疑:对于Google而言,必须使用站点地图来尽可能快地跟踪更新。例如,假设您已经在网站的某个深处添加了新内容,那么从您的首页开始,需要进行10-20次以上的点击。对于Google来说,在短时间内访问该新页面的可能性较小-因此,在完全确定该页面的路径之前,要宣布它的存在。毕竟,PageRank并不是立即计算出来的,它需要时间来评估用户的行为,所以-在那之前,为什么引擎不应该爬网并为包含新鲜内容的页面编制索引?


4
像stackoverflow这样的网站经常被抓取,所以我敢打赌它使用站点地图更快
约翰·孔德

3
@john仍然是,这是我能想到的站点地图实际上可以为您做的唯一合理的解释。“不能伤害”是一种常见的说法,但是仅存在站点地图是有害的(额外的复杂性等),因此,如果它没有帮助,它仍然是一个负面的净结果,必须解决。
杰夫·阿特伍德

@杰夫我没有不同意。我只是说SO不适合那种模式。
约翰·孔德

2
这可以通过Joshak提供的链接得到证实:seomoz.org/blog/do-sitemaps-effect-crawlers
Jeff Atwood 2010年

@Jeff Atwood“ @John still,...”这就是我试图提出的重点。起初它是有益的,但是现在您不需要了。那么,为什么还要坚持尝试呢?
jcolebrand

9

如果正确使用站点地图,它们将具有不可思议的价值。

首先,谷歌表示它们只是提示的事实是a)确保网站管理员不会误以为sitemap = indexation,b)如果他们认为某些站点地图不可靠,则可以让Google忽略某些站点地图( aka lastmod是每天访问所有URL的当前日期。)

但是,Google通常喜欢并使用站点地图(实际上,有时它们会找到自己的站点地图并将其添加到Google网站站长工具中)。为什么?它提高了他们爬行的效率。

他们可以从提交的站点地图开始,而不是从种子站点开始并爬网,而可以将适当数量的爬网预算分配给站点。他们还可以使用相关的错误数据(500、404等)建立您网站的大量历史记录。

来自Google:

“ Googlebot通过跟踪从一页到另一页的链接来抓取网络,因此,如果您的网站链接不正确,我们可能很难发现它。”

他们没有说的是,爬网非常耗时,并且他们更喜欢备有备忘单(又名Sitemap)。

当然,从爬网角度看,您的网站可能还不错,但是如果您要引入新内容,则将该内容放到优先级高的站点地图中是一种较快的方式进行爬网和建立索引。

这也适用于Google,因为他们想快速地查找,抓取和索引新内容。现在,即使您不认为Google宁愿选择人迹罕至的方法也不愿使用丛林方法中的砍刀,但站点地图很有价值的另一个原因是跟踪。

特别是,使用站点地图索引(http://sitemaps.org/protocol.php#index),您可以将站点分为多个部分-按站点地图划分站点地图。这样,您就可以逐节查看网站的索引率。

一个部分或内容类型的索引率可能为87%,而另一部分或内容类型的索引率可能为46%。然后,找出原因是您的工作。

要充分利用站点地图,您需要跟踪Googlebot(和Bingbot)在站点上的爬网(通过Weblogs),将其与站点地图进行匹配,然后一直跟踪以进行访问。

不要睡在站点地图上-进行投资。


2
我不同意,站点地图曾经是有目的的,但根据我的诚实观点,现在它们已经过时了。如果您的网站可抓取,它将使用RSS,社交媒体找到那些链接,这是Google更快地查找页面和为其建立索引的绝佳方法。
西蒙·海特

8

用Google的话来说:“在大多数情况下,网站管理员可以从Sitemap提交中受益,在任何情况下您都不会因此受到惩罚。”

但是我同意,如果希望您的网站页面出现在搜索引擎中,您可以做的最好的事情就是确保它们可以从网站上正确地抓取。


5
仍然存在精神上的代价,因为无论您的网站的爬网状态如何,都可以保证对链接进行索引被视为“安全”,这在我们的经验中是不正确的。
杰夫·阿特伍德

7

我相信搜索引擎使用Sitemap并不是为了查找页面,而是为了优化它们经常检查更新的频率。他们看着<changefreq><lastmod>。Google可能经常搜寻整个网站(请检查您的日志!),但并非所有搜索引擎都具有这样做的资源(有人尝试过Blekko吗?)。无论如何,由于使用它们没有任何惩罚,并且可以自动轻松地创建它们,因此我会继续这样做。


4
我认为该<priority>领域非常重要,可以让他们知道哪些页面最重要。例如,在Stack Overflow上,您有数百个标记和用户页面,它们很好,但远不及问题本身重要。如果站点地图将问题优先级设置为1,而其他所有条件都较低,则问题更有可能在其他页面上被索引。
DisgruntledGoat 2010年

6

如果您关心此主题,请阅读这篇出色的Google论文http://googlewebmastercentral.blogspot.com/2009/04/research-study-of-sitemaps.html(2009年 4月)-阅读完整的论文,而不仅仅是博客文章。

从纸上

  • 好的,基本上Google都在努力解决相同的问题。
  • 他们没有透露如何确定站点地图中的价值,但是提到了从起始页到站点地图的虚拟链接的概念。
  • 很多其他有趣的东西

但是,是的,站点地图主要用于发现(谷歌发现您的东西的过程),而不是用于价值确定。如果您在发现方面遇到困难,请使用站点地图。发现是爬网的先决条件,但不会影响价值确定。

从我的经验

  • 有大量的站点仅使用HTML和XML站点地图来链接其页面
  • 其中,与HTML网站地图相比,XML网站地图的抓取要好得多。(我对一些非常大的模型进行了很好的观察)
  • 甚至有非常成功的网站都只使用XML网站地图。

当我为拥有超过一百万个页面的网站实施SEO策略时,

  • 登陆页面
  • sitemap.xml
  • 首页

其他所有内容都只是“麻烦”-是的,其他内容可能具有正SEO值,但肯定具有负值:这使网站更难管理。(ps:为了确定价值,我以一种有意义的方式将着陆点链接起来(影响很大),但这已经是第二步了)。

关于您的问题:请不要混淆发现,爬网,建立索引和排名。您可以分别跟踪它们,也可以分别优化它们。并且您可以通过出色的(即实时)站点地图以一种主要方式来增强发现和爬网的能力。


5

站点地图可以保存您的屁股。

在我的一个网站上,我拥有大量的链接,这些链接使我无法阻止搜索引擎爬行。长话短说,Google在我的论坛中误解了JS,并触发了500和403响应代码,我认为这影响了网站的位置。我通过通过robots.txt排除有问题的URL来解决此问题。

有一天,我搞砸了,做了一些事情,阻止了Google爬上我真正想要索引的网站上的某些页面。由于论坛被排除在外,“受robots.txt限制”的“网站站长工具”错误部分包含4000多个页面,因此,在为时已晚之前,我不会选择此错误。

幸运的是,由于我网站上的所有“重要”页面都在站点地图中,因此我能够在网站站长工具针对站点地图中的页面问题所遇到的特殊错误类别中,快速检测到此问题。

顺便说一句,正如 @AJ Kohn 所提到的,使用Sitemap索引确定网站各部分的索引质量也使我受益匪浅。


4

我自己还没有碰到这个问题,但是我的大部分项目都是需要用户帐户的应用程序或网站,因此搜索引擎编制索引并不是重点。

就是说,我听说SEO基本上使站点地图无用。如果看一下协议,它就是一种“荣誉系统”,可以告诉您页面更改的频率以及每个页面的相对优先级是多少。有理由认为,一角钱的SEO公司会滥用这些字段-每个页面都是头等大事!每页每小时更改一次!-渲染的站点地图实际上是无用的。

从2008年开始的这篇文章基本上说了这一点,并且似乎得出了与您相同的结论:站点地图非常有用,您最好对要索引的内容进行优化并放弃站点地图。


3

让它爬行。

我执行以下操作:

  1. 使网站以旧方式可抓取。
  2. 确保我确实有一个robots.txt,上面带有站点地图指示。
  3. 制作一个XML网站地图,但不提交。让搜寻器在发现和建立索引过程中根据需要发现和使用它。

我生成一个扩展的XML文件,该文件可作为许多事情的基础:

  • 生成HTML网站地图
  • 帮助404(未找到)页面
  • 帮助完成其他细小的任务,例如制作面包屑,或在页面的Facade模式中获取一些元数据。

因此,我确实拥有所有这些,为什么不还提供xml网站地图,并让搜寻器按照自己的意愿去做呢?


3

杰夫,我对Stackoverflow一无所知,因为我一生中从未有机会成为如此庞大且经常更新的网站的网站管理员。

对于不经常更改的小型网站,我认为站点地图非常有用(不是说站点地图是最重要的,但是非常有用的),其原因有两个:

  1. 该网站很快就被抓取了(同样的原因,上面Joshak解释了),根据我的经验,我在小型网站(最多30/50页)中注意到了很多次

  2. 几周后,我提交了站点地图,然后查看“ Google网站管理员工具-站点地图”,可以看到站点地图中提交的URL数量与Web索引中的URL数量。如果我发现它们相同,那就很好。否则,我可以立即在我的网站上检查哪些页面没有建立索引以及为什么。


3

这是(第一个?)是Randfish在 2007年的好年头在SEOmoz上写的。他周围的人第一次得出相同类型的结论,但是后来事情就变成了……并且过去了。

从那以后(2009年1月),他在文章中添加了后记,指出生成,验证和提交站点地图的总体积极结果远远超过了任何可能的弊端。

更新时间:2009年1月5日-实际上,我对该建议的想法有了很大的改变。是的,站点地图仍然可以解决体系结构问题,但是考虑到我在过去1.5年中的经验,我现在建议所有客户(以及几乎所有其他要求的人)提交站点地图。在爬网,索引编制和流量方面的积极优势远远超过了不利因素。


2

我相信现在Sitemaps仅用于两个目的:

  • 它们使您可以减少启动的频率以减轻服务器负载。对于大多数站点,这实际上不是问题。
  • 它们可以帮助您增强搜索引擎已经知道的有关您的信息。列出页面名称,并显然在每个页面上添加适当的权重,可以帮助搜索引擎验证其自己的指标以对您的网站架构进行排名。

1

请勿使用站点地图

站点地图主要用于没有时间戳索引和节点的站点。...SE都同时为其核心内容提供服务,因此拥有站点地图会拖慢抓取工具的速度...是的,没错,这会减慢爬虫的速度,因为站点地图缺少核心索引具有的元数据。另一方面,我不知道google如何构建它的机器人,只知道如果我要去机器人SE,就不会使用站点地图。另外,某些网站甚至都没有注意到他们的站点地图全都是%!@ $;如果您在站点地图上构建了一个配置文件,而该配置文件突然无法正常工作,则必须在该站点上创建一个新的配置文件真实网站。

因此,您是对的- 请勿使用SITEMAPS!

提示:不过,您应该做的一件事就是尽可能长时间地保持标记的语义相同,这意味着如果“ Asked One Hour Ago”中嵌入了元数据,例如:

title="2010-11-02 00:07:15Z" class="relativetime"

切勿更改字符串名称relativetime,除非其中的数据含义title已更改。从来没有... :-)


1

我最近重组了一个我仍在工作的网站。由于无法找到链接50万个页面来帮助用户的好方法,因此我决定使用XML网站地图并将其提交给Google,然后改为使用网站搜索。Google较早地为我的网站编制索引没有问题,但是,自从添加了站点地图以来,Google在抓取我的网站并极其快速地为页面编制索引方面非常积极。Google已使用该站点地图查找新页面(每周约3300个)并重新访问更新的页面。这是我书中真正的胜利。我仍然想找到一种链接页面并使用AJAX进行查找的新方法,但这是另一天的项目。到现在为止还挺好!对我来说这是一个很好的解决方案。总而言之,我有所收获,而没有失去。有趣的是,我一直认为站点地图实际上可能更有用,但受其设计限制。


0

我听说站点地图可以更快地将您的页面添加到补充索引中。但是我什至没有听过很久以前提到的补充索引,因此他们可能不再使用它了。

PS,以防我的陈述不够清楚,在补充索引中是(或曾经)是坏事……因此,站点地图是(或曾经)是坏事。


0

我们使用站点地图(未提交给搜索引擎,但已链接到站点robots.txt)主要是为了确保首页具有最高的<priority>。我不确定他们是否还有其他用途。


0

我不同意Google不会索引仅站点映射的链接。我有很多站点,这些站点的页面只能通过站点地图访问,而Google对其进行索引却没有问题。我可以举很多例子。


这些页面还在您的网站之外链接吗?
杰夫·阿特伍德

0

一个结构良好的网站虽然可以帮助我们进行覆盖和排名,并且不需要额外的值,例如优先级,更新频率等,但不需要站点地图。您可以告诉搜索引擎,嘿...我已经更新了此页面我网站中间的某个位置而无需完全爬网。我从没看过爬网模式,但希望它能对您有所帮助。

话虽如此,对我来说,真正的好处是网站站长工具及其洞察力,它可以使您了解网站的知名度和用户。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.