浅析AngularJS 框架的搜索引擎优化方案_第1页
浅析AngularJS 框架的搜索引擎优化方案_第2页
浅析AngularJS 框架的搜索引擎优化方案_第3页
浅析AngularJS 框架的搜索引擎优化方案_第4页
浅析AngularJS 框架的搜索引擎优化方案_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浅析AngularJS框架的搜索引擎优化方案随着互联网的飞速开展,使用传统静态页面和JavaScript技术开发一个大型网站的难度越来越高。而Google推出的AngularJS那么是基于传统JavaScript的一个MVC框架,开发者可以通过它来编写目前主流的单页面应用。它抑制了HTML在构建大型Web应用上的缺乏,使用HTML作为模板,简化应用组件,利用依赖注入和数据绑定,使开发人员可以更有效地进展一些大型网站以及APP的开发。为了使AngularJS开发的页面支持搜索引擎爬虫,需要对此单页面形式进展搜索引擎优化(SearchEngineOptimization,SEO)。现有对于AngularJS单页面的SEO策略的研究和相关文献较少,所以本文还结合了相关社区、论坛等一系列的网络资源。本研究对AngularJS单页面的动态数据无法被爬虫解析到的问题提出了非实时和实时静态化的两种基于JavaEE拦截器的SEO策略。1单页面静态化策略1.1策略一:非实时的静态化智能识别爬虫机器人返回定期更新的缓存页面的非实时静态化SEO原理。详细分为:①在工程部署或者在设定的一段时间后,对页面进展后台的获取、遍历,通过配置文件设定的遍历深度开始对首页进展深度的链接获取以及转义,将各个链接对应的页面交给下一步处理,直到所有遍历完毕;②对遍历的页面进展SEO处理,生成或更新静态HTML缓存放入静态页面池,即配置文件设置的缓存途径,并在遍历完毕后及时对无效链接的缓存进展清理;③网络恳求首先通过拦截器(SEOFilter),拦截器根据恳求的恳求头中包含的User-Agent等参数判断此恳求是否为爬虫机器人的恳求,假设不是那么返回正常的页面用于AngularJS内部渲染显示,反之那么通过URL转义查询并返回对应的SEO缓存页面给爬虫机器人用于抓取关键字。由于此策略是非实时的,所以它适用于较为稳定且对于搜索引擎的实时性要求不高的网站。例如政府办公网站,它每日更新的内容不多且不会频繁地修改页面内容,那么可以每日对效劳器的静态页面进展更新,即可满足每日更新搜索引擎词条的需求。1.2策略二:实时的静态化策略一为非实时的静态化策略,然而它不会很好地适用于需要经常更新数据且对搜索引擎实时性要求较高的大型门户网站。例如大型的新闻网站,网站经常会发布新的文章或者是公告,并且需要搜索引擎可以尽快地将新闻的链接和关键词参加索引,那么频繁更新缓存页面的效劳器开销会很大,并且缓存文件所占的空间也会越来越大,因此针对此种情况提出了实时的静态化策略。恳求页面时即时生成定时销毁的静态页面缓存,爬虫机器人恳求时,首先查找是否存在缓存以及页面缓存是否失效,假设缓存有效那么返回静态池中的静态页面,反之那么生成新的静态页面或者更新静态池内的静态页面,修改后的实时静态化策略原理..同时,此实时静态化策略也改进了页面的缓存方式,它对于不同缓存页面的关键字设置不同的清理权重(即更新频率上下,需要人工设置)。较为稳定的页面例如首页菜单、公司信息等展示页面可以设定较小的权重值;更新比较频繁的页面,例如新闻公告、发布消息的汇总页那么可以设定较大的权重值。权重越小的静态页面的缓存时间越久,可以保存一天甚至是一周,这样可以大幅节省频繁生成此类缓存的资源浪费;而权重越大的静态页面由于更新频繁,所以缓存时间越短,考虑到搜索引擎的爬虫机器人不会实时抓取信息,而是间隔一段时间(一般为四至五小时)才会重新抓取,因此可以在两到三小时或更短的时间后清理此类缓存。这里的缓存也可能会清理失败,所以在判断缓存是否存在的同时也需要检查静态页面的失效时间,防止过时的旧页面缓存影响新发布信息的检索。策略还规定了当网站重新部署后强迫清理所有缓存。2单页面静态化策略实现及测试2.1实现步骤静态化策略的实现主要分成配置拦截器以及拦截器实现两步。首先将AngularJS的Web工程参加JavaEE的webapp文件夹中,设置WEB-INF/web.xml文件,确定外部工具途径、缓存途径、遍历深度、拦截规那么等参数,下面为少量配置代码:针对策略二的实时静态化SEO策略的拦截器SEOFilter的实现原理拦截器首先判断恳求的发送方,假设不是爬虫机器人那么直接返回正常的页面,反之那么返回SEO实时静态化页面。针对爬虫机器人的处理流程主要为:首先进展URL转义,爬虫恳求分析,记录URL并查询遍历深度(没有此项参数那么使用配置文件中的默认值);再将URL进展二次转义,查询缓存文件;假设存在缓存文件并且没有失效,那么直接返回SEO静态页面;假设缓存文件不存在,或者缓存已失效并未及时销毁,那么先销毁缓存,再进入SEO处理器;SEO处理器利用第三方工具PhantomJS,它是一个以WebKit为根底的效劳器端JavaScript的API,不依赖于阅读器,全面支持各种Web标准,例如页面文档对象模型(DocumentObjectModel,DOM)处理等对动态页面进展搜索引擎优化;最后生成缓存页面,保存文件至缓存文件目录(缓存池),返回SEO静态页面。2.2测试与分析测试环境的系统为WindowsServer2021R2,部署平台为Tomcat7.0.70,端口8083为实时静态化策略实现后的网站访问入口,端口8084那么为原始的AngularJS网站的访问入口。首先使用阅读器访问网站,拦截器判断出恳求为阅读器恳求,并在控制台显示阅读器版本,阅读器可以正常阅读网页;之后再使用模拟百度爬虫机器人的工具分别对原始网页和策略实现后网页进展爬虫,并显示抓取的页面信息。说明了爬虫机器人只能抓取AngularJS单页面中的部分关键字,包括标题、页面底部描绘等信息;而使用实时静态化策略后,拦截器识别出了爬虫机器人然后在控制台显示,同时返回了SEO静态页面,并且说明了网页中的动态数据已经可以被一般的爬虫机器人抓取到,并显示有用的关键字,包括发布公告、网站信息等主要标题与信息。3完毕语本文提出了非实时和实时静态化的两种SEO策略,它们均可以实现AngularJS单页面SEO静态化的预期目的,不过它们也存在着一些缺乏。策略一针对的是较为稳定且对搜索引擎检索实时性要求不高的大型网站,例如政府办公网站等。它可以定期对网站中的静态页面进展更新,但是对于实时性要求较高的门户网站,它会频繁地重新遍历所有静态页面,大大增加效劳器的压力,生成所有缓存的时间和效劳器缓存页面的数量也会相应增加。策略二针对的那么是对搜索引擎检索实时性要求较高的大型门户网站,例如新闻网站等。它尽可能增加缓存页面的实时性并且节约缓存文件的空间,但是对于实时性要求不高的网站,它会频繁地销毁再生成不需要实时更新的页面缓存,这也会浪费效劳器的部分资源。因此,需要根据当前网站对于搜索引擎检索实时性的要求来选择适宜的策略。同时,本文的重点在于对AngularJS单页面的SEO静态化的策略与实现,所以对于关键字的优化还可以做进一步的研究。最后,搜索引擎优化是对于整个系统的一个协同优化的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论