无线国产资源第一页,无限资源网2018第一页,无限资源国家产片第一页

      1. <progress id="22j3w"></progress>

      2. <button id="22j3w"></button>
        網站優化,seo優化,網站建設-精靈seo

        seo優化

        >網站優化>關鍵詞優化>seo公司>seo推廣>網站seo
        您的位置:首頁 >SEO動態

        Google爬蟲怎么抓取JavaScript?

        來源:精靈SEO 發布時間:2019-09-21

          Google爬蟲怎么抓取JavaScript?精靈SEO工程師測試了谷歌爬蟲是如何抓取JavaScript,下面就是我們從中學習到的知識。


          認為Google不能處理JavaScript?再想想吧。Audette Audette分享了一系列測試結果,他和他同事測試了什么類型的JavaScript功能會被Google抓取和收錄。


          長話短說


          1.我們進行了一系列測試,已證實Google能以多種方式執行和收錄JavaScript。我們也確認Google能渲染整個頁面并讀取DOM,由此能收錄動態生成的內容。


          2.DOM中的SEO信號(頁面標題、meta描述、canonical標簽、meta robots標簽等)都被關注到。動態插入DOM的內容都也能被抓取和收錄。此外,在某些案例中,DOM甚至可能比HTML源碼語句更優先。雖然這需要做更多的工作,但這是我們好幾個測試中的一個。


          引言:Google執行JavaScript&讀取DOM


          早在2008年,Google就成功抓取JavaScript,但很可能局限于某種方式。


          而在今天,可以明確的是,Google不僅能制定出他們抓取和收錄的JavaScript類型,而且在渲染整個web頁面上取得了顯著進步(特別在最近的12到18個月)。


          在Merkle,我們的SEO技術團隊想更好地理解谷歌爬蟲能抓取和收錄什么類型的JavaSscript事件。經過研究,我們發現令人瞠目的結果,并已證實Google不僅能執行各種JavaScript事件,而且能收錄動態生成的內容。怎么樣做到的?Google能讀取DOM。


          DOM是什么?


          很多搞SEO的都不理解什么是Document Object Model(DOM)。

        Google爬蟲怎么抓取JavaScript?

          當瀏覽器請求頁面時會發生什么,而DOM又是如何參與進來的。


          當用于web瀏覽器,DOM本質上是一個應用程序的接口,或API,用于標記和構造數據(如HTML和XML)。該接口允許web瀏覽器將它們進行組合而構成文檔。


          DOM也定義了如何對結構進行獲取和操作。雖然DOM是與語言無關的API(不是捆綁在特定編程語言或庫),但它普遍應用于web應用程序的JavaScript和動態內容。


          DOM代表了接口,或“橋梁”,將web頁面與編程語言連接起來。解析HTML和執行JavaScript的結果就是DOM。web頁面的內容不(不僅)是源碼,是DOM。這使它變得非常重要。

        Google爬蟲怎么抓取JavaScript?

          JavaScript是如何通過DOM接口工作的。


          我們興奮地發現Google能夠讀取DOM,并能解析信號和動態插入的內容,例如title標簽、頁面文本、head標簽和meta注解(如:rel=canonical)??砷喿x其中的完整細節。


          這一系列測試和結果


          因為想知道什么樣的JavaScript功能會被抓取和收錄,我們單獨對谷歌爬蟲創建一系列測試。通過創建控件,確保URL活動能被獨立理解。下面,讓我們詳細劃分出一些有趣的測試結果。它們被分為5類:


          JavaScript重定向


          JavaScript鏈接


          動態插入內容


          動態插入Meta數據和頁面元素


          一個帶有rel=“nofollow”的重要例子

        Google爬蟲怎么抓取JavaScript?

          例子:一個用來測試谷歌爬蟲理解JavaScript能力的頁面。


          1.JavaScript重定向


          我們首先測試了常見的JavaScript重定向,用不同方式表示的URL會有什么樣結果呢?我們選擇了window.location對象進行兩個測試:Test A以絕對路徑URL調用window.location,而Test B使用相對路徑。


          結果:該重定向很快被Google跟蹤。從收錄來看,它們被解釋為301-最終狀態的URL取代了Google收錄里的重定向URL。


          在隨后的測試中,我們在一個權威網頁上,利用完全相同的內容,完成一次利用JavaScript重定向到同一個站點的新頁面。而原始URL是排在Google熱門查詢的首頁。


          結果:果然,重定向被Google跟蹤,而原始頁面并沒有被收錄。而新URL被收錄了,并立刻排在相同查詢頁面內的相同位置。這讓我們很驚喜,以排名的角度上看,視乎表明了JavaScript重定向行為(有時)很像永久性的301重定向。


          下次,你的客戶想要為他們的網站完成JavaScript重定向移動,你可能不需要回答,或回答:“請不要”。因為這似乎有一個轉讓排名信號的關系。支持這一結論是引用了Google指南:


          使用JavaScript為用戶進行重定向,可能是一個合法的做法。例如,如果你將已登錄用戶重定向到一個內部頁面,你可以使用JavaScript完成這一操作。當仔細檢查JavaScript或其他重定向方法時,以確保你的站點遵循我們的指南,并考慮到其意圖。記住301重定向跳轉到你網站下是最好的,但如果你沒有權限訪問你網站服務器,你可以為此使用JavaScript重定向。


          2.JavaScript鏈接


          我們用多種編碼方式測試了不同類型的JS鏈接。


          我們測試下拉菜單的鏈接。歷史上的搜素引擎一直不能跟蹤這類型的鏈接。我們想確定onchange事件處理器是否會被跟蹤。重要的是,這只是執行特定的類型,而我們需要是:其它改動后的影響,而不像上面JavaScript重定向的強制操作。

        Google爬蟲怎么抓取JavaScript?

          例子:Google Work頁面的語言選擇下拉菜單。


          結果:鏈接被完整地抓取和跟蹤。


          我們也測試了常見的JavaScript鏈接。下面是最常見類型的JavaScript鏈接,而傳統的SEO則推薦純文本。這些測試包括JavaScript鏈接代碼:


          作用于外部href鍵-值對(AVP),但在一個標簽內(“onClick”)


          作用href內部AVP(“javascript:window.location”)


          作用于a標簽外部,但在href內調用AVP(“javascript:openlink()”)


          等等


          結果:鏈接被完整抓取和跟蹤。


          我們下一個測試是更進一步地測試事件處理器,如上面測試的onchange。具體地說,我們希望利用鼠標移動的事件處理器,然后隱藏URL變量,該變量只在事件處理函數(在該案例是onmousedown和onmouseout)被觸發時執行。


          結果:鏈接被完整抓取和跟蹤。


          構造鏈接:我們知道Google能執行JavaScript,但想確認它們是否能讀取代碼里的變量。所以在該測試中,我們連接能構造URL字符串的字符。


          結果:鏈接被完整抓取和跟蹤。


          3.動態插入內容


          很明顯,這些都是重點:動態插入文本、圖像、鏈接和導航。優質的文本內容對搜索引擎理解網頁主題和內容是至關重要的。在這個動態網站的時代,它的重要性是無需質疑的。


          這些測試,設計出來是為了檢查在兩個不同場景下動態插入文本的結果。


          1.測試搜索引擎能否統計動態插入的文本,而文本是來自頁面HTML源碼內的。


          2.測試搜索引擎能否統計動態插入的文本,而文本是來自頁面HTML源碼外的(在一個外部JavaScript文件內)。


          結果:在兩個案例中,文本都能被抓取和收錄,并且頁面是根據該內容進行排名。爽!


          為了了解更多相關信息,我們測試了一個通過JavaScript編寫的客戶端全局導航,而導航里的鏈接都是通過document.writeIn函數插入,并且確定它們能被完全抓取和跟蹤。應該指出的是:Google能解釋使用AngularJS框架和HTML5 History API(pushState)構建的網站,能渲染和收錄它,并能像傳統靜態網頁一樣排名。這就是不禁止谷歌爬蟲獲取外部文件和JavaScript的重要性,而且這也許是Google正在從《支持Ajax的SEO指南》中移除它的原因。當你能簡單地渲染整個頁面時候,誰還需要HTML快照呢?


          經過測試后發現,不管什么類型的內容,都是同樣的結果。例如,圖像加載到DOM后會被抓取和收錄。我們甚至做了這樣的一個測試:通過動態生成data-vocabulary.org結構數據來制作breadcrumb(面包屑導航),并將其插入DOM。結果呢?成功插入后的面包屑出現在搜索結果中了(search engine results page)。


          值得注意的是,Google現在推薦用JSON-LD標記形成結構化數據。我敢肯定將來會出現更多基于此的東西。


          4.動態插入Meta數據&頁面元素


          我們將各種對SEO至關重要的標簽動態插入到DOM:


          Title元素


          Meta描述


          Meta robots


          Canonical tags


          結果:在所有案例中,標簽都能被抓取,其表現就像HTML源碼里的元素一樣。


          一個有趣的補充實驗幫助我們理解優先順序。當存在沖突信號時,哪一個會勝出呢?如果源碼里有noindex、nofollow標簽,而DOM里有noindex、follow標簽的話,將會發生什么呢?在這協議里,HTTP x-robots響應頭部的行為如何作為另一個變量?這將是未來綜合測試的一部分。然而,我們的測試顯示:當沖突時,Google會無視源碼里的標簽,而支持DOM。


          5.一個帶有rel=“nofollow”的重要例子


          我們想測試Google如何應對出現在源碼和DOM的鏈路級別的nofollow屬性。我們也因此創建了一個沒有應用nofollow的控件。

        Google爬蟲怎么抓取JavaScript?

          對于nofollow,我們分別單獨測試源碼vs DOM生成的注解。


          源碼里的nofollow正如我們所期待的那樣運行(鏈接沒被跟蹤)。而DOM里的nofollow卻失效(鏈接被跟蹤,并且頁面被收錄)。為什么?因為在DOM里修改href元素的操作發生得太晚了:Google在執行添加rel=”nofollow”的JavaScript函數前,已準備好抓取鏈接和隊列等待著URL。然而,如果將帶有href=”nofollow”的a元素插入到DOM,nofollow和鏈接因在同一時刻插入,所以會被跟蹤。


          結果


          從歷史角度上看,各種SEO推薦是在任何可能的時候,要盡可能專注‘純文本’內容。而動態生成內容、AJAX和JavaScript鏈接會損害主流搜索引擎的SEO。顯然,這對Google不再是問題。JavaScript鏈接以類似普通的HTML鏈接方式運行(這只是表面,而我們不知道幕后程序進行了什么操作)。


          JavaScript重定向都會以類似于301重定向方式對待。


          動態插入內容,甚至meta標簽,如rel canonical注解,無論在HTML源碼,還是在最初HTML被解析后觸發JavaScript生成DOM,都以同等方式對待。


          Google視乎能完全渲染頁面和理解DOM,而不僅是源碼。實在是令人可不思議?。ㄓ浀迷试S谷歌爬蟲獲取那些外部文件和JavaScript。)


          Google已經在創新方面,以驚人的速度將其它搜索引擎甩在身后。我們希望看到其它搜索引擎能有同樣類型的創新。如果他們要保持競爭力,并在web新時代取得實質性進展,這意味著它們要更好地支持HTML5、JavaScript和動態網站。


          對于SEO,那些沒有理解上述基本概念和Google技術的人,應該好好研究和學習,以趕上當前技術。如果你不把DOM考慮在內,您可能會丟失一半份額。

        相關文章內容簡介

        1 內鏈、外鏈、友鏈、反鏈、死鏈的含義

          內鏈、外鏈、友鏈、反鏈、死鏈的含義   1.內鏈   內鏈實際上是在每一個網頁之間的鏈接,但站在最佳角度,使內鏈的價值最大化,將精心挑選的網頁,也就是說你決定哪一種頁面之間的聯系對方。內鏈錨文本通常是關鍵詞,例如,我想建立一個錨文本搜索引擎優化的鏈,然后你就會知道哪些網頁內做鏈上的排名有較大的幫助。   2.外鏈   對于SEO來說,外鏈是一個唄關注次數最高的詞,外鏈從搜索引擎的角度,它希望是一個自然鏈接,并且具有高度的推薦價值,因此它并不是一個文章內容頁的特定目標關鍵詞的錨文本。理論上應該是,目標頁面內容高度相關的錨文本鏈接,它對該頁內容,具有進一步詳解闡述的作用,并能夠支持訪客,更好的理解目標頁內容。   3.友鏈   當兩個網站所有者以超文本鏈接的方式參與鏈接到彼此的網站時,這兩者都通過相互鏈接而受益,這種鏈接方式被稱為友情鏈接。友情鏈接通常是兩個網站或兩個非聯合網站之間的互鏈關系,目的是推動業務或任何其他目標。   4.反鏈   反鏈,即指反向鏈接。在SEO優化過程中,它 [閱讀全文]

        2 自建站通過10個SEO優化增加流量技巧

          自建站通過10個SEO優化增加流量技巧!網站如何獲取更過的流量,是每個網站seo和企業主都關心的問題。大公司通??梢酝ㄟ^購買專業服務或是設立專項部門來進行SEO,但對于一些剛起步的小型電商網站而言,SEO是一個需要親力親為解決的難題。今天精靈seo工程師將分享自建站通過10個SEO優化增加流量技巧。這些策略有助于增進小型平臺對SEO的了解,以便在日后對接專業服務時更為熟練。   現在,假設我們要建立一個以美國為目標市場的小型住宅出租平臺。   1、確定有吸引力的產品或服務   首先,通過谷歌搜索,我們可以得知已有許多類似平臺,此時需要通過研究競爭對手的平臺來找到自己產品和服務的獨特賣點。   通過谷歌趨勢,我們可以確定這是一個不斷增長的市場?!靶∥莩鲎狻钡淖侄嗡阉髟絹碓搅餍?。我們可以看到大多數搜索用戶的地區:北卡羅萊納、格魯吉亞、德克薩斯、佛羅里達州和華盛頓。   接著可以查看競爭對手的網站是否提供相應的房源。答案是肯定的。然而,市面上還有許多受歡迎的度假地點缺少此類房源供應,因 [閱讀全文]

        關閉
        系統提示

        登錄密碼錯誤?。?!

        无线国产资源第一页,无限资源网2018第一页,无限资源国家产片第一页