最近很多朋友的站都有被有被挂上经历,一个个被弄得苦不堪言,却又无处报怨。唉,现在的挂马真是越来越牛了,杀起来也煞费苦心啊。我在帮朋友处理挂马的过种中无意中在代码里发现了一个很陌生的CSS写法“left:expression(1-900);top:expression(3-999);”,而且在其下面有无数个链向其它网站的链接,在浏览器状态下查看,居然是什么也没有发现。我马上想起了一个熟悉的概念:[strong]隐藏链接[/strong]。
不能不说这是一种高明的写法,至少我是在看到后才知道expression可以这样用,当然你也可以笑我才疏学浅。我们都知道expression的only IE CSS属性,具休来看一下官方定义:
IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和Javascript表达式关联起来,这里的CSS属性可以是元素固有的属性,也可以是自定义属性。就是说CSS属性后面可以是一段Javascript表达式,CSS属性的值等于Javascript表达式计算的结果。 在表达式中可以直接引用元素自身的属性和方法,也可以使用其他浏览器对象。这个表达式就好像是在这个元素的一个成员函数中一样。
通过定义,我大概知道了这个属性可以比喻成JS的函数,而我们又知道搜索引擎现在是无法读取JS的,那么我们是否可以判断这种隐藏链接的方法是可行的呢?另外,因为其是only IE CSS属性,就是在说其它浏览器下面它是没有效果的,也是就是说隐藏将会现形。如果是这样子,搜索引擎就更加不能认定这是一种隐藏链接作弊的方法了,你认为呢?
因为,谈到了SEO中有关隐藏链接内容,这里就来总结整理一下常用的隐藏链接的方法以及其对SEO的影响。
1、Display:none
这应当是最常见的CSS隐藏链接的用法,个人认为危险系数很高,运用的时候一种要合理慎重。
2、Text-index:负值
这是CSS布局的时常常会用到的属性,通常是对用背景图片来做栏目名称时候的一种补充写法。举个简单的例子,比如为了美观,我是想用一张设计好了的图片来显示
<h2>标签,那么这个时候在CSS里我就会这样给H2写样式:{background::url(*.gif);text-index:-9999;}。所以从这个例子的角度来说,合理的应用这种方法一种正常的网页布局行为,不会受到搜索引擎的惩罚。注意是合理!
3、left:expression(1-900);top:expression(3-999)
这个上面以常说清楚了,不重复。放个例子上来:
<div style="position:absolute;left:expression(1-900);top:expression(3-999);"><a href="http://www.lonmen.net/">SEO</a> </div>
4、Line-hight:1px,font-size:0,color=bgcolor
这三种作法我就不多说了,因做就等于死。当然,如想做试验还是可以用来耍一把的。
5、JAVAScript
应当说这目前普通认为比较安全的方法。link-builder.cn有一篇专门介绍过,这里把方法记录如下:
1、代码一
<script language=”javascript” type=”text/javascript”>bdocument.write(”<div style=’display:none;’>”);</script></p><div><h1><a href="”http://link-builder.cn/blog/”">SEO</a></h1></div><script language=”javascript” type=”text/javascript”>document.write(”</div>”);
2、代码二
<div id=”linksID”><a href=”http://link-builder.cn/blog/”>SEO</a></div><script>document.getElementById(”linksID”).style.display=”none”</script><p>
最后我想说,这里关于隐藏链接方法本人均没有专门实验过,请各位自行把握。另外,龙门没有要倡导黑链的意思啊,只是想进一步探讨隐藏链接的合理运用及搜索引擎优化的处理。