一般的網(wǎng)站上都會(huì)有一些javascript代碼,用于實(shí)現(xiàn)一些特殊的功能,比如導(dǎo)航鏈接、圖片滾動(dòng)顯示、即時(shí)聊天等功能,一般都是通過(guò)js代碼來(lái)實(shí)現(xiàn)的?梢哉f(shuō)離開(kāi)了js代碼,網(wǎng)頁(yè)要制作出美觀的界面和復(fù)雜的功能,就有點(diǎn)不易實(shí)現(xiàn)了。然而,網(wǎng)頁(yè)上使用js代碼也并非好處多多,有時(shí)候也會(huì)為網(wǎng)站帶來(lái)一些弊端,尤其是對(duì)于網(wǎng)站SEO來(lái)說(shuō),更是如此。下面筆者就說(shuō)一下這個(gè)問(wèn)題。
首先、我們說(shuō)一下網(wǎng)頁(yè)使用js代碼的好處。網(wǎng)頁(yè)上使用js代碼可以實(shí)現(xiàn)一下特殊功能,如百度分享、百度統(tǒng)計(jì)、在線(xiàn)客服、導(dǎo)航菜單、圖片特效等,這些功能用其他的代碼很難實(shí)現(xiàn)。再一點(diǎn),使用js代碼可以很好地運(yùn)用于html網(wǎng)頁(yè)上,執(zhí)行速度也比較快,而且還不需要與數(shù)據(jù)庫(kù)相連接,可以實(shí)現(xiàn)一些如form元素合法性判斷、鼠標(biāo)移動(dòng)獲得和失去焦點(diǎn)事件、點(diǎn)擊事件的執(zhí)行等功能,這非常容易實(shí)現(xiàn)網(wǎng)頁(yè)的功能,也有利于網(wǎng)頁(yè)用更少的代碼實(shí)現(xiàn)更特異的功能,有利于提升用戶(hù)的體驗(yàn)效果。
下面我們說(shuō)一下網(wǎng)頁(yè)使用js代碼的弊端。網(wǎng)頁(yè)上的js代碼不能被搜索引擎所識(shí)別,因此,網(wǎng)頁(yè)上的js代碼可能會(huì)對(duì)搜索引擎抓取數(shù)據(jù)造成干擾,而且過(guò)多的js代碼還會(huì)增加網(wǎng)頁(yè)的容量,降低網(wǎng)頁(yè)的關(guān)鍵詞密度,不利于網(wǎng)頁(yè)的SEO優(yōu)化。而且如果js代碼使用不當(dāng),或者代碼語(yǔ)法錯(cuò)誤,將會(huì)造成網(wǎng)頁(yè)打開(kāi)出現(xiàn)問(wèn)題,甚至無(wú)法打開(kāi)網(wǎng)頁(yè)。再一點(diǎn),由于js代碼無(wú)法被搜索引擎解析,因此在如果有重要信息如內(nèi)外部鏈接信息包含在js代碼里,將無(wú)法被搜索引擎抓取。
最后,我們說(shuō)一下,如何在網(wǎng)頁(yè)上既能使用js代碼,又能最大程度地降低js代碼的不利影響,充分發(fā)揮js代碼的優(yōu)勢(shì)呢?第一、避免在導(dǎo)航菜單中使用js代碼,以免搜索引擎無(wú)法識(shí)別,而影響了SEO效果;第二、避免在文章內(nèi)部使用js代碼,一篇文章內(nèi)部如果使用js代碼,不僅無(wú)法被搜索引擎抓取,而且還可能把整個(gè)文章分成上下兩部分,干擾了搜索引擎,不利于網(wǎng)頁(yè)的SEO;第三、降低js代碼對(duì)SEO和用戶(hù)體驗(yàn)的干擾,可以將網(wǎng)頁(yè)上的js代碼放在js文件上,減少網(wǎng)頁(yè)上的js代碼,還可以將js代碼放在網(wǎng)頁(yè)的最下面,在瀏覽器加載網(wǎng)頁(yè)時(shí),首先顯示網(wǎng)頁(yè)內(nèi)容,最后再執(zhí)行js代碼,這樣有利于網(wǎng)頁(yè)的快速顯示。第四、如果能用其他方式實(shí)現(xiàn)的功能,盡量使用網(wǎng)頁(yè)技術(shù)來(lái)實(shí)現(xiàn),減少js代碼量。第五、在js代碼里,盡量不要使用稀有的組件,防止因組件無(wú)法使用而無(wú)法打開(kāi)網(wǎng)頁(yè),或者網(wǎng)頁(yè)打開(kāi)后某些功能失效。