当前位置:主页 > 潍坊网站设计 >

>JavaScript解析:让搜索引擎看到更真实的网页

发表日期:2012-07-03 14:44文章编辑:未知浏览次数: 标签:潍坊网站建设,潍坊网站制作,潍坊网站优化,潍坊   

长期以来,站长们选择使用JavaScript来实现网页的动态行为,这样做的原因是多种多样的,如加快页面的响应速度、降低网站流量、隐藏链接或者嵌入广告等。由于早期的搜索引擎没有相应的处理能力,导致在索引这类网页上往往出现问题,可能无法收录有价值的资源,也可能出现作弊。

  引入JavaScript解析的目的,正是为了解决上述两方面的问题,其结果也就是使搜索引擎可以更为清晰的了解用户实际打开该网页时看到的效果。比如有些网站会将用户评论、评分等信息从网页HTML中抽离,利用JavaScript甚至AJAX等方法在页面被打开的时候动态显示出来,早期的搜索引擎此时能处理到的页面内容就是缺失的,由此会进一步影响对该页面索引价值的判断。

  要引入JavaScript解析,需要考虑本身的设计与实现、解析速度和对系统其它方面影响等因素,本文通过一些典型的案例来分析如何设计并实现一套网页JavaScript解析系统,并简要介绍这样的系统对于搜索引擎其它部分的作用和影响。

 

一、发现页面链接
  一般来说,页面链接都是以HTML中的A标签形式存在,链接URL标记在href属性中,但实际存在着一些网站会选择更为“动态”的方式,较为常见的方式有两种:一种是动态写入或调整A标签,另一种是在用户点击的时候触发事件改变默认的链接打开方式。

1. 动态写入或调整链接标签
  抽象的说,网页要实现这样的效果,乃至后文描述的其它效果,与把大象放入冰箱极为类似,分为三步:找到要写入/修改的目标(找到大象),准备好要写入/修改的内容(打开冰箱门),执行写入/修改(把它放进去)。

  这三步操作映射到JavaScript上,就是先后调用三组标准的浏览器功能函数:页面元素定位、数据准备以及页面修改。那么,JavaScript解析的工作就是同样提供出这样的函数,随着被站长的JavaScript代码调用自然的发现相应的内容和行为。

  分析至此,所需实现的函数也就基本确定了,其中较为简单的包括:


document.getElementById // 定位
document.getElementsByTagName // 定位
document.getElementsByClassName // 定位
node.[firstChild/nextSibling/previousSibling/parentNode] // 定位
document.[createElement/createTextNode] // 创建链接
node.[appendChild/insertBefore/innerHTML=?] // 写入内容
element.getAttribute, element.setAttribute // 设置属性
element.href = ? // 设置属性
  至于要写入的内容,可能是以数组等形式保存在JavaScript种,也可能是使用AJAX动态加载。前者属于JavaScript语言的内置功能,此处不再复述;后者是一个单独的话题,会在后文专门讨论。

2. 点击时触发事件改变默认的链接打开方式
  页面这样做的原因不一,有的是为了隐藏链接,有的是为了实现弹出窗口,有的则是为了程序拼接URL,还有的是做检查看是否应该打开链接等等。但所有这些原因都对应着同样的实现方法:添加click事件。

  添加click事件的方法有三种:


将A标签的href属性设置为“javascript:func(…)”的形式
设置A标签的onclick属性,设置为onclick=”js_code” 的形式
调用事件绑定函数,如my_link_node.addEventListener(‘click’, func, false)
  支持这三种方法本身是较为简单的,需要注意的地方在于如何触发这样的click事件,以及如何在触发之后截获目的URL。

  对于触发事件而言,首先需要收集到所有可能的click事件,而后再依次触发。但对于每一个要触发的click而言,实际触发之前必须先检查其是否还存在,这是由于在其之前的click事件很可能已经把当前这个click删除掉了。

  要做到截获URL,首先要实现相关的页面跳转函数,既location.href = ?,window.open等。而后通过设置一系列标志,将本次点击和页面跳转关连起来,如此也就得到了目标URL。

二、动态页面内容
  页面动态内容是一种提升页面加载速度、增强网站技术灵活性的手段,可以将那些会改变的内容(如评论、评分等)抽离,使页面分为静态和动态两部分:静态内容可以使用缓存等方法加快页面显示速度、降低网站流量;动态内容则有格式简单好生成的优势,同时也能节省流量

  另一方面,动态内容也是加载广告和内容作弊的重要方法,最常见的就是写入iframe,这对于早期搜索引擎而言有极大的隐蔽性。

如没特殊注明,文章均为创想网络原创,转载请注明来自我站www.wfzwz.com!
返回列表
热门推荐文章

如何应对网站排名下降的问题

潍坊seo网站优化万变不离其宗

潍坊做网站seo注意的10条事项

2013年电子商务的SEO改怎么做

潍坊网站设计常犯的二十个错误

潍坊哪里有高质量的网站建设

网站设计分析:根据用户的固有习惯来设计

Div+css网站设计布局方式对SEO的影响有哪些

2013年网站设计趋势的预测

网站设计:Web流程图的绘画指南

如何做个真正的设计师

潍坊网站设计-瀑布流布局浅析

选择决定距离 SEO服务赢在起点

SEOer必修课:数据统计与分析

关于外链的一些知识

JavaScript解析:让搜索引擎看到更真实的网页

更新是保证网站seo的前提

用户体验分析:从排队等待谈进度条设计