搜索引擎目標及頁面排序方法
搜索引擎作為互聯網流量的入口,承擔著流量分發的職責。但排序成千上萬的網頁,決定哪些網頁在第一頁,是由網頁本身的用戶體驗決定的。權重算法會從內容優質性,廣告多少,加載速度等多個角度評估網頁的用戶體驗,讓更優質的結果被用戶看到,滿足用戶搜索需求。
比如百度先后推出了 冰桶算法(打擊廣告過多影響閱讀的網頁),藍天算法(打擊新聞源作弊,展現低質量內容現象),清風算法(減少標題作弊騙取點擊情況),颶風算法(懲罰惡意采集,減少內容重復),從各個角度保證流量分發到更優質內容。
在 2017 年 10 月,百度新發布了 閃電算法,意在提升速度的重要性,為搜索用戶提供更流暢的瀏覽體驗。試想,內容完全相同的兩個網頁,一個需要加載 10 秒,另一個在眨眼間完成了內容展現,用戶一定更希望看到后者。閃電算法的規則也與此類似:
移動網頁首屏在 2 秒之內完成打開的,在移動搜索下將獲得提升頁面評價優待,得到更多展現機會;同時,在移動搜索頁面首屏加載非常慢(3 秒及以上)的網頁將會被打壓。
閃電算法
閃電算法發布的同時,百度還提出了幾條通用的頁面優化建議。MIP 作為通用 Web 頁面加速方案,也從以下方面更做了優化。
資源加載:
1. * 將同類型資源在服務器端壓縮合并,減少網絡請求次數和資源體積。*
MIP 將圖片,視頻,PV 統計等常用的組件腳本合并入 mip.js,加快資源加載速度。
2. * 引用通用資源,充分利用瀏覽器緩存。*
不同網站的 MIP 頁面使用通用 JS。比如分享功能都引用的是 mip-share.js,充分利用瀏覽器緩存,避免重復收發網絡請求。
3. * 使用 CDN 加速,將用戶的請求定向到最合適的緩存服務器上。*
MIP 的所有腳本都默認使用了 MIP-Cache 進行 CDN 加速,從搜索打開的 MIP 頁面請求也由 MIP-Cache 返回,利用 CDN 的優勢緩存頁面和靜態文件。
4. * 非首屏圖片懶加載,將網絡帶寬留給首屏請求。*
MIP 頁面所有圖片都采用 mip-img 標簽,使用懶加載 (Lazy Load)。只有當圖片在可視區域時才會加載,避免位于文章后部的圖片占用網絡帶寬。
頁面渲染:
1. * 將 CSS 樣式寫在頭部樣式表中,減少由 CSS 文件網絡請求造成的渲染阻塞。*
MIP 建議將 CSS 樣式寫在頭部樣式表中,使用 mip-custom 標記。減少由 CSS 文件網絡請求造成的渲染阻塞。
2. * 將 JavaScript 放到文檔末尾,或使用 async 方式加載,避免 JS 執行阻塞渲染。*
目前 MIP 建議將 JavaScript 放到文檔末尾,避免 JS 阻塞后續 DOM 渲染。采用 async 方式加載 MIP 腳本的方案也在內測階段。
3. * 對非文字元素(如圖片,視頻)指定寬高,避免瀏覽器重排重繪。*
MIP 提供了 組件布局,為圖片、視頻等寬高未知的元素指定占位空間,避免圖片加載后插入頁面造成瀏覽器重排重繪。
以上加速建議從多個角度節省網絡和渲染時間,而符合 MIP 規范的網頁天生具有以上加速效果。
MIP 與 SEO
MIP 旨在幫助開發者建立打開迅速,交互流暢,體驗良好的優質頁面。這類頁面能幫助用戶最快獲取信息,也自然會被搜索引擎青睞。
閃電算法提到,首屏在 2000ms 內可以得到流量優待,而 MIP 頁面在 2017 年 10 月的首屏時間為 1640ms,遠快于閃電算法的規定值。
截至 2017 年 10 月,已經有 5000 家站點修改提交了 MIP,他們將成為閃電算法的首批受益者。MIP 官網 收集了一些優質效果,歡迎點擊體驗。還有更多的站點正在改造的過程中,閱讀 MIP 開發入門 來學習這項加速技術吧。