Return to site

为什么Google Cache适合您,以及如何应对(如果有的话)

· seo优化

我经常在谷歌网站管理员论坛,Reddit和Twitter上浏览搜索引擎优化社区,我一遍又一遍地看到“谷歌缓存是空的!!!”和“谷歌缓存中的404错误页面”等标题。

由于很多人显然害怕Google没有正确呈现他们的网页,我想我会写一些缓存来帮助读者了解为什么检查Google缓存不是分析Google如何看待网页的可靠方法。

我还将提供有关Google缓存何时有用的信息以及您应该使用哪些工具来检查Google如何呈现该网页。

什么是Google缓存?
在大多数情况下,如果您转到页面的Google缓存,您会看到Google上次抓取该页面时的页面版本。但你究竟看到了什么?Google缓存包含Googlebot从您的服务器收到的原始HTML的快照。然后,您的浏览器会呈现Google捕获的HTML 。

谷歌存储缓存页面背后的想法很简单:它允许用户 在页面关闭或临时超时时浏览页面。

有几种方法可以让您检查Google缓存。这是你的选择:

在搜索结果中,点击搜索结果中网址旁边的箭头, 然后选择Google缓存。Google提供了更好的说明:

您也可以直接在浏览器中输入地址。使用缓存:URL,您将被重定向到http://webcache.googleusercontent.com托管的缓存。此外,您还可以使用其中一种工具来同时检查多个网址,例如Google Cache Checker。

浏览器插件也是一种选择。例如,您可以使用 Web缓存查看器。

现在,转到要检查的页面。单击页面上的任意位置,然后选择Web缓存查看器> Google缓存存档

现在,让我们切片和切块谷歌缓存。缓存视图显示了一些元素:

请求的网址 - Googlebot重新为网站编制索引时会请求此页面。
页面被Google编入索引或重新编入索引的日期 - 请记住,有时他们可能会使用较旧版本的页面,因此日期不会提供重要信息。
 

完整版显示页面的渲染视图。请注意,您在渲染视图中看到的是您的浏览器呈现的页面,而不是Google。

我怎么知道这个视图是由我的计算机上安装的浏览器呈现的,而不是Google使用的Web渲染服务(WRS)?这是一个小实验。如果我在Google缓存中看到的内容是由Google的WRS呈现的,那么我会在重新编制网页索引时在Google完整版中看到相同的内容。

如您所见,重新编制索引的时间和日期与时钟上显示的时间和日期不同。我检查缓存时显示时钟,因此它实时显示内容。

如果页面是由WRS呈现的,则时间和日期将被冻结,并显示与您在灰色框中看到的相同的时间。

文本视图是关闭CSS并且未显示图像的版本。在这里,您将只看到文本和超链接。文本视图不会显示用JavaScript加载的内容,因此如果您检查Online-Stopwatch的纯文本版本,则时钟消失。

源代码不再是您的服务器发送给Googlebot的原始HTML。请记住,您在源代码视图中看到的不是DOM(文档对象模型),因此不执行JavaScript。

误解Google Cache中显示的信息非常容易。我们应该在我们看到的内容与我们如何使用Google缓存中的数据之间保持健康的距离。

为什么你不应该依赖谷歌缓存
现在,是时候解释为什么Google Cache没有显示Google如何“看到”您的网站。

如上所示,缓存中的视图源显示了提供给Googlebot的原始HTML。同时,完整版显示由浏览器呈现的呈现页面。这两条信息会极大地影响我们应该如何理解我们在Google缓存中看到的内容。

让我猜猜。您可能或多或少地使用最新版本的浏览器。您可以访问此页面进行检查。我的浏览器是Chrome版本69。

出于渲染目的,Google使用基于Chrome 41的 Web渲染服务。Chrome 41是一款已有三年历史的浏览器,它不支持正确渲染所需的所有现代功能。这些版本之间的差距很大,您只需比较caniuse中支持和不支持的功能即可看到。

因此,使用Chrome 41和更新的浏览器进行渲染是无与伦比的。即使您可以在Google缓存中看到正确呈现的页面版本,也无法确定它是否也适用于Chrome 41.反之亦然。

在审核网站时,您不应该依赖Google缓存的第二个原因是内容新鲜度。在重新编制索引页面时,Google并不总是创建新快照。它们可能会使用旧版本,即使此后内容可能已经更改了两次。因此,缓存中的内容可能过时。

Google未提供有关Google缓存如何工作的详细信息,但它们提供了有关我们应如何解释Google缓存中发现的问题的提示。您将在下面找到常见问题及其原因的评论。

在Google Cache中观察到的常见问题
重要提示:缓存中观察到的一些异常是相当无害的,但这并不意味着您应该忽略它们。如果某些事情没有以预期的方式发挥作用,您仍应该专心致志并进行更深入的调查。

1.页面未正确呈现
可能的原因: CSS或.js等资源已更改。

当您访问页面的缓存版本时,您可能会看到它已崩溃。某些元素可能无法正确呈现; 一些图像可能会丢失; 字体可能与您在网站上看到的字体不同。

可能发生这种情况的原因是最近的呈现基于页面的缓存版本,该版本可能引用不再存在的资源。因此,例如,如果某些资源(您的样式表或某些JavaScript代码)自上次Googlebot访问后发生了更改,则当前渲染可能无法显示。

谷歌网站管理员趋势分析师约翰·穆勒表示,它有时会发生,但不必担心。

但是,为了确保Google在大型派对之后看不到看起来像一团糟的页面,我宁愿进入Google Search Console并执行“ 获取和渲染 ”功能。

2. Google Cache中的404错误页面
原因:网站已切换为移动优先索引。

谷歌开始推出移动优先索引时出现了很多恐慌,似乎很多网站都在缓存中显示404错误页面。

很难解释为什么会出现此问题,因为Google不提供详细信息,但 Google网站管理员 Twitter帐户明确指出,尽管可能会发生这种情况,但缺少的缓存视图不会影响您的排名。

注意:有些人注意到您可以使用变通方法来查看正确的结果。单击404页面的地址栏,然后将站点名称更改为其他名称 - 例如“x.xyz” - 然后输入。

Twitter上有人注意到,如果在点击搜索后更改缓存的页面URL,则可以使其正常工作。我不知道这是否一直有效,但这是一个很酷的黑客。https://t.co/NXjxmC8tdP
- > https://t.co/8sFmkyVAJq

- 🍌约翰🍌(@JohnMu),2018年10月8日

3.缓存显示不同的子页面
原因:内部重复

最令人困惑的情况之一是当您打开缓存视图时,您会看到与预期不同的页面。

您创建“site:”查询以检查缓存版本,您可以在搜索结果中看到的第一个奇怪症状是属于不同子页面的元标题和元描述。

当两个页面太相似而无法在索引中分开时,Google可能会决定将这两个页面折叠在一起。如果他们没有看到两个页面之间存在显着差异,并且无法理解彼此之间的区别,那么他们可能只保留一个版本。这似乎是谷歌处理重复页面的方法之一。

如果您希望将这两个页面分开编制索引,则需要查看内容并回答问题:为什么它们被标记为重复?在下一步中,确保在这些页面中发布的内容是唯一的,并响应用户的意图。

4. Google缓存显示完全不同的域
原因:外部重复,不正确的规范化。

在查看Google缓存时,您有时可能会看到属于其他域的页面。这可能真的令人困惑。

Google将一个网站与另一个网站混为一谈
在其中一个Google环聊中,John Mueller提到了具体情况,可能会发生这种情况。有时谷歌只会通过查看网址中的模式(可能还有一些其他信号,但他们不访问给定的网页)来尝试评估内容的唯一性。例如,如果两个电子商务网站具有几乎相同的网址结构并且它们共享相同的产品ID,则Google可以将它们折叠在一起。

导致相同结果的另一种情况是有人错误地实现了rel = canonical标记。例如,如果开发人员意外添加了指向页面上不同域的规范标记,则很可能导致在Google缓存视图中显示不同的页面。在这种情况下,您向Google发送了这两个页面相同的信号,他们应将它们折叠在一起。

当我诊断出类似的问题时,我的个人噩梦就发生了。显然,在我开始在网站上工作之前,有些网页有一个外部规范标签 - 只有一段时间,但足够长,可以被谷歌发现。在那之后,规范消失了,没有任何迹象表明他们的存在,但是Cache仍然显示一旦被引用为规范的页面。

在GSC中添加了Inspect URL功能后,可以解决这个神秘的问题(谢谢你,谷歌!)。这使我可以确定Google选择了外部URL作为规范版本,并且它与用户声明的URL相同。该用户是该网站的开发人员,遇到了麻烦。

具有相同内容的国际站点。
此问题的最后一个示例可能出现在使用不同域(TLD)上的相同内容的国际站点上。例如,如果您决定在网站的德语和奥地利语版本上发布相同的内容,那么Google可能无法理解它们之间的关系。即使是hreflang标记也可能无济于事,Google会将这些网址组合在一起。

在此示例中,请查看下面动画GIF中显示的搜索结果。该网址属于google.fr,但如果您转到缓存视图,则会将google.ca视为请求的网址

5. Google Cache中的404错误页面但该网站未切换到移动设备
原因:页面未缓存。

您还可以在Google缓存中查看某个页面的404错误页面,即使该网站尚未切换为移动优先索引。这可能是因为Google没有为他们抓取和索引的所有网页存储缓存视图。谷歌拥有大量的资源可供支配,但它们并非无限制,因此它们可能会放弃存储所有内容。

因此,仅仅因为页面被索引,这并不意味着拍摄快照。但是,如果您在Google缓存中有快照,那肯定意味着该页面已被编入索引。

6.缓存为空
原因:该网站由JavaScript提供支持

如果您有一个基于JS的网站,并且您没有以这样的方式呈现内容以向Google提供呈现的版本(例如,使用预呈现或动态呈现),您可能会看到一个空的缓存。

这是因为JavaScript应用程序的HTML可能包含几行代码,其余代码在JavaScript执行后加载。因此,如果Google Cache显示原始HTML,则无需显示任何内容。

但即使您看到空缓存,也不意味着内容未编入索引。关于两波索引的规则(见下文)使得无论你想用JS加载什么,都可能会被编入索引,但它可能会被推迟。

在第一波中,Google会对页面编制索引而不执行JavaScript。在第二次浪潮中,JS被执行,因此Google可以正确地索引内容。

从技术角度来看,在执行JavaScript之前,基于JS的网站的HTML没有太多要显示的元素,这是完全正常的。

但是,考虑到JS索引的所有问题,由于索引的延迟,我不会依赖Google的JavaScript网站渲染。内容的索引可能会推迟几天甚至几个月!

7.根本没有缓存
原因:正在使用noarchive元标记。


使用noarchive元标记可防止Google创建可在Google缓存中显示的快照。在大多数情况下,这是一个有意的步骤。它指示工具或应用程序不应存储页面的快照。

如果页面显示不应该访问的敏感数据,这可能很有用。如果您决定使用noarchive元标记,则不会影响排名,只会影响是否创建并保留快照。

当值得检查Google Cache时
Google缓存显示了如此多的信息。但他们是否可行?不总是。是的,我在分析网站时检查了Google缓存,但我并不专注于解决Google缓存问题。我将在那里发现的任何问题视为其他问题的症状。

以下是一些对我来说总是有价值的信息:

对于基于JavaScript的网站,当我看到缓存为空时,我知道该网站不会通过预渲染或SSR(服务器端渲染)向搜索引擎提供内容。同样,当我看到一个由JS支持的网站有一个缓存视图时,我知道他们以某种方式向Google提供内容。
当我看到不同于我期望的页面时,我知道此页面可能存在重复内容的问题。在分析内容质量时,这是一个有价值的提示。
最后,在检查缓存时,您可以验证Google是否尊重您的规范标签。如果是,那太好了。如果没有,是时候仔细查看您发送给Google的与索引相关的信号了。
保持健康的距离
我不想阻止您在审核网站时检查Google缓存。我们不能忽视那里观察到的异常,因为我们不知道Google Cache背后的机制。但我们应该保持冷静。

我建议使用其中一种可以提供更多可操作数据的工具,而不是恐慌:

在Google Search Console中获取Google:您可以在此处以与Google相同的方式呈现网页。移动和桌面渲染可用。
移动友好测试: 如果您无法访问Google Search Console,则可以随时使用此工具。
在Google Search Console中检查网址:这是一个出色的工具,可用于检查特定网址的详细信息 - 获取状态,抓取日期,规范化。通常,它提供有关Google对给定页面的看法的信息。
爬行者:他们将帮助评估重复内容或精简页面的规模 - 这是基于数据的更深入分析
您应该记住,Google缓存是用户的一项功能,它创建和显示快照的能力对排名没有影响。也就是说,您在Google缓存中看到的差异可能是可能影响排名流程的其他问题的症状,因此值得仔细检查。

All Posts
×

Almost done…

We just sent you an email. Please click the link in the email to confirm your subscription!

OK