前两天,飘易开发一套小型网站程序,为了良好的用户体验,不得不隐藏部分内容以达到页面简洁的效果;程序采用了CSS+DIV设计,自然地想起了颇具争议的css隐藏代码:Display:none;,为什么说有争议呢?因为Display:none;是一把双刃剑,以前被过多地用于seo作弊,所以搜索引擎对它比较敏感。
作为CSS代码的表现样式DISPLAY本身并无过错,许多大型网站的导航系统,为了实现简洁而良好的用户体验,都使用了Display:none;隐藏部分内容,当用户点击了某个链接、按钮时,再通过js代码把隐藏的内容显示出来。
在站长界流传甚广的PHP程序DEDECMS的默认模板的首页就有这样的效果:当鼠标指向对应的div块时,在下方就自动显示相应的内容,而通常情况下,只有一个模块的内容显示,其他模块的内容是隐藏的。同样,这样的效果在163、新浪、qq等等大型门户网站上也大量地被使用了。比如网易的首页的其中一个导航如下图:
不明白的可以直接打开上面这些大型网站的首页,打开源代码,搜索“Display:none;”,就会发现他们使用了大量的css隐藏代码。很显然,他们使用这样的css代码绝对不是为了对搜索引擎作弊,而是为了在有限的空间里给用户展示更多的内容,提高了用户的体验,节约了屏幕空间。搜索引擎当然也不会把这样的行为定性为网站seo作弊。
隐藏内容的css方法一般有三种:1、css代码Display:none;;2、visibility: hidden 可见性为隐藏;3、overflow:hidden设置。其中,第一种和第三种方法曾经大量地被使用在SEO作弊上,很多早期有着黑帽SEO历史的SEOER们应该都知道这样的方法。
当然,搜索引擎也不是傻子,在作弊与反作弊的较量上几乎就没有停止过;如果现在再使用上面的隐藏方法来作弊的话,比如在隐藏内容里堆叠大量的关键词,大量的链接等,搜索引擎K你是没商量。
其实,飘易看来,是否正常使用了Display:none;这样的隐藏代码,是否利用它来对搜索引擎作弊有一个很简单的判断方法:隐藏的内容如果搜索引擎看得到,用户也看得到的为正常使用隐藏;如果用户看不到,而搜索引擎看得到就可以定性为作弊。像上面提到的网易、新浪等网站使用的隐藏效果就是完全正常的,使用了隐藏是为了更好地用户体验,更好的利用有限的空间,搜索引擎也不会机械到一刀切的地步。
如果大家对本文讨论的内容也有兴趣,欢迎留下您的评论。