谷歌表示 Robots.txt 阻止某些外部资源是可以的

在最近的 JavaScript SEO Office Hours 中,Google 的 Martin Splitt 回答了一个关于阻止外部 JS 和 CSS 资源的问题。 问题是阻止资源是否会导致网站失去排名。

然而,被问到的问题中有一个皱纹……

被阻止的 JavaScript 和 CSS 会影响排名

在某些情况下,阻止 JavaScript 和 CSS 文件可能会导致排名问题。 一个原因是因为 Google 需要其中一些文件来呈现网页并确定它是否适合移动设备。

谷歌官方开发者页面 说这个

“为了获得最佳呈现和索引,始终允许 Googlebot 访问您网站使用的 JavaScript、CSS 和图像文件,以便 Googlebot 可以像普通用户一样查看您的网站。

如果您网站的 robots.txt 文件不允许抓取这些资产,则会直接损害我们的算法呈现和索引您的内容的效果。 这可能会导致排名不理想。”

阻止外部 JavaScript 和 CSS

问这个问题的人有充分的理由担心 Google 会如何应对阻止外部资源。

问题:

“如果您使用 robots.txt 阻止外部 JS 文件/其他域中的 CSS 文件上的 JS 或 CSS,或者如果其他域阻止它们,那么用户会看到与 Googlebot 不同的东西,对吧?

谷歌会不信任这种页面并降低它们的排名吗?”

谷歌的 Martin Splitt 自信地回答:

“不,我们不会贬低任何东西。 这不是伪装。 伪装非常具体地意味着误导用户。

仅仅因为我们看不到内容并不一定意味着你在误导用户。”

伪装是垃圾邮件发送者用来向 Google 显示一组内容以欺骗 Google 对其进行排名并向用户显示完全不同的网页的一种技巧,例如病毒或垃圾邮件的网页。

伪装也是一种阻止 Google 抓取发布商不希望 Google 看到的 URL 的方法,例如附属链接。

Martin 的回答来自于是否将阻止外部资源视为伪装,他的回答是否定的。

阻止外部资源是如何产生问题的

Martin 然后继续描述阻塞外部资源如何成为一个问题:

“如果您的内容仅在我们可以获取这些资源时才显示,并且我们在呈现的 HTML 中看不到内容,因为它被 robots.txt 阻止,这仍然存在潜在问题。

那我们就不能索引了。 如果缺少内容,我们无法将其编入索引。”

谷歌的测试工具将揭示问题

Martin 然后继续展示发布者如何诊断阻塞资源是否存在问题。

“因此,绝对值得尝试我们的测试工具,以查看您希望在页面上看到的内容是否真的在页面上可见,即使某些 JavaScript 或 CSS 资源可能会被自动生成。

但一般来说,自动处理 JavaScript 或 CSS 资源本身并不是问题。 如果我们看不到内容,这可能是个问题,但从伪装的角度来看这很好,这不是伪装。”

他进一步澄清:

“如果内容是由 JavaScript 加载的,而我们无法加载该 JavaScript,因为它是自动生成的,我们将看不到它,这可能会出现问题。 但如果它是聊天框或评论小部件之类的增强功能……那么这不是问题。”

出版商问了一个技巧问题

这是一个有趣的答案,可以阻止与聊天框或评论小部件关联的外部资源。 阻止这些资源可能很有用,例如,如果它有助于加快 Google 的网站渲染速度,但是……

但是被问到的问题有一点皱纹: 您不能使用 robots.txt 阻止外部资源(在另一个域上)。

最初的问题是两部分的。

这是有问题的第一部分:

“如果你使用 robots.txt 来阻止外部 JS 文件/其他域中的 CSS 文件上的 JS 或 CSS……”

Robots.txt 无法完成这部分问题。

谷歌的开发者页面提到了这个关于 robots.txt 的主题:

“它对同一主机、协议和端口号上所有子目录中的所有文件都有效。”

该问题被忽略的是 robots.txt 仅使用相对 URL,而不是绝对 URL(站点地图的位置除外)。

相对 URL 意味着 URL 与带有链接的页面“相对”。

在 HTACCESS 文件中,所有 URL 如下所示:

/file-1/example

这就是绝对 URL 的样子:


因此,如果您不能在 robots.txt 中使用绝对 URL,那么您就不能使用 robots.txt 阻止外部资源。

问题的第二部分在技术上是正确的:

“……或者如果其他域阻止了它们,那么用户会看到与 Googlebot 不同的东西,对吧? 谷歌会不信任这种页面并对其进行降级吗?”

外部资源经常被其他站点阻止。 因此,从这个方向来看,问题和答案更有意义。

Martin Splitt 说,阻止这些外部资源并不是伪装。 如果您不使用 Robots.txt,则该声明是正确的。

这可能就是马丁所指的,但是……

但这个问题专门针对 robots.txt。

在现实世界中,如果希望使用 robots.txt 阻止外部资源,那么许多人会转向伪装。

Cloaking 的名声不好,而且有充分的理由。 但事实是,并非所有的伪装都是坏事。 例如, Yoast 有一个关于隐藏附属链接的教程, 例如。

某些形式的隐藏可能是阻止与页面呈现方式无关且符合 Google 建议的资源的一种方式。

在此处观看 Google JavaScript SEO 办公时间:

给TA打赏
共{{data.count}}人
人已打赏
WordPress 教程

如何成为WordPress开发人员,并在2022年闪耀

2022-8-12 23:12:35

WordPress 教程

如何在WordPress网站上创建投资组合部分

2023-3-20 18:50:04

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
搜索