在 Web 生態(tài)中,搜索引擎如何發(fā)現(xiàn)并收錄資源大家并不陌生。爬蟲通過抓取 Web 網(wǎng)頁,能夠很好的解析頁面內(nèi)容,并為其建立索引。那么作為依托于客戶端形態(tài)存在的小程序,又是如何實現(xiàn)資源收錄的呢?
答案是,既然 Web 爬蟲技術(shù)已經(jīng)相對成熟,只要將小程序轉(zhuǎn)換為一個 Web 版本,即可輕松借助已有的爬蟲能力實現(xiàn)小程序頁面的收錄。到這里,今天的主角就要隆重登場了 —— Web 化小程序
Web 化小程序是百度小程序的 Web 版本。每個 Web 化小程序都是一個單頁面應(yīng)用站點,可以通過唯一對應(yīng)的 URL 在瀏覽器打開。Web 化小程序與對應(yīng)的客戶端打開的小程序內(nèi)容、樣式和交互行為基本一致。
以百度翻譯小程序為例,下圖為百度翻譯小程序在百度 App 中打開和它的 Web 化小程序在 safari 瀏覽器打開的效果:
那么 Web 化小程序是如何生成的呢?
百度智能小程序具有自動生成 Web 化的能力,在小程序發(fā)布時,后臺會自動為每個小程序生成一份 Web 化小程序。也就是說 Web 化對小程序開發(fā)者來說是透明的,開發(fā)者幾乎不用做額外的適配即可完成轉(zhuǎn)換(當(dāng)然,由于H5與客戶端天然存在的差異,我們?nèi)杂幸恍╅_發(fā)建議希望開發(fā)者能夠關(guān)注,后面會詳細(xì)介紹)。
有人問:想讓爬蟲認(rèn)識至于那么認(rèn)真嗎?有個 HTML 就夠了,還要和客戶端小程序樣式和交互保持一致?事實上,隨著SPA應(yīng)用的大量普及,現(xiàn)代爬蟲如果僅通過解析靜態(tài) HTML ,無法充分獲取有效頁面內(nèi)容。因此 爬蟲的抓取過程,會渲染頁面,并根據(jù)頁面的動態(tài)數(shù)據(jù)和樣式布局等信息更好的理解頁面內(nèi)容。也就是說,爬蟲看到的頁面和我們看到的頁面是一模一樣的。
在百度開發(fā)者工具 2.2.4 以上版本,默認(rèn)開啟 Web 化。之前版本的工具需要手動打開 Web 化開關(guān)。對于之前未開啟 Web 化的小程序,只要升級工具到最新版本,重新發(fā)布,即可自動開啟。
當(dāng)有小程序發(fā)布后,爬蟲會通過自主發(fā)現(xiàn)的方式收錄 Web 化小程序的各個頁面,為其建立索引。
除了自主發(fā)現(xiàn)的資源收錄方式,如果開發(fā)者想要獲取更高時效的資源收錄效率,還可以通過主動提交資源列表,即 sitemap 的方式實現(xiàn)天級和周級資源收錄。sitemap 提交詳見官方文檔《接入自然搜索結(jié)果 - 提交sitemap 》
對于在百度已收錄了 H5 站的資源,也可以通過配置 H5 域名和提交 H5 與小程序頁面映射規(guī)則的方式替換原 H5 頁面收錄結(jié)果繼承已有權(quán)重。具體提交方式詳見官方文檔《接入自然搜索結(jié)果 - 配置URL映射規(guī)則》