公司網(wǎng)站制作實(shí)現(xiàn)步驟
日期 : 2020-12-09 11:52:38
實(shí)現(xiàn)步驟。靜態(tài)化策略的實(shí)現(xiàn)主要分成配置攔截器以及攔截器實(shí)現(xiàn)兩步。首先將AngularJS 的Web 項(xiàng)目加入JavaEE 的webapp 文件夾中,設(shè)置WEB-INF / web.xml 文件,確定外部工具路徑、緩存路徑、遍歷深度、攔截規(guī)則等參數(shù),下面為少量配置代碼:
針對(duì)策略二的實(shí)時(shí)靜態(tài)化SEO 策略的攔截器SEOFilter 的實(shí)現(xiàn)原理攔截器首先判斷請(qǐng)求的發(fā)送方, 如果不是爬蟲(chóng)機(jī)器人則直接返回正常的頁(yè)面,反之則返回SEO 實(shí)時(shí)靜態(tài)化頁(yè)面。
針對(duì)爬蟲(chóng)機(jī)器人的處理流程主要為:首先進(jìn)行URL 轉(zhuǎn)義,爬蟲(chóng)請(qǐng)求分析,記錄URL 并查詢(xún)遍歷深度(沒(méi)有此項(xiàng)參數(shù)則使用配置文件中的默認(rèn)值);再將URL 進(jìn)行二次轉(zhuǎn)義,查詢(xún)緩存文件;如果存在緩存文件并且沒(méi)有失效,則直接返回SEO 靜態(tài)頁(yè)面;如果緩存文件不存在,或者緩存已失效并未及時(shí)銷(xiāo)毀,則先銷(xiāo)毀緩存,再進(jìn)入SEO 處理器;SEO 處理器利用第三方工具PhantomJS,它是一個(gè)以WebKit 為基礎(chǔ)的服務(wù)器端JavaScript 的API,不依賴(lài)于瀏覽器,全面支持各種Web 標(biāo)準(zhǔn),例如頁(yè)面文檔對(duì)象模型(Document Object Model,DOM)處理等———對(duì)動(dòng)態(tài)頁(yè)面進(jìn)行搜索引擎優(yōu)化; 最后生成緩存頁(yè)面, 保存文件至緩存文件目錄(緩存池),返回SEO 靜態(tài)頁(yè)面。
針對(duì)策略二的實(shí)時(shí)靜態(tài)化SEO 策略的攔截器SEOFilter 的實(shí)現(xiàn)原理攔截器首先判斷請(qǐng)求的發(fā)送方, 如果不是爬蟲(chóng)機(jī)器人則直接返回正常的頁(yè)面,反之則返回SEO 實(shí)時(shí)靜態(tài)化頁(yè)面。
針對(duì)爬蟲(chóng)機(jī)器人的處理流程主要為:首先進(jìn)行URL 轉(zhuǎn)義,爬蟲(chóng)請(qǐng)求分析,記錄URL 并查詢(xún)遍歷深度(沒(méi)有此項(xiàng)參數(shù)則使用配置文件中的默認(rèn)值);再將URL 進(jìn)行二次轉(zhuǎn)義,查詢(xún)緩存文件;如果存在緩存文件并且沒(méi)有失效,則直接返回SEO 靜態(tài)頁(yè)面;如果緩存文件不存在,或者緩存已失效并未及時(shí)銷(xiāo)毀,則先銷(xiāo)毀緩存,再進(jìn)入SEO 處理器;SEO 處理器利用第三方工具PhantomJS,它是一個(gè)以WebKit 為基礎(chǔ)的服務(wù)器端JavaScript 的API,不依賴(lài)于瀏覽器,全面支持各種Web 標(biāo)準(zhǔn),例如頁(yè)面文檔對(duì)象模型(Document Object Model,DOM)處理等———對(duì)動(dòng)態(tài)頁(yè)面進(jìn)行搜索引擎優(yōu)化; 最后生成緩存頁(yè)面, 保存文件至緩存文件目錄(緩存池),返回SEO 靜態(tài)頁(yè)面。