飘易开发一套小型网站顺序, 前两天。为了良好的用户体验,不得不隐藏局部内容以达到页面简洁的效果;顺序采用了 CSS+P 设计,自然地想起了颇具争议的 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; 这样的隐藏代码,否利用它来对搜索引擎作弊有一个很简单的判断方法:隐藏的内容如果搜索引擎看得到用户也看得到为正常使用隐藏;如果用户看不到而搜索引擎看得到就可以定性为作弊。像上面提到网易、新浪等网站使用的隐藏效果就是完全正常的使用了隐藏是为了更好地用户体验,更好的利用有限的空间,搜索引擎也不会机械到一刀切的地步。