在线视频亚洲一区,www.久久99,亚洲一区二区久久久久久久,精品视频一区二区三区四区五区

JavaScript解析:讓搜索引擎看到更真實的網頁

作者:Lgo100 來源:未知 2012-07-04 20:42:22 閱讀 我要評論 直達商品

  長期以來,站長們選擇使用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 = http://www.admin5.com//article/20120704/? // 設置屬性

  至于要寫入的內容,可能是以數組等形式保存在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 = http://www.admin5.com//article/20120704/?,window.open等。而后通過設置一系列標志,將本次點擊和頁面跳轉關連起來,如此也就得到了目標URL。

  二、動態頁面內容

  頁面動態內容是一種提升頁面加載速度、增強網站技術靈活性的手段,可以將那些會改變的內容(如評論、評分等)抽離,使頁面分為靜態和動態兩部分:靜態內容可以使用緩存等方法加快頁面顯示速度、降低網站流量;動態內容則有格式簡單好生成的優勢,同時也能節省流量。

  另一方面,動態內容也是加載廣告和內容作弊的重要方法,最常見的就是寫入iframe,這對于早期搜索引擎而言有極大的隱蔽性。

  在技術層次上,動態頁面內容所需要的工作與上一節“動態寫入或調整A標簽”在很大程度上是相同的,這里需要增加的是經典的“document.write”方法。

  該方法是最早的JavaScript功能之一,用于向頁面直接寫入一段HTML代碼,至今仍在廣泛使用。對于該方法,早期的搜索引擎都有所支持,但方法基本限于字符匹配,僅能支持最直接的寫入一個JavaScript字符串的方式,對于稍微復雜的文本拼接顯得無能為力。但對于JavaScript解析而言,這段代碼終究是要符合語言規范的,因此就能做到完整支持,處理文本拼接、條件判斷和混淆代碼等各種情況。

  這里還需要討論的一點是嵌套的document.write,也就是通過document.write寫入一個SCRIPT標簽,該標簽內部是另一段document.write。這類問題在跳轉作弊頁面中屢見不鮮,對其支持就不只需要JavaScript解析,還需要HTML解析器能夠支持處理嵌套的HTML寫入功能,這里就不加以分析了。

  通過上述方法,無論是網頁的主體信息,還是廣告或其它輔助信息,都會被暴露出來,從而更好的理解站長意圖。

  三、網頁跳轉

  網頁跳轉在有些情況下是達到頁面效果的必要選擇,但同樣會用于作弊。在技術上,多以下面兩種方式出現:

  直接調用頁面跳轉函數

  針對搜索引擎的UA、referer等調用頁面跳轉函數

  這里要實現識別,最核心的就是實現頁面跳轉函數:location對象。由于這是技術上唯一的JavaScript跳轉函數,所以無論頁面的JavaScript如何撰寫如何混淆,最終都會調用該函數。因此,盡管不同頁面的跳轉代碼看上去五花八門,但識別出來卻是簡單的。


  推薦閱讀

  經歷6.28百度K站后從中得到的教訓以及學習的經驗

相信論壇里面大部分人都經歷百度6.28K站的黑色風暴,風暴過后,大部分網站都慘不忍睹。特別是靠流量吃飯的個人站長,多少因為網站優化操作失誤造成的被K掉或者說直接收錄狂減。經歷這次洗禮,基本上所有的站長論壇都>>>詳細閱讀


本文標題:JavaScript解析:讓搜索引擎看到更真實的網頁

地址:http://www.sdlzkt.com/a/34/20120704/73289.html

樂購科技部分新聞及文章轉載自互聯網,供讀者交流和學習,若有涉及作者版權等問題請及時與我們聯系,以便更正、刪除或按規定辦理。感謝所有提供資訊的網站,歡迎各類媒體與樂購科技進行文章共享合作。

網友點評
我的評論: 人參與評論
驗證碼: 匿名回答
網友評論(點擊查看更多條評論)
友情提示: 登錄后發表評論,可以直接從評論中的用戶名進入您的個人空間,讓更多網友認識您。
自媒體專欄

評論

熱度

在线视频亚洲一区,www.久久99,亚洲一区二区久久久久久久,精品视频一区二区三区四区五区
午夜精品久久久久久久久久久久| 国产欧美在线观看一区| 国产精品一区二区欧美| 亚洲欧美亚洲| 国产一区二区在线观看免费播放| 欧美日韩成人在线播放| 在线视频你懂得一区二区三区| 欧美午夜宅男影院在线观看| 久久综合免费视频影院| 亚洲国产裸拍裸体视频在线观看乱了中文| 老司机精品视频一区二区三区| 亚洲国产高清一区| 国产日韩精品一区观看| 久久婷婷蜜乳一本欲蜜臀| 最新成人在线| 好吊一区二区三区| 欧美高清在线精品一区| 在线视频精品| 亚洲欧洲精品成人久久奇米网| 欧美日韩国产在线观看| 久久综合色一综合色88| 99xxxx成人网| 国产欧美精品在线播放| 欧美视频第二页| 欧美有码视频| 91久久久一线二线三线品牌| 国产亚洲一区精品| 欧美岛国在线观看| 另类图片国产| 亚洲午夜女主播在线直播| 国产三级欧美三级| 国产精品青草综合久久久久99| 亚久久调教视频| 亚洲国产成人精品久久| 黄色亚洲大片免费在线观看| 欧美日韩国产色站一区二区三区| 欧美电影在线观看| 香蕉成人伊视频在线观看| 亚洲欧洲一区二区三区在线观看| 在线看日韩av| 国产精品美女久久久久久免费 | 久久久精品日韩欧美| 亚洲日本激情| 亚洲美女av在线播放| 国产一区白浆| 国产日韩亚洲欧美综合| 欧美经典一区二区| 欧美另类69精品久久久久9999| 性欧美精品高清| 亚洲精品网站在线播放gif| 亚洲黄色成人| 国产一区二区三区高清| 国语自产精品视频在线看8查询8| 欧美日韩亚洲一区| 欧美视频一区二区三区…| 美女视频一区免费观看| 欧美99在线视频观看| 篠田优中文在线播放第一区| 99riav国产精品| 一区二区三区免费看| 亚洲福利小视频| 亚洲激情成人| 国内偷自视频区视频综合| 狠狠入ady亚洲精品| 国产精品一页| 红桃视频亚洲| 国产欧美日韩在线观看| 国产有码一区二区| 国产精品区二区三区日本| 国产伦精品一区二区三区免费迷| 欧美精品久久一区二区| 欧美三区在线观看| 欧美国产日本| 欧美性猛交99久久久久99按摩| 欧美福利影院| 欧美视频二区36p| 欧美日韩国产美| 国产精品久久久久久久第一福利| 欧美激情亚洲| 欧美性开放视频| 欧美色区777第一页| 国产乱码精品一区二区三区av| 国产精品久久久久国产精品日日| 国产亚洲欧美一区在线观看| 国产伦精品一区| 亚洲国产1区| 在线欧美福利| 亚洲一级在线| 久久九九全国免费精品观看| 久久精品国产精品亚洲精品| 欧美高清在线视频| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美日韩国产一区| 欧美日韩精选| 国精品一区二区| 国内精品嫩模av私拍在线观看| 亚洲激情在线观看视频免费| 亚洲国产三级网| 亚洲婷婷在线| 老色鬼精品视频在线观看播放| 久久乐国产精品| 欧美三日本三级少妇三2023| 国产精品xxxav免费视频| 激情六月综合| 亚洲第一毛片| 亚洲综合色网站| 免费在线看成人av| 欧美成人精品h版在线观看| 国产精品视频九色porn| 国产精品一区二区在线观看| 亚洲欧洲久久| 日韩一二三区视频| 久久裸体视频| 国产精品视频网址| 国产无遮挡一区二区三区毛片日本| 亚洲国产一成人久久精品| 亚洲精选国产| 久久精品日产第一区二区| 欧美日韩亚洲网| 国产精品久久久久av免费| 在线欧美亚洲| 亚洲日本成人在线观看| 久久久.com| 国产精品久久亚洲7777| 国产一区二区av| 亚洲视频网在线直播| 欧美成人激情视频| 欧美三区在线视频| 亚洲级视频在线观看免费1级| 一区二区三区视频在线看| 欧美成人久久| 精品成人一区| 99视频+国产日韩欧美| 蜜臀a∨国产成人精品| 国产午夜久久| 亚洲片区在线| 美女主播一区| 精品动漫av| 一区二区三区四区五区在线| 欧美不卡三区| 亚洲国产精品久久人人爱蜜臀| 99在线热播精品免费| 农村妇女精品| 在线成人免费观看| 一区二区三区三区在线| 欧美伦理91i| 亚洲精品免费一二三区| 久久一区国产| 欧美午夜免费影院| 99这里只有久久精品视频| 欧美精品二区| 国产欧美三级| 亚洲欧美一区二区原创| 国产精品毛片高清在线完整版| 伊人春色精品| 麻豆freexxxx性91精品| 伊人婷婷欧美激情| 久久欧美中文字幕| 欧美色综合天天久久综合精品| 亚洲精品一区中文| 欧美激情国产精品| 国内精品久久久| 久久久久久久久岛国免费| 韩国三级电影久久久久久| 在线午夜精品自拍| 欧美午夜激情在线| 亚洲一区二区三区激情| 国产精品久久久久久久久免费桃花| 亚洲高清色综合| 欧美高清视频一二三区| 亚洲精品一区二区三区樱花 | 亚洲视频导航| 欧美日韩免费| 亚洲高清在线观看| 欧美国产三级| 99精品热视频| 国产精品qvod| 亚洲精品久久久久久下一站 | 久久久久成人精品免费播放动漫| 国产有码在线一区二区视频| 欧美日本三区| 国产日本欧美在线观看| 免费一区视频| 亚洲欧美日韩一区| 在线观看日韩av| 国产精品私拍pans大尺度在线| 免费在线观看日韩欧美| 亚洲人永久免费| 在线观看视频欧美| 欧美午夜欧美| 国产午夜精品全部视频播放| 一区二区欧美亚洲| 国产精品久久久久久久久久直播| 亚洲免费在线看| 国产日韩精品一区二区浪潮av| 一区二区三区视频观看| 国产日韩在线视频| 男人的天堂亚洲| 99re6热只有精品免费观看| 国产精品区一区二区三|