JavaScript對SEO的影響及優化方法
SEO分析及问题
對幾個站點的SEO做了分析診斷,最直觀的問題就是因為是通過Wordpress實現的。包括前端性能、代碼精簡等內部優化上都做得很差。尤其是網站JavaScript的使用,JS在SEO優化中是近年越來越重要的問題。無論是異步加載還是增加頁面互動,現在的網站幾乎無法避免使用JS腳本。JavaScript使用不當的話會對SEO造成非常大的影響。
搜索引擎處理JS
簡單說明Google爬取步驟,傳統爬取HTML頁面時,Google bot下載HTML頁面,從源代碼中提取URL網址,並快速訪問這些URL。然後下載CSS文件,將下載下來的資源送到Google的Indexer,檢索頁面。而當爬取JavaScript所產生的網站內容時,Google bot下載HTML頁面,在源代碼中找不到連結,因為JavaScript未被執行。然後下載CSS及JavaScript文件,使用WRS(渲染器,Indexer的一部分)解析、編譯並執行JavaScript,從外部API、資料庫獲取資料,Indexer可以索引內容。最後,Google發現新的連結,並將其加入爬取排隊隊伍之中。
重要鏈接不要用JS
搜索引擎爬行、抓取頁面是靠跟蹤鏈接的。如果重要鏈接需要運行JS腳本才能調用或解析出來,那搜索引擎就可能無法跟蹤。不是說連結就不能用JS調用,甚至很多時候,網站的公共底部部分會通過js實現,但重要的、想被收錄的頁面至少還要有最普通的格式連結提供抓取入口。
慎用按需加載、瀑布流
圖片按需加載,甚至文字內容按需加載,是很多網站經常使用的方法,在一定程度上有利於提高頁面速度。但要注意,用JS實現按需加載時,是否需要用戶互動才能加載,比如點擊"更多"連結,或者向下拉頁面,搜索引擎蜘蛛是不會做這些動作的,所以就可能看不到按需加載後的內容。無論按需加載的是更多本頁內容,還是更多其他頁面列表,都可能造成爬行、索引問題。列表頁面使用瀑布流也是很多網站的選擇,用戶已經習慣,根源上是學習社交媒體的展示。但是,社交媒體網站經常是主動屏蔽搜索引擎的,不想讓搜索引擎索引。如果你的網站內容想被充分索引,盡量避免使用瀑布流,如果使用瀑布流,要設計提供搜索引擎可以跟踪連結的其他入口。
網頁打開和響應速度
通常使用JS會拖慢頁面打開和響應速度。下載JS檔案還不算太大問題,主要是瀏覽器執行JS有可能會很耗費設備資源,JS可能會執行好幾秒鐘,可能會造成腳本阻塞,這對用戶來說是相當糟糕的體驗。所以,盡量刪除執行時間過長的JS,執行超過1-2秒的腳本需要慎重考慮。盡量合併JS腳本,減少