- N +

关于js、css和图片robots.txt屏蔽的问题

文章目录 [+]


    不少SEO工具中常会遇到一个问题:网站的JS文件、CSS样式表文件、图片是否应该在Robots.txt中添加到Disallow,禁止搜索引擎爬虫程序(蜘蛛程序)抓取。SEO祥子在这方面倒是的非常确切的答案:完全基于SEO的思维,站在搜索引擎优化的立场上,JS、CSS、图片目录或文件是不应该被禁止抓取的!


    在搜索引擎技术的初级阶段,网站完全屏蔽JS、CSS、甚图片都是没有问题的。 在为在早期,搜索引擎主要是文字内容索引为主。媒体文件包括图片,基本上被搜索引擎遗弃,所以无需考虑图片优化。


    读者从上文中应该注意到,祥子在文中提到“在搜索引擎技术的初级阶段”,站长与SEO可以忽略搜索引擎对JavaScript、CSS、甚至图片的抓取。言外之意,在目前搜索引擎越为越智能,算法越来越完善,对语义、媒体(包括图片甚至FLASH)、脚本(JS)、网页样式的理解能力越来越强,搜索引擎越来越有需求去分析理解这些内容。


    为什么不能在Robots.txt中禁止搜索引擎对JS、图片、样式的抓取?

      1. 图片:众所中知,多媒体内容已经成为众多互联网用户搜索的主要维度之一,这无疑确定了“图片搜索”的需求。为了满足用户对图片信息的搜索需求,搜索引擎必然要迎合用户,提升对媒体的分析能力。而图片优化自然也成为SEOer重要的工作内容之一,所以在内容维护中必需考虑搜索引擎对图片的理解。那么最基本的一项:必需让搜索引擎能够抓取图片,所以在Robots.txt中,自然不能屏蔽图片目录或图片文件。部分搜索引擎甚地已经试图而且能够解析Flash文档里的内容。至于如何优化图片,不是本文重点,不在此獒述。


    2. CSS:为什么要在Robots.txt中不能禁止对样式表文件的抓取?相信多数站长与SEO对于没有确切的把握。因为除外贸行业SEO外,在中国其它几乎所有网站只在乎百度搜索引擎优化,而百度对此几无提示。但是祥子根据对数个网站的服务器WEB日志的跟踪分析发现:不管你是否在Robots.txt中禁止对CSS文件的抓取,百度仍然会高频抓你的css文件。 为什么?因为,包括百度在内的所有搜索引擎,必需要根据样式表来分析你的网页和用户体验性是否友好,网页前端是否规范,网页是否适合移动端浏览。还有一点更重要的,在搜索引擎与黑帽灰帽SEOer的博奕中,搜索引擎必需从样式中分析网站是否存在一个重要的作弊行为:隐藏文本!所以,CSS文件不应该在robots.txt文件中被禁止。


    3. Javascript脚本文件:这是SEOer产争议之处。JS多用于一些页面效果或作为跟踪脚本等,看起来似乎不需要搜索去抓取分析。但是事实上,基于与CSS文件相同的理由,搜索引擎有必要去解析JS内容与JS呈现的效果。因为JS要用于控制CSS的效果,也可以用来显示一些非HTML文本的内容。根据祥子的经验,谷歌对JS的解析非常强大,而百度稍弱。所以做网站优化,尤其是外贸网网站做谷歌优化,最好不要在robots.txt中禁止对js文件的抓取。


    通过robots.txt允许搜索引擎擎对图片、CSS、JS文件的抓取会带来什么问题?

      从上文祥子讲述中,大家应该能理解:不能在robots.txt中禁止对图片、CSS、JS文件的抓取,但是,如果允许的话,会带来什么问题呢?要回答这个问题,然后离不开对网站日志文件中搜索引擎抓取行为的分析。经常查看服务器日志的专业SEOer们会发现,搜索引擎对这些文件,尤其是CSS与JS文件的抓取频率非常高!这是因为CSS与JS文件基本上都是公用的引用文件,几乎所有页面都会使用相同的JS与CSS文件,这会导致搜索引擎爬行到这些文件的频率很高。带来的问题就非常显则易见:在Robots.txt中允许对CSS与JS文件的抓取,看起来非常消耗服务器性与带宽。


     结论:是否应该在robots.txt中允许对CSS、JS、图片目录的抓取?

      答案非常用确:应该!除非你的网站不太在乎搜索引擎排名、忽略图片搜索流量!对于众多做百度优化的同行们来说,你禁止或者允许,正常情况下百度蜘蛛程序都会抓取这些文件,那你禁止了还有鸟用??退一步讲,如果百度遵守了你的robots规则而忽略这些文件的抓取,但是百度有可能因为无法确认你是否存在非自然的隐藏文本而对你的网站进行程度的降权,你是否能够承受这种后果?


    附:谷歌对Robots.txt关于图片、JS、CSS是否应该禁止的官方说明:

      为了取得最佳的呈现和索引效果,请始终允许 Googlebot 访问您网站使用的 JavaScript、CSS 和图片文件,以便为 Googlebot 呈现普通用户所看到的网站。如果您网站的 robots.txt 文件禁止抓取这些资源,将会直接影响我们的算法呈现您的内容及将其编入索引,进而导致您的网站排名降低。


    建议采取的措施:

      使用 Google 网站站长工具中的“Google 抓取方式”功能,确保 Googlebot 能够抓取您的 JavaScript、CSS 和图片文件。此功能可让您确切了解 Googlebot 所看到的内容以及其如何呈现您的内容,有助于您找出网站上存在的许多索引编制问题并进行修复。


    经常有站长咨询说百度蜘蛛频繁抓取网页的js文件和css文件,想屏蔽百度蜘蛛不让百度蜘蛛抓取这些文件,但是很多站长有担心如何屏蔽了百度蜘蛛抓取css文件和js文件是否会对网站排名产生不利影响,于是这些站长很纠结。

    从百度站长优化指南我们就可以指定,百度排名不会考虑js文件或者css文件,也就是说js文件和css文件不参与百度排名,但是大量站长反馈,虽然禁止百度抓取js和css文件,但是百度蜘蛛还是照样抓取不误,毫无疑问,它们是用来支撑网站整体上的功能性和美观性,任何网站都需要js和css。


    通过robots.txt文件实现禁止百度收录

    我们看看其他站长对禁止百度蜘蛛收录js和css的看法。

    1、谷歌管理员指南说明

      阻止你的CSS和js文件可能会影响你在谷歌的搜索排名,所以建议robots.txt不要禁止JS和CSS文件访问。

    谷歌索引的建议:

      网页加载速度对用户和索引依然非常重要。

      屏蔽JS和CSS,谷歌索引将无法向普通用户那样读取页面。

      如果JS太复杂,渲染页面可能不正确。

    2、夫唯 - SEOWHY创始人

      我认为“蜘蛛抓取一个网站的时间是一定的,限制了某文件被抓取,则它又更多时间去抓取别的网页”

      如果不成立,则完全没必要屏蔽CSS和JS了。

      如果成立,那要屏蔽的就不止CSS和JS了,很多没实质意义的文件都值得屏蔽。

    3、 冲浪网站优化网:我们不建议禁止百度收录js或者css文件,毕竟百度抓取这些文件对网站整体性能影响微乎其微,如果禁止百度抓取js或者css,可能会影响百度快照js特效和css样式得不偿失,建议不要这样做。

    本文转载自seo祥子博客

作者:huchao
未来永远在它该来的路上,能够把握的只是此时此刻——万折必东
返回列表
上一篇:
下一篇:
评论列表 (暂无评论,共817人参与)参与讨论

还没有评论,来说两句吧...

发表评论中国互联网举报中心

快捷回复: