Insight Internet frontier information
洞悉互聯(lián)網(wǎng)前沿資訊/探尋網(wǎng)站優(yōu)化規(guī)律發(fā)表日期:2019-05-18 00:00文章編輯:九天網(wǎng)絡(luò)編輯瀏覽次數(shù):0
一個(gè)臭名昭著的單頁面應(yīng)用(SPA)開發(fā)領(lǐng)域是SEO。根據(jù)您的要求,搜索引擎抓取客戶端呈現(xiàn)的內(nèi)容要么完全正常,只要它是同步的,或者根本不是很好。
由于所有這些相互矛盾的建議引起的混亂,我經(jīng)常看到問題“我的Vue SPA是否適合SEO?” 來自像Vue.js Developers Facebook小組,Vue.js論壇和Reddit上的r / vuejs這樣的地方。
在本文中,我們將挑戰(zhàn)流行的觀點(diǎn),做一些基本的測試,并嘗試總結(jié)一些明智的建議,建立SEO友好的SPA。
客戶端呈現(xiàn)內(nèi)容的問題
單頁面應(yīng)用程序的標(biāo)準(zhǔn)實(shí)現(xiàn)為瀏覽器提供了一個(gè)頁面“shell”,而不包含任何有意義的內(nèi)容。而是使用AJAX從服務(wù)器按需加載內(nèi)容,然后通過JavaScript將其添加到頁面。
這允許用戶在沒有頁面刷新的情況下查看SPA站點(diǎn)的“頁面”,從理論上改進(jìn)UX。
雖然這種架構(gòu)適用于在瀏覽器中查看頁面的人類用戶,但搜索引擎爬蟲呢?抓取工具可以運(yùn)行JavaScript嗎?如果是這樣,他們會在抓取頁面之前等待AJAX調(diào)用完成嗎?
重要的是要知道這一點(diǎn),因?yàn)樗梢源_定網(wǎng)站建設(shè)的內(nèi)容是否可以被搜索引擎索引,同樣重要的是,它的內(nèi)容排名是多少。
Googlebot
由于Google是全球領(lǐng)先的搜索引擎,因此我們的調(diào)查應(yīng)專注于Google搜索引擎抓取工具Googlebot。
在網(wǎng)絡(luò)發(fā)布初期,Googlebot只會抓取頁面中提供的靜態(tài)HTML。然而,2014年宣布,Googlebot現(xiàn)在會嘗試在開始抓取之前呈現(xiàn)JavaScript。
為了幫助調(diào)試渲染經(jīng)JavaScript修改的頁面的任何問題,Google為網(wǎng)站管理員提供了Google抓取工具,該工具會顯示Googlebot在特定網(wǎng)址上看到的內(nèi)容的快照。
一個(gè)常見的誤解是Googlebot不會抓取異步JavaScript。這篇文章在破壞它方面做得很好。TLDR; Googlebot會等待至少20秒才能完成異步調(diào)用!
Googlebot如何看待SPA
典型的Vue.js SPA示例是Vue HackerNews Clone 2.0。這是Vue團(tuán)隊(duì)提供的一個(gè)開源項(xiàng)目,用于演示Vue的全部功能和有效的設(shè)計(jì)模式。
我將此應(yīng)用程序部署到Heroku實(shí)例并通過Fetch As Google運(yùn)行。在下圖中,左側(cè)的屏幕截圖顯示了Googlebot如何看到它,右側(cè)的屏幕截圖顯示了用戶將如何看到它。它們似乎完全相同。
許多開發(fā)人員看到谷歌2014年關(guān)于JavaScript渲染的公告是對SEO內(nèi)容的SEO擔(dān)憂的終結(jié)。實(shí)際上,無法保證Googlebot會正確呈現(xiàn)網(wǎng)頁,如果確實(shí)如此,它仍然可能會將網(wǎng)頁排名低于競爭網(wǎng)站中的靜態(tài)HTML網(wǎng)頁。