Google蜘蛛爬蟲(chóng)可以運(yùn)行網(wǎng)頁(yè)中的JS腳本和CSS樣式

舊觀念
在我的既有觀念中,搜索引擎的網(wǎng)頁(yè)爬蟲(chóng)/蜘蛛/機(jī)器人(Crawler/Spider/Robot)只抓取頁(yè)面的 HTML 代碼,對(duì)于內(nèi)部或外部的 JS 與 CSS 代碼是一律無(wú)視的。所以我們也經(jīng)常會(huì)說(shuō),Ajax 不利于搜索引擎的抓取,不利于 SEO。
因?yàn)樵谖覀兛磥?lái),搜索引擎爬蟲(chóng)畢竟不是功能強(qiáng)大的瀏覽器,它無(wú)法運(yùn)行 JS,也無(wú)法渲染 CSS。那些五彩繽紛的頁(yè)面,在爬蟲(chóng)眼中不過(guò)是純粹的文本流(或包含了結(jié)構(gòu)標(biāo)記的文本信息流)而已。
然而,近期看到的兩則關(guān)于 Google 的新聞,徹底顛覆了我對(duì)搜索引擎爬蟲(chóng)的認(rèn)知。
新聞一
一段來(lái)自 Google 資深工程師 Matt Cutts 的視頻震驚了我。Matt 告誡我們,不僅文本與背景同色、字體大小設(shè)置為 0、用 CSS 隱藏文字等等這些伎倆已經(jīng)是小兒科了,而且 Google 現(xiàn)在還可以識(shí)別通過(guò) JS 來(lái)隱藏文字的作弊方法。
在視頻中,一段隱晦的 JS 代碼將某元素的 .style.display
屬性設(shè)置為 'none'
,試圖隱藏那些只打算提供給搜索引擎、而不展示給用戶的文字。Matt 表示,這種作弊方式現(xiàn)在已經(jīng)瞞不了 Google 了。
新聞二
新聞二更加恐怖,據(jù)說(shuō) Google 可以抓取 Ajax 內(nèi)容!該文表示,給 URL 的 hash 部分加上特定的標(biāo)識(shí)符(即 domain.com/#abc
改為 domain.com/#!abc
),會(huì)讓 Googlebot 領(lǐng)悟到該 URL 是一個(gè) Ajax 頁(yè)面(而非頁(yè)面中的錨點(diǎn)),并進(jìn)行抓取。
你可能對(duì) Google 的這一技術(shù)改進(jìn)沒(méi)多少興趣,但你肯定注意到了問(wèn)題的本質(zhì):Googlebot 可以抓取 Ajax 內(nèi)容,也就是說(shuō),Googlebot 完全有能力運(yùn)行頁(yè)面中的 JS,而且功能完善!
爬蟲(chóng)與瀏覽器
如果這兩則新聞都是真的,那么,從某種意義上說(shuō),爬蟲(chóng)的行為和能力已經(jīng)與瀏覽器越來(lái)越接近了。這也意味著,搜索引擎爬蟲(chóng)將抓取更多的內(nèi)容(包括 JS 和 CSS 文件),網(wǎng)站的流量負(fù)載將會(huì)加大。
另一方面,爬蟲(chóng)在抓取頁(yè)面的過(guò)程中也將產(chǎn)生更多的資源消耗——畢意僅僅處理文本信息的資源開(kāi)銷要遠(yuǎn)遠(yuǎn)小于完整地渲染頁(yè)面和運(yùn)行客戶端程序。
因此,我目前仍然對(duì)這兩則新聞半信半疑。難道這是 Google 放出的煙幕彈?或者是好事者炮制的假新聞?如果 Googlebot 真的已經(jīng)具備了運(yùn)行 JS 或渲染 CSS 的能力,那么為了將資源開(kāi)銷控制在合理的范圍內(nèi),或許 Google 會(huì)在內(nèi)部啟用黑/白名單機(jī)制?
站長(zhǎng)們
如果擔(dān)心爬蟲(chóng)對(duì)主機(jī)流量的侵蝕,或許可以考慮在 robots.txt
文件中禁止爬蟲(chóng)對(duì) *.js
和 *.css
文件的抓取。不過(guò)暫不確定這樣做是否存在不良的副作用。
或許也有人會(huì)擔(dān)心,正常的頁(yè)面布局有時(shí)候也需要使用一些隱藏文字的手段,比如 【CSS 圖代文】、【隱藏模塊的 hx 標(biāo)識(shí)信息】等等。這樣會(huì)不會(huì)被 Google 判定為作弊呢?
我相信對(duì)于像 Google 這樣“聰明”的搜索引擎來(lái)說(shuō),它即然有能力讓爬蟲(chóng)運(yùn)行 JS 和 CSS,它也必然有能力來(lái)判斷什么是作弊、什么是正常的布局需要。所以我覺(jué)得站長(zhǎng)們大可不必驚慌,平常該怎樣就怎樣,身正不怕影斜,規(guī)則總是用來(lái)約束那些“不法之徒”的。
所以,對(duì)于某些 SEOer 來(lái)說(shuō),這似乎是個(gè)壞消息。如果他們還在考慮是否還有新的作弊方案,那么我覺(jué)得意義不大。很顯然,SEO 作弊手段的生存空間將越來(lái)越小,與此同時(shí),網(wǎng)站自身內(nèi)容的價(jià)值才是 SEO 的真實(shí)基礎(chǔ)。
相關(guān)文章
- 百度蜘蛛日志抓取解讀 教你如何提高百度收錄:百度的收錄是關(guān)心的重中之重,了解百度蜘蛛的爬行規(guī)律從而更好的改善收錄情況也是必須要掌握的。2010-06-29
- 如何讓搜索引擎蜘蛛喜歡上你的網(wǎng)站,以下幾點(diǎn)大家都注意下2012-03-23
引導(dǎo)網(wǎng)絡(luò)蜘蛛爬行自己的網(wǎng)站的方法介紹
做網(wǎng)站的都希望被搜索引擎所收錄.就是希望網(wǎng)絡(luò)蜘蛛能爬到自己的網(wǎng)站里收錄信息2012-07-05百度蜘蛛抓取時(shí)返回304狀態(tài)碼的問(wèn)題分析
網(wǎng)站被百度的蜘蛛抓取時(shí)返回304狀態(tài)碼是什么意思呢2012-08-29- 搜索引擎蜘蛛每天是怎么樣去爬取我們的網(wǎng)的呢?針對(duì)這些你有多少的了解?那搜索引擎蜘蛛的爬取過(guò)程又是怎么樣的呢?2013-04-01
網(wǎng)站優(yōu)化必看 蜘蛛陷阱 不利于蜘蛛爬取的網(wǎng)頁(yè)
網(wǎng)站有哪些地方是不利于蜘蛛爬取的呢?下面腳本之家分享了一些蜘蛛爬取陷阱,讓蜘蛛爬去不到頁(yè)面的一些因素,需要的朋友可以參考下2014-10-13SEO優(yōu)化 蜘蛛的爬行規(guī)則以及讓蜘蛛爬行的快速辦法
想要提高網(wǎng)站的排名首先要了解蜘蛛的爬行規(guī)則,下面我們來(lái)看看解蜘蛛最喜歡的是什么?當(dāng)蜘蛛爬行一個(gè)網(wǎng)站的時(shí)候,它需要爬行的信息首先就是站內(nèi)的結(jié)構(gòu),查看站內(nèi)結(jié)構(gòu)是否是2014-10-14- 作為一名編輯乃至站長(zhǎng),在關(guān)注網(wǎng)站在搜索引擎排名的時(shí)候,最重要的就是蜘蛛(spider)。搜索引擎蜘蛛是一個(gè)自動(dòng)抓取互聯(lián)網(wǎng)上網(wǎng)頁(yè)內(nèi)容的程序,每個(gè)搜索引擎都有自己的蜘蛛,那2016-05-27