2019年上半年微信發(fā)布了基于小程序頁面的搜索,為了讓我們更好地發(fā)現(xiàn)及理解小程序的頁面,結(jié)合過去一段時(shí)間來我們遇到的各種情況,濟(jì)南小程序開發(fā)強(qiáng)烈建議各位開發(fā)者花一些寶貴的時(shí)間認(rèn)真閱讀本文:)
爬蟲訪問小程序內(nèi)頁面時(shí),會(huì)攜帶特定的 user-agent "mpcrawler" 及場景值:1129
1. 小程序里跳轉(zhuǎn)的頁面 (url) 可被直接打開。
小程序頁面內(nèi)的跳轉(zhuǎn)url是我們爬蟲發(fā)現(xiàn)頁面的重要來源,且搜索引擎召回的結(jié)果頁面 (url) 是必須能直接打開,不依賴上下文狀態(tài)的。特別的:建議頁面所需的參數(shù)都包含在url
2. 頁面跳轉(zhuǎn)優(yōu)先采用navigator組件。
小程序提供了兩種頁面路由方式:
a.navigator 組件
b. 路由 API,包括 navigateTo / redirectTo / switchTab / navigateBack / reLaunch
建議使用 navigator 組件,若不得不使用API,可在爬蟲訪問時(shí)屏蔽針對(duì)點(diǎn)擊設(shè)置的時(shí)間鎖或變量鎖。
3.清晰簡潔的頁面參數(shù)。
結(jié)構(gòu)清晰、簡潔、參數(shù)有含義的 querystring 對(duì)抓取以及后續(xù)的分析都有很大幫助,但是將 JSON 數(shù)據(jù)作為參數(shù)的方式是比較糟糕的實(shí)現(xiàn)。
4. 必要的時(shí)候才請(qǐng)求用戶進(jìn)行授權(quán)、登錄、綁定手機(jī)號(hào)等。
建議在必須的時(shí)候才要求用戶授權(quán)(比如閱讀文章可以匿名,而發(fā)表評(píng)論需要留名)。
5. 我們不收錄 web-view 中的任何內(nèi)容。
我們暫時(shí)做不到這一點(diǎn),長期來看,我們可能也做不到。
6. 利用 sitemap 配置引導(dǎo)爬蟲抓取,同時(shí)屏蔽無搜索價(jià)值的路徑。
https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html
7. 設(shè)置一個(gè)清晰的標(biāo)題和頁面縮略圖。
頁面標(biāo)題和縮略圖對(duì)于我們理解頁面和提高曝光轉(zhuǎn)化有重要的作用。
通過wx.setNavigationBarTitle或 自定義轉(zhuǎn)發(fā)內(nèi)容onShareAppMessage對(duì)頁面的標(biāo)題和縮略圖設(shè)置,另外也為 video、audio 組件補(bǔ)齊 poster /poster-for-crawler屬性。
8. 使用頁面路徑推送能力
可極大豐富微信可以收錄的內(nèi)容,進(jìn)而提高小程序內(nèi)容的曝光機(jī)會(huì)。請(qǐng)參考: ?https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/search/search.submitPages.html