Google宣布抓取CSS和JavaScript后,我们是否应该修改Joomla robots.txt?


8

收到了来自Google的公告:http : //googlewebmastercentral.blogspot.in/2014/10/updating-our-technical-webmaster.html

它指出:

为了获得最佳的呈现和索引编制效果,我们的新指南指定您应允许Googlebot访问网页所使用的JavaScript,CSS和图像文件。这样可以为您的站点提供最佳的呈现和索引。禁止在您网站的robots.txt中抓取Javascript或CSS文件会直接损害我们的算法渲染和索引您的内容的效果,并可能导致排名不理想。

默认情况下,Joomla的robots.txt文件不允许使用:

Disallow: /administrator/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /logs/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/

请告知,根据Google的公告,我们是否会从robots.txt文件中删除以下项目?

Disallow: /components/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/

根据基于Joomla的网站的公告,这是推荐的建议吗?


为什么不放弃,robots.txt因为没有人(现在Google一直在要求您不应该禁止的东西甚至没有搜索引擎)也将遵循它?
2014年

相关(不可重复):Robots.txt-CSS允许或禁止
2014年

Answers:


3

老实说,最好从robots.txt中删除所有内容。据我所知,Joomla中的所有PHP文件都包含以下行

defined('_JEXEC') or die;

这意味着,如果您直接在浏览器中加载PHP文件,您得到的只是一个空白文件,搜索引擎将忽略该文件。(除非您直接将它们链接起来,否则它们绝对不应该碰到这些。)

将这些目录中的某些保留为阻塞状态的问题是,某些组件和模块将其CSS / JS文件保留在相应的目录中,而不是保留在首选的媒体或图像文件夹中。

因此,没有理由阻止Google的任何Joomla文件。


谢谢。但是-我确实看到-通过网站站长获取页面时-尽管不允许所有这些文件夹,但获取效果很好。删除禁止对页面有好处吗?
Gag 2014年

1
@Gagan我不确定,但网站站长工具中的获取工具可能会忽略robots.txt。
DisgruntledGoat 2014年

1
GWMT两者都做。当您以Google身份获取时,它将向您显示Google如何看待您的网站以及用户如何看待您的网站。@DisgruntledGoat是正确的,没有必要阻止任何东西。
布伦特·弗赖尔

2

除了其整体使用/不足之外,robots.txt在一个管理良好的Joomla网站中,带有“良好的”第三方扩展名-唯一应包含CSS,JS或图像的位置是:

/images
/media
/templates

以及它们的子目录

因此,您可以从中删除这些内容robots.txt



1

如果您在WMT中以Google身份获取网页时看到的页面没有错误,则可能还不错。但是,将来,您可能会升级网站上的某些内容,这将需要某些被阻止的文件夹中的某些脚本/ css。因此,我认为允许搜索引擎搜寻所有包含CSS / JavaScript的文件夹可能会更好。


1

最新版本的Joomla不再阻止/media//templates/文件夹:

User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

并非所有扩展名都遵循放置CSS和JS文件等的准则,因此一个好的解决方法是允许Google访问这些文件,而不管它们在哪里。

您可以通过在robots.txt文件的开头插入几行来实现此目的,如下所示:

#Googlebot
User-agent: Googlebot
Allow: *.css
Allow: *.js

User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

编辑:

感谢@ w3dk和@Stephen Ostermiller的反馈!你太对了。最好执行以下操作:

User-agent: *
Allow: *.css
Allow: *.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

不幸的是,这似乎并没有达到预期的效果,因为更长(更具体)的规则会覆盖较短的规则,并且忽略允许行。允许线是否跟随禁止线,反之亦然似乎没有任何区别。

我似乎可以解决此问题的唯一方法是,通过在网站站长工具中对其进行测试时似乎可以进行以下操作:

User-agent: *
Allow: /************************************************************.css
Allow: /************************************************************.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

编辑2-最佳解决方案:

好的,所以我做了一些研究,并在https://stackoverflow.com/a/30362942/1983389找到了答案。

这显示在所有网络爬虫最正确,最支持的解决方案是像以下(允许访问*.css*.js文件在/bin/cache/installation/language/logs,和/tmp文件夹可能还有一些其他文件夹的意义不大):

User-agent: *
Allow: /administrator/*.css
Allow: /administrator/*.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Allow: /cli/*.css
Allow: /cli/*.js
Disallow: /cli/
Allow: /components/*.css
Allow: /components/*.js
Disallow: /components/
Allow: /includes/*.css
Allow: /includes/*.js
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Allow: /layouts/*.css
Allow: /layouts/*.js
Disallow: /layouts/
Allow: /libraries/*.css
Allow: /libraries/*.js
Disallow: /libraries/
Disallow: /logs/
Allow: /modules/*.css
Allow: /modules/*.js
Disallow: /modules/
Allow: /plugins/*.css
Allow: /plugins/*.js
Disallow: /plugins/
Disallow: /tmp/

2
这将允许Googlebot抓取所有内容,这与原始robots.txt文件大不相同-这是出于意图吗?(但是,这与简单地包含Disallow:在该User-agent: Googlebot组下是相同的,这将更易于
理解

是的,目的是允许Google访问网站上的所有CSS和JS文件。
尼尔·罗伯逊

2
不只是CSS和JS文件,还包括网站上的所有文件。(?)
MrWhite White'1

1
w3dk是正确的。如果您为Googlebot添加了特殊部分,则必须复制该部分中的所有现有规则。您建议的robots.txt文件将允许Googlebot抓取,/logs/同时阻止其他bot这样做。
斯蒂芬Ostermiller
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.