这一两天越来越多人收到一封来自Google Webmaster的网站通知邮件「Googlebot 无法存取网站上的 CSS 和 JS 档案」。因为JS和CSS一般来说都是被robots.txt列为禁止索引档案,档案仅有网站JS特效语法或者是CSS网站样式表,对搜寻来说这并没有意义,因为搜寻注重的是文字内容或者是网页HTML Tag。不过仔细去爬文后会发现Google早在2014年10月就告知索引结果开始变动,将会纳入CSS和JS的索引,请网站经营者不要挡住他。

以WordPress的网站来说,一般预设索引会挡住「wp-admin」、「wp-includes」,因为这些都是系统档案,没有必要提供给搜寻引擎检索,若开放检索一来没有意义、二来是增加网站的索引负担与不必要的流量与频宽的消耗。不过既然越来越多人收到来自Google网站管理员的通知信,而且还告知说「如果禁止 Google 存取这些资源,会导致您的网站无法达到最佳排名。」,使得越来越多人担心。

那要解决Googlebot 搜寻机器人索引网站的CSS和JS档案也不是很困难,只要我们改写主机上的robots.txt就可以解决这样的Google搜寻问题。当然解决方法其实Google在邮件中也有告知该如何处理,仅需要透过Google 模拟器(Fetch as Google),模拟后抓出问题,再针对有提出警告的JS做robots.txt的索引调整,就可以解决问题。

[SEO优化] 解决Googlebot 无法存取网站上的CS

▲ Googlebot 无法存取网站上的 CSS 和 JS 档案。

Google搜寻蜘蛛(机器人)到底是否会因为网站CSS和JS封杀,而让网站排名降低?关于这点有一种可能,由于Google开始重视网站使用者速度体验,把JS和CSS纳入索引读取,一方便可能可以模拟出网站样式并评估网站的配置状况,二来可以因为JS和CSS的读取,更完整的得知网站的整体网页载入速度,透过这个载入速度因子,来给网站SEO分数。

Google 很多SEO规则的变更,近年来可以看到从不要用Meta keywords、取消PageRank更新、SSL的网站可加分1%到现在网站须开放索引JS和CSS等,SEO的优化规则已经从早期的认知变成新时代的系统规则,所以对于这次的CSS和JS的修正,大家可以自行决定是否修正或者是保留原先。而香肠自己的修正做法将会针对Google开放JS和CSS索引,其余搜寻引擎则封杀不让他们索引JS和CSS。

如何检查自己的robots.txt档案?

一般网站如果没有自己加入robots.txt,网站可能预设是支援所有内均可以索引与收录,所以很多人在网站上乱丢一些公司重要文件会被搜寻到,就是这个关係,加上robots.txt,就可以避免正规搜寻引擎去收录,但是暴力搜寻引擎可能就不一定会根据这些规则收录网站。

检查自己网站的robots.txt规则,其实仅需网址列造访一下,就可以看到有没有这个了。在WordPress网站,很多可能是透过虚拟化的产生,也就是透过一些SEO外挂产生这个档案,实际上在FTP上并不存在,所以修改上会比较困难。不过检查的时候不论是虚拟或实际有这个档案,造访网址都可以看到。

直接造访: http://你的网站网址/robots.txt

[SEO优化] 解决Googlebot 无法存取网站上的CS

为什幺网站有robots.txt但我无法修改robots.txt?

有些人会觉得奇怪,为什幺上面香肠说的检查网址怎幺有robots.txt档案,但是却无法修改?或者是FTP目录中却没有看到?就算建立这个档案并丢入,好像还是不太一样?那可能是你网站上安装的WordPress SEO外挂中,有启用了robots.txt的设定,以读取外挂设定为优先了。遇到这样状况,您得自行在网站后台检查个外挂的设定。

不过有时候更扯,那就是新手不知道却安装好多个SEO外挂,结果功能盖来盖去,相同功能启用好几次,造成你可能以为你关了A外挂的robots.txt设定以为弄好了,却不知刚好B外挂的设定因为A外挂关闭而启用,最终你还是失败。所以SEO外挂检查一下啰!

以香肠自己网站为例,因为Google XML Sitemaps外挂本身会启用robots.txt虚拟档案,所以把此勾勾取消后,就可以自己用笔记本新增robots.txt,自己写规则啰!

[SEO优化] 解决Googlebot 无法存取网站上的CS

Google 告诉你的修正检查方法

根据邮件内的通知,检查Googlebot为什会因为robots.txt对于网站的JS和CSS无法收录索引的状况,有三个步骤,首先须先透过Google模拟器找出封锁的指令。接着修正robots.txt档案,最后使用Google模拟器检查网站收录是否正常,就可以解决问题。

第1步  首先先进入Google Wemaster 网站管理员。(如果尚未设定请参考:申请Google网站管理员教学),一进入后可能会看到以下的警告讯息。

[SEO优化] 解决Googlebot 无法存取网站上的CS

第2步  接着点选左侧的【检索】→【Google 模拟器】,接着在右侧点选﹝撷取并转译﹞。

[SEO优化] 解决Googlebot 无法存取网站上的CS

第3步  接着转译完毕后下方会出现结果,点选后方时间进入查看。

[SEO优化] 解决Googlebot 无法存取网站上的CS

第4步  很快地你会发现奇怪Googlebot(Google搜寻蜘蛛)和你实际访客看到的网页并不同?这就是卡在CSS和JS档案被禁止索引,所以才会显示不同。Google就是希望你解决这个问题,才发出上述的Googlebot无法存取网站上的CSS和JS档案之通知。

[SEO优化] 解决Googlebot 无法存取网站上的CS

第5步  接续上一步骤往下滑,可以看到禁止索引的网址,只要解决这些网址就可以了,如果是站外连结可能就无法协助处理,先把站内的连结搞定就好了。

[SEO优化] 解决Googlebot 无法存取网站上的CS

第6步  如果你不知道如何修正,可以点选后方的「robots.txt测试工具」,Google网站管理员将会告知你这个档案无法收录是因为哪一段的robots.txt语法影响了。

[SEO优化] 解决Googlebot 无法存取网站上的CS

第7步  没错,原来是香肠设定了「Disallow: /wp-content/」的阻挡语法,因此只要取消它问题就可以解决了。

[SEO优化] 解决Googlebot 无法存取网站上的CS

第8步  香肠修改了原先的撰写规则,开放Google搜寻引擎可以读取网站上所有的JS和CSS档案,至于其他搜寻引擎则设定为禁止搜寻原先指定的目录(红色圈起来部分),这样就可以了。(请透过FileZilla连线到主机FTP,然后抓下robots.txt档案并修改。

[SEO优化] 解决Googlebot 无法存取网站上的CS

语法在此,请参考使用:

第9步  更新完毕后,上传到FTP上面覆盖,接着再次用Google 模拟器再次检查,点选﹝撷取并转译﹞。然后再点选下方的日期进入查看模拟状况。

[SEO优化] 解决Googlebot 无法存取网站上的CS

第10步  很快的,我们会发现Googlebot 撷取的网页和访客看到网页的两视窗模拟是相同的,那就代表你规则设定成功,Google的搜寻蜘蛛机器人可以正确抓网站的CSS和JS档案了。

[SEO优化] 解决Googlebot 无法存取网站上的CS

第11步  可能下方还有部分的档案无法正确被收录,这个还好,主要的JS和CSS解决就可以了,至于外部的CSS或者是JS我们可能无法控制,解决方式就是不理它、或者是连繫该网站管理员解决,又或者是不要使用即可。

[SEO优化] 解决Googlebot 无法存取网站上的CS

第12步  再次确认一下我们的robots.txt,是不是已经更新了呢?

[SEO优化] 解决Googlebot 无法存取网站上的CS