在最近的JavaScript SEO办公时间中,Google的Martin Splitt回答了有关阻止外部JS和CSS资源的问题。问题是阻塞资源是否会导致网站排名下降。
但是,所提出的问题有一个皱纹……
被阻止的JavaScript和CSS可能影响排名
在某些情况下,阻止JavaScript和CSS文件可能会导致排名问题。原因之一是因为Google需要其中一些文件才能呈现网页并确定其是否适合移动设备。
Google的官方开发人员页面说:
“为获得最佳渲染和索引编制,请始终允许Googlebot访问您的网站使用的JavaScript,CSS和图像文件,以便Googlebot可以像普通用户一样看到您的网站。
如果您网站的robots.txt文件禁止抓取这些资产,则将直接损害我们的算法呈现和索引您内容的效果。这可能会导致排名不理想。”
阻止外部JavaScript和CSS
提出这个问题的人有充分的理由担心Google对封锁外部资源的反应。
问题:
“如果您使用robots.txt阻止其他域中的外部JS文件/ CSS文件上的JS或CSS,或者如果其他域阻止了它们,那么用户会看到与Googlebot不同的东西,对吗?
Google会不信任此类页面并将其降级吗?”
Google的Martin Splitt自信地回答:
“不,我们不会降低任何排名。这不是伪装。伪装非常特别意味着误导用户。
仅仅因为我们看不到内容,并不一定意味着您误导了用户。”
伪装是一种欺骗手段,垃圾邮件发送者用来向Google显示一组内容,以诱使Google对其排名,并向用户显示完全不同的网页,例如病毒或垃圾邮件网页。
伪装也是一种阻止Google爬网发布者不希望Google查看的URL(例如会员链接)的方法。
马丁的答案来自阻止外部资源是否被视为伪装的方向,而他的答案是否定的。
如何阻止外部资源出现问题
马丁接着描述了如何阻止外部资源成为一个问题:
“如果仅当我们可以获取这些资源时才显示您的内容,并且由于robots.txt阻止了我们在呈现的HTML中看到的内容,那么仍然存在潜在的问题。
然后,我们无法对其编制索引。如果缺少内容,我们将无法对其进行索引。”
Google的测试工具将揭示问题
然后,马丁继续展示发布者如何诊断阻塞资源是否有问题。
“因此,绝对值得尝试使用我们的测试工具,以查看您想要在页面上看到的内容在页面上是否实际可见,即使某些JavaScript或CSS资源可能已被自动处理。
但是总的来说,对JavaScript或CSS资源进行自动处理本身并不是问题。如果我们看不到内容,但是从隐身的角度来看很好,不是隐身,这可能是一个问题。”
他进一步澄清:
“如果内容是通过JavaScript加载的,而我们由于JavaScript是自动操作而无法加载该JavaScript,那么我们就不会看到它,这可能会带来问题。但是,如果它是诸如聊天框或评论小部件之类的增强功能,那么这不是问题。”
发行人问了一个技巧
这是一个有趣的答案,可以阻止与聊天框或评论小部件关联的外部资源。例如,如果这些资源有助于加快Google网站渲染的速度,则可能会很有用,但是…
但是,提出的问题有些折衷: 您无法使用robots.txt阻止(在另一个域上)外部资源。
最初的问题是两方面的。
这是有问题的第一部分:
“如果您使用robots.txt阻止其他域中的外部JS文件/ CSS文件上的JS或CSS,则……”
问题的这一部分不可能通过Robots.txt完成。
Google的开发人员页面提到了有关robots.txt的主题:
“它对于同一主机,协议和端口号上所有子目录中的所有文件均有效。”
该问题被忽略的是,robots.txt仅使用相对URL,而不使用绝对URL(站点地图的位置除外)。
相对URL表示URL与包含链接的页面“相对”。
在HTACCESS文件上,所有URL如下所示:
/ file-1 / example
这是一个绝对URL的样子:
https://www.example.com
因此,如果您不能在robots.txt中使用绝对URL,则无法使用robots.txt阻止外部资源。
问题的第二部分在技术上是正确的:
“…或者如果其他域阻止了它们,那么用户将看到与Googlebot不同的东西,对吧?Google会不信任此类页面并将其降级吗?”
外部资源通常被其他站点阻止。因此,从那个方向来看,问题和答案更有意义。
马丁·斯普利特(Martin Splitt)表示,阻止这些外部资源并不是伪装。如果您不使用Robots.txt,则该声明为true。
那可能就是马丁所指的,但是……
但是问题特别是关于robots.txt。
在现实世界中,如果希望使用robots.txt阻止外部资源,那么很多人就会转向伪装。
掩饰的说唱不好,有充分的理由。但事实是,并非所有的掩饰都是不好的。例如,Yoast提供了有关隐藏联盟链接的教程。
某些形式的伪装可能是一种阻止资源的方法,该资源与页面的呈现方式无关,并且适合Google的建议。