我经常浏览谷歌网站管理员论坛、Reddit和Twitter上的SEO社区,我看到像“谷歌缓存空了!!”和“谷歌缓存中的404错误页面”反复出现。
由于很多人都担心谷歌不能正确地呈现他们的页面,我想我应该写一些关于缓存的文章来帮助读者理解为什么检查谷歌缓存不是分析谷歌如何查看页面的可靠方法。
我还将提供一些信息,说明谷歌缓存什么时候可能有用,以及应该使用什么工具来检查谷歌如何呈现页面。
谷歌缓存是什么?
在大多数情况下,如果您访问您的页面的谷歌缓存,您将看到您的页面在谷歌上次爬行时的版本。但你到底看到了什么?谷歌缓存包含Googlebot从您的服务器收到的原始HTML的快照。然后,由谷歌捕获的HTML由浏览器呈现。
谷歌存储缓存页面背后的想法很简单:它允许用户在页面关闭或出现临时超时时浏览页面。
有一些方法可以让你检查谷歌缓存。选择权在你:
在搜索结果中,单击搜索结果中URL旁边的箭头并选择谷歌缓存。谷歌提供了更好的说明:
您也可以直接在浏览器中输入地址。使用cache:URL,你将被重定向到由http://webcache.googleusercontent.com托管的缓存。此外,您可以使用允许一次检查多个url的工具之一,如谷歌缓存检查器。
浏览器插件也是一个选择。例如,您可以使用Web缓存查看器。
现在,去一个你想要检查的页面。单击页面上的任何位置并选择Web缓存查看器>谷歌缓存归档
现在,让我们对谷歌缓存进行切片。缓存视图显示了一些元素:
请求的URL -当Googlebot重新索引网站时,这个页面被请求。
页面被谷歌索引或重新索引的日期——请记住,有时他们可能使用您的页面的旧版本,因此日期不提供重要信息。
3种类型的视图-完整版本,文本版本和视图源。
完整版本显示页面的呈现视图。请记住,您在呈现的视图中看到的是浏览器呈现的页面,而不是谷歌呈现的页面。
我如何知道这个视图是由安装在我的计算机上的浏览器呈现的,而不是由谷歌使用的Web呈现服务(WRS) ?这里有一个小实验。如果我在谷歌缓存中看到的内容是由谷歌的WRS呈现的,那么我将在完整版本中看到谷歌在重新索引页面时捕获的相同内容。
检查此页面的谷歌缓存——在线秒表,并比较最后一次重新索引的日期和在缓存中显示的时间和日期。
正如您所看到的,重新索引站点的时间和日期与时钟上显示的不同。时钟会显示我检查缓存的时间,所以它会实时显示内容。
如果页面是由WRS呈现的,那么时间和日期将被冻结,并显示与您在灰色框中看到的相同的时间。
文本视图是一个关闭CSS并不显示图像的版本。在这里你只能看到文本和超链接。文本视图不会显示用JavaScript加载的内容,所以如果您检查在线秒表的纯文本版本,时钟就没了。
源代码只不过是由服务器发送到Googlebot的原始HTML。请记住,您在源代码视图中看到的不是DOM(文档对象模型),因此不会执行JavaScript。
很容易曲解谷歌缓存中呈现的信息。我们应该在看到的内容和使用来自谷歌缓存的数据之间保持良好的距离。
为什么不应该依赖于谷歌缓存
现在,是时候解释为什么谷歌缓存不能显示谷歌如何“看到”你的网站。
如上所示,缓存中的视图源显示了提供给Googlebot的原始HTML。同时,完整的版本显示浏览器所呈现的页面。这两条信息极大地影响了我们如何解释在谷歌缓存中看到的内容。
让我猜一猜。您可能或多或少使用了最新版本的浏览器。你可以通过访问这个页面来查看它。我的浏览器是Chrome 69版本。
谷歌为渲染目的,使用基于Chrome 41的Web渲染服务。Chrome 41是一个只有三年历史的浏览器,它并不支持正确渲染所需的所有现代功能。这些版本之间的差距是巨大的,您可以通过简单地比较caniuse中受支持和不受支持的特性就可以看出这一点。