249045439
网站优化

SEO排名优化浅谈AngularJS 框架

发表日期:2023-07-09   作者来源:www.huijianghua.com   浏览:0   标签:    

伴随网络的快速进步, 用传统静态页面和Javascript技术开发一个大型网站的困难程度愈加高。而谷歌推出的AngularJS则是基于传统Javascript的一个MVC框架,开发者可以通过它来撰写现在主流的单页面应用。它克服了HTML在构建大型Web应用上的不足,用HTML作为模板,简化应用组件,借助依靠注入和数据绑定,使开发职员可以更有效地进行一些大型网站与APP的开发。为了使AngularJS开发的页面支持搜索引擎爬虫, 需要对此单页面模式进行网站SEO(Search Engine Optimization,网站优化)。现有对于AngularJS单页面的网站优化方案的研究和有关文献较少, 所以本文还结合了有关社区、平台等一系列的互联网资源。本研究对AngularJS单页面的动态数据没办法被爬虫分析到的问题提出了非实时和实时静态化的两种基于JavaEE拦截器的网站优化方案。1单页面静态化方案1.1方案1、非实时的静态化智能辨别爬虫机器人返回按期更新的缓存页面的非实时静态化网站优化原理。具体分为:①在项目部署或者在设定的一段时间后,对页面进行后台的获得、遍历,通过配置文件设定的遍历深度开始对首页进行深度的链接获得与转义,将每个链接对应的页面交给下一步处置,直到所有遍历结束;②对遍历的页面进行网站优化处置, 生成或更新静态HTML缓存放入静态页面池,即配置文件设置的缓存路径,并在遍历结束后准时对无效链接的缓存进行清理;③互联网请求第一通过拦截器(网站优化Filter),拦截器依据HTTP请求的请求头中包括的User-Agent等参数判断此请求是不是为爬虫机器人的请求,假如不是则返回正常的页面用于AngularJS内部渲染显示, 反之则通过URL转义查看并返回对应的网站优化缓存页面给爬虫机器人用于抓取关键词。因为此方案是非实时的,所以它适用于较为稳定且对于搜索引擎的实时性需要不高的网站。比如政府办公网站,它每天更新的内容不多且不会频繁地修改页面内容,则可以每天对服务器的静态页面进行更新,即可满足每天更新搜索引擎词条的需要。1.2方案2、实时的静态化方案一为非实时的静态化方案, 然而它不会非常不错地适用于需要常常更新数据且对搜索引擎实时性需要较高的大型门户网站。比如大型的新闻网站, 网站常常会发布新的文章或者是通知, 并且需要搜索引擎可以尽快地将新闻的链接和关键字加入索引,那样频繁更新缓存页面的服务器开销会非常大,并且缓存文件所占的空间也会愈加大, 因此针对此种状况提出了实时的静态化方案。请求页面时即时生成定时销毁的静态页面缓存,爬虫机器人请求时, 第一查找是不是存在缓存与页面缓存是不是失效,假如缓存有效则返回静态池中的静态页面,反之则生成新的静态页面或者更新静态池内的静态页面, 修改后的实时静态化方案原理..同时,此实时静态化方案也改进了页面的缓存方法,它对于不同缓存页面的关键词设置不一样的清理网站权重(即更新频率高低,需要人工设置)。 较为稳定的页面比如首页菜单、公司信息等展示页面可以设定较小的网站权重值;更新比较频繁的页面,比如新闻通知、发布消息的大全页则可以设定较大的网站权重值。网站权重越小的静态页面的缓存时间越久,可以保存一天甚至是一周,如此可以大幅节省频繁生成此类缓存的资源浪费;而网站权重越大的静态页面因为更新频繁,所以缓存时间越短,考虑到搜索引擎的爬虫机器人不会实时抓取信息,而是间隔一段时间(通常为四至五小时)才会重新抓取,因此可以在两到三小时或更短的时间后清理此类缓存。这里的缓存也会会清理失败,所以在判断缓存是不是存在的同时也需要检查静态页面的失效时间, 防止过时的旧页面缓存影响新发布信息的检索。方案还规定了当网站重新部署后强制清理所有缓存。2单页面静态化方案达成及测试2.1达成步骤静态化方案的达成主要分成配置拦截器与拦截器达成两步。第一将AngularJS的Web项目加入JavaEE的webapp文件夹中,设置WEB-INF / web.xml文件,确定外部工具路径、缓存路径、遍历深度、拦截规则等参数,下面为少量配置代码:针对方案二的实时静态化网站优化方案的拦截器网站优化Filter的达成原理拦截器第一判断请求的发送方, 假如不是爬虫机器人则直接返回正常的页面,反之则返回网站优化实时静态化页面。针对爬虫机器人的处置步骤主要为:第一进行URL转义,爬虫请求剖析,记录URL并查看遍历深度(没此项参数则用配置文件中的默认值);再将URL进行二次转义,查看缓存文件;假如存在缓存文件并且没失效,则直接返回网站优化静态页面;假如缓存文件没有,或者缓存已失效并未准时销毁,则先销毁缓存,再进入网站优化处置器;网站优化处置器借助第三方工具PhantomJS,它是一个以WebKit为基础的服务器端Javascript的API,不依靠于浏览器,全方位支持各种Web标准,比如页面文档对象模型(document Object Model,DOM)处置等对动态页面进行网站SEO;最后生成缓存页面, 保存文件至缓存文件目录(缓存池),返回网站优化静态页面。2.2测试与剖析测试环境的系统为Windows Server 2008 R2, 部署平台为Tomcat 7.0.70,端口8083为实时静态化方案达成后的网站访问入口,端口8084则为原始的AngularJS网站的访问入口。第一用浏览器访问网站, 拦截器判断出请求为浏览器请求,并在控制台显示浏览器版本,浏览器可以正常浏览网页;之后再用模拟百度爬虫机器人的工具分别对原始网页和方案达成后网页进行爬虫,并显示抓取的页面信息。表明了爬虫机器人只能抓取AngularJS单页面中的部分关键词,包含标题、页面底部描述等信息;而用实时静态化方案后,拦截器辨别出了爬虫机器人然后在控制台显示,同时返回了网站优化静态页面, 并且表明了网页中的动态数据已经可以被普通的爬虫机器人抓取到,并显示有用的关键词,包含发布通知、网站信息等主要标题与信息。3结束语本文提出了非实时和实时静态化的两种网站优化方案,它们均可以达成AngularJS单页面网站优化静态化的预期目的,不过它们也存在着一些不足。方案一针对的是较为稳定且对搜索引擎检索实时性需要不高的大型网站,比如政府办公网站等。它可以按期对网站中的静态页面进行更新, 但对于实时性需要较高的门户网站,它会频繁地重新遍历所有静态页面,大大增加服务器的重压, 生成所有缓存的时间和服务器缓存页面的数目也会相应增加。方案二针对的则是对搜索引擎检索实时性需要较高的大型门户网站,比如新闻网站等。它尽量增加缓存页面的实时性并且节省缓存文件的空间,但对于实时性需要不高的网站,它会频繁地销毁再生成无需实时更新的页面缓存, 这也会浪费服务器的部分资源。因此,需要依据目前网站对于搜索引擎检索实时性的需要来选择合适的方案。同时, 本文的重点在于对AngularJS单页面的网站优化静态化的方案与达成,所以对于关键词的优化还可以做进一步的研究。最后,网站SEO是对于整个系统的一个协同优化的过程,它由内部设计原因和外链原因一同影响,网站优化其实只不过一个辅助行为,对于一个网站更要紧的是其内容的全方位与革新。

如没特殊注明,文章均为优果网 原创,转载请注明来自http://www.huiguohuo.com/news/youhua/199.html