正确使用JavaScript防止被搜索引擎惩罚

独立开发者9年前 (2013-11-30)SEO优化592

在使用javascript进行网页样式的控制时,会出现两个缺点,一是对用户有要求,有可以用户的浏览器禁用或者不支持javascript,导致想给用户展现的内容不能体现出来;二是可以会引起搜索引擎的误判,搜索引擎可以看到,但是用户却看不到,导致被惩罚。

在早几年前,就有黑帽seo者利用javascript进行作弊,利用display:none的CSS属性达到对用户隐藏关键词,而搜索引擎却是可见的,虽然现在很多SEOer们都知道这点,但却总是在无形中制造了这种特征,以致被搜索引擎惩罚。

正确使用JavaScript

当然这里并不是说不可以用javascript ,合理使用javascript是增加用户友好度的一个方法。我们先来看一个使用不当的例子。

CSS

.hide {display:none}

XHTML

<div class="display">

<a href="#" onclick="showText();">显示</a>

<div class="hide">珠海seo教你,这段文本是需要用户浏览器支持的,否则可能会使搜索引擎认为故意对用户隐藏内容。</div>

</div>

除了上面说的可能性外,这段代码还有个缺点就是javascript代码混合到了html结构中,应该将onclick方法放到外部的的js文件中,达到结构和行为分离的目的,让网页以渐进式的方式加强式和行为。

避免搜索引擎惩罚

第一步,为了创建更加适合搜索引擎和用户的友好页面,先创建一个HTML文件,将js文件和css文件放在外部,并使用一点友好的名称来确定被操纵的div

<div class="display-box">

<div class="expand">珠海SEO,一致力于搜索引擎电子商务营销!</div>

</div>

<div class="display-box">

<div class="expand">珠海SEO,二致力于网站建设,软件系统架构!</div>

</div>

<div class="display-box">

<div class="expand">珠海SEO,三致力于网站运营!</div>

</div>

同一个文件,来看我们如何实现渐进式设计。

第二步,首先注意到网页中没有链接使DOM对象显示和隐藏,但是在头部有一个css文件

.expand {display:block}

.collapse {display:none}

第三步,是我们要待网页DOM元素加载完成后,使用js穿过页面,操纵想要的元素,这里我们通过一个方法,不过这个方法里首先要做的是判断用户是否支持javascript脚本,这里利用的是javascript的特性检测技术。

function expandCollapseBlocks(){

if(!document.getElementByTagName) {return;}

}

然后通过循环,将显示隐藏显示标签动态嵌入到网页中

var clink = document.createElement("a");

clink.className="close-box";

clink.href="#";

clink.innerHtml = "Expand";

divs[i].parentNode.insertBefore(clink,divs[i]);

接着给这个clink链接标签加上行为

clink.onclick = function(){

var displayBox = this.parentNode.getElementByTagName("div")[0];

if(this.innerHTML=="Expand"){

this.innerHTML = "Collapse";

displayBox.className= "expand";

}else{

......

}

};

第四部,也是最重要的一点,是将javascript脚本放到</body>标签之前,保证浏览器加载我网页元素后,Javascript才会去操纵页面。

window.onload = expandCollapseBlocks;

使用这种渐进式的方式,正确的架构HTMl,合理的使用Javascript,避免被搜索引擎处罚。

相关文章

最全的seo作弊手法

最全的seo作弊手法

作为专业的SEO人员,我一直反对黑帽SEO,反对SEO作弊行为,始终提倡白帽SEO,因为急功近利采取一些极端的手段,是不可取是要付出巨大代价的,有太多的网站就因为采用了SEO作弊手段,最终导致K站。S...

不可忽视的NoScript标签

不可忽视的NoScript标签

做seo的过程中,除了注意img标签的在alt属性外,还有一个不可忽视的标记——NoScript。搜索引擎在解析javascript时,大部分情况下,很多用户的浏览器还是支持javascr...

SEO优化之使图片映射

很多SEOer都建议不要用图片做导航,尽量少用图片,原因大致就是图片不利用索引等等。但是当我在网络上看到很多优秀的网站后,发现事实上并非如此,网站因图片而美,网页设计者们避免不了的需要使用图片,只要图...

Google的AMP项目

Google的AMP项目

一直关注SEO行业的动态,最近Google的AMP项目已开始试运行,并且收效良好。什么是Google的AMP项目,AMP,Accelerated Mobile Pages,译意大致是”加速的移动页面”...

怎样写软文吸引百万流量

怎样写软文吸引百万流量

做SEO的都知道要写好一篇软文是多少重要,但是要真正将一篇软文写是不像一篇软件却是需要很深的造诣的。之前有人在百度贴吧发过这样一篇带预言性的帖子,预言2014年世界杯中国将会夺冠,在此立贴为证。虽然大...

百度site指令不在第一位是K站的预告吗

百度site指令不在第一位是K站的预告吗

在网上有很多站长质疑,百度site指令时,主站不在第一位了,是不是我的爱站要被K了?对于站长的这个问题,珠海SEO也纠结了很久,起初也认为有这个可能,不过在后来查阅了很多相关权威性的资料后,否认了这个...

评论列表

互传电商网
8年前 (2015-07-18)

烟水茫茫。难忘,文期酒会,几孤风月,屡变星霜。

无锡SEO
9年前 (2014-06-23)

学习了,谢谢分享

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。