基礎(chǔ)知識:SEO(Search Engine Optimization):漢譯為搜索引擎優(yōu)化,它利用搜索引擎的規(guī)則提高網(wǎng)站在有關(guān)搜索引擎內(nèi)的自然排名。 John DeFeo 我喜歡開玩笑說SEO代表“其他人的義務(wù)”,因?yàn)楫?dāng)出現(xiàn)問題時(shí)很容易被指責(zé)。工程師們懂得這種痛。很多人指責(zé)他們,有時(shí)是“SEO人員”。但是,事實(shí)是這樣的:如果你的技術(shù)問題已經(jīng)全部解決,就不會(huì)有搜索引擎優(yōu)化這樣的事情。 工程師有責(zé)任理解他們在SEO中的角色,同樣,那些與工程師一起工作的人也有責(zé)任與他們合作,而不是在出現(xiàn)問題時(shí)責(zé)怪他們。這種關(guān)系需要公開和誠實(shí)地分享信息。 我希望這篇文章突出了一些重要但很少討論的話題,這些話題不僅值得工程界討論,也值得依賴工程團(tuán)隊(duì)的人討論。 服務(wù)器穩(wěn)定性和停機(jī)時(shí)間 503服務(wù)不可用”HTTP響應(yīng)代碼是處理計(jì)劃停機(jī)或意外停機(jī)的最佳方式。與其他5XX響應(yīng)相比,它對搜索排名的影響很小。 500、502和504 HTTP響應(yīng)代碼會(huì)導(dǎo)致谷歌關(guān)閉一個(gè)網(wǎng)頁或完全取消索引。每次一個(gè)人或搜索爬蟲收到這些響應(yīng)代碼中的一個(gè),隨著時(shí)間的推移,預(yù)計(jì)會(huì)失去5-10次有機(jī)訪問。 快速溝通,并在出現(xiàn)問題時(shí)向管理者發(fā)送更新。否則,你會(huì)被許多尋找答案的人所困擾(這會(huì)妨礙你的團(tuán)隊(duì)尋找解決方案)。 為每個(gè)有害響應(yīng)代碼(例如4XX和5XX錯(cuò)誤)創(chuàng)建自定義皮膚和跟蹤事件。當(dāng)外行人能夠提供一些細(xì)節(jié)時(shí),問題就更容易診斷。 計(jì)算錯(cuò)誤率時(shí)要非常小心。一個(gè)復(fù)雜的web頁面在加載完成時(shí)可能會(huì)調(diào)用服務(wù)器150次。這意味著日志文件將低估預(yù)先發(fā)生的有害響應(yīng)代碼的頻率。假設(shè)一個(gè)web頁面被加載了兩次。第一次,它響應(yīng)一個(gè)“200-OK”狀態(tài)碼,并加載頁面上的其他所有內(nèi)容。第二次嘗試時(shí),它會(huì)響應(yīng)一個(gè)“502-Bad Gateway”狀態(tài)碼,頁面的其余部分無法加載。服務(wù)器總共被調(diào)用了151次,其中只有一次是502狀態(tài),但是,該用戶的錯(cuò)誤率是50%,而不是0.6%! 抵抗擱置軼事證據(jù)的誘惑。許多被認(rèn)為是“不能重現(xiàn)”而擱置的bug是更大問題的預(yù)兆。 內(nèi)容交付網(wǎng)絡(luò)和緩存 緩存不能替代基本的站點(diǎn)優(yōu)化。可以把緩存頁面想象成約會(huì)網(wǎng)站上一張很棒的照片。這是人們看到的第一件事,但是當(dāng)你開始一段關(guān)系,一個(gè)人開始了解“真正的你”。用戶和搜索引擎也是如此。 類似地,支持AMP的頁面也不能替代速度慢的移動(dòng)站點(diǎn)。 注意頁面大小限制。例如,Akamai有一個(gè)嚴(yán)格的的1MB文件大小限制,當(dāng)超過該限制時(shí)將導(dǎo)致一個(gè)500響應(yīng)代碼。 將內(nèi)部日志與CDN日志合并,否則90%以上的問題可能無法檢測到。 考慮在大型網(wǎng)站上使用“304-Not Modified”響應(yīng)代碼,這些網(wǎng)站有很多頁面不經(jīng)常更改。 尋找沒有必要的動(dòng)態(tài)查詢(例如填充很少更改的列表頁面的邏輯)。你可以通過緩存查詢和調(diào)度刷新來避免服務(wù)器上不必要的負(fù)擔(dān)。 重寫規(guī)則和重定向管理 當(dāng)你更改URL時(shí),確保在啟動(dòng)時(shí)驗(yàn)證了重定向。這將帶來最大程度的舊頁面的信任和公平。讓URL斷開,然后再修復(fù)它們這無異于自殺:谷歌會(huì)隨著時(shí)間的推移而降低此故障頁面的值。 檢查重寫標(biāo)志或規(guī)則是否正在導(dǎo)致重定向鏈。當(dāng)站點(diǎn)以HTTP形式啟動(dòng)并遷移到HTTPs時(shí),這很容易發(fā)生。一些URL在安全版本和非安全版本之間來回切換,直到到達(dá)最終目的地。這些額外的跳轉(zhuǎn)會(huì)破壞原始URL具有的公平性(equity)。 如果撤銷或反向重定向,請清除你的CDN緩存,以避免重定向循環(huán)。 機(jī)器人阻塞 在被證明有罪之前,寧可做無罪的事。網(wǎng)站的超級用戶最有可能是那些像機(jī)器人一樣的人,因?yàn)樗麄兊臑g覽速度很“不正常”,或者瀏覽器安裝的插件也可能會(huì)讓人掉入陷阱。這聽起來像是一個(gè)邊緣案例,但在Quora這樣的社區(qū)網(wǎng)站上,一個(gè)超級用戶每月可以吸引1萬到1.2萬的訪問量。 俄羅斯的機(jī)器人不會(huì)自動(dòng)變壞,美國的機(jī)器人也不會(huì)自動(dòng)變好。許多壞蛋在亞馬遜公司的美國境內(nèi)部署基于AWS服務(wù)器的機(jī)器人。 延遲和PageSpeed PageSpeed(一款網(wǎng)頁速度測量工具,也可以理解為頁面加載速度) 快速選擇一種測量工具(比如Rigor,Lighthouse或PageSpeed Insights)并堅(jiān)持使用。趨勢比精確的數(shù)字更重要,在工具上吹毛求疵很容易浪費(fèi)時(shí)間。 手機(jī)移動(dòng)頁面速度很重要,即使你運(yùn)行的是一個(gè)AMP版本的網(wǎng)站。谷歌根據(jù)網(wǎng)站的本地移動(dòng)體驗(yàn)(包括速度、用戶體驗(yàn)和其他因素)來判斷網(wǎng)站。 要求某個(gè)人擁有添加到頁面中的每個(gè)跟蹤像素和標(biāo)記的所有權(quán),然后讓這些責(zé)任人每六個(gè)月對他們的標(biāo)記整理一次。如果你不這樣做,人們會(huì)要求你在頁面中添加垃圾,直到你的團(tuán)隊(duì)因?yàn)檎军c(diǎn)緩慢而受到指責(zé)。 服務(wù)器響應(yīng)時(shí)間對于擁有數(shù)百萬頁面的站點(diǎn)尤其重要。如果你的服務(wù)器響應(yīng)緩慢,谷歌不會(huì)停留太久。 如果你在大型網(wǎng)站上運(yùn)行NGINX,請確保實(shí)時(shí)Gzip壓縮不會(huì)弊大于利(比如,造成瓶頸,從而降低服務(wù)器響應(yīng)時(shí)間)。 清除任何阻礙頁面呈現(xiàn)的東西。這將同時(shí)改善許多指標(biāo)。(即使是純文本網(wǎng)站[1],在加載JS、CSS和字體時(shí)也會(huì)遇到瓶頸。) 關(guān)注頁面加載的前200ms和2s期間發(fā)生的事情。由于動(dòng)態(tài)元素(如廣告)的影響,有些頁面從不會(huì)加載“完全”。 關(guān)鍵渲染路徑 Time-to-first-byte(TTFB全稱Time To First Byte,是指網(wǎng)絡(luò)請求被發(fā)起到從服務(wù)器接收到第一個(gè)字節(jié)的這段時(shí)間,它包含了 TCP連接時(shí)間,發(fā)送HTTP請求時(shí)間和獲得響應(yīng)消息第一個(gè)字節(jié)的時(shí)間。)是一個(gè)重要的指標(biāo),但同樣重要的是第一個(gè)字節(jié)中包含的內(nèi)容。在打開與服務(wù)器的新連接之前,瀏覽器應(yīng)該能夠構(gòu)建第一屏的內(nèi)容。 定義頁面元素的大小,以避免跳躍和搖晃頁面。當(dāng)頁面來回移動(dòng)時(shí),用戶會(huì)感到沮喪,這會(huì)讓整個(gè)頁面看上去很慢,即使它加載得很快。 閱讀Ilya Grigorik在這個(gè)主題上發(fā)表的文章[2]。即使是經(jīng)驗(yàn)豐富的開發(fā)人員也可以從中學(xué)到一些東西。 GOOGLEBOT(谷歌網(wǎng)頁抓取機(jī)器人)的“新”技術(shù)和可訪問性 客戶端呈現(xiàn)可能意味著SEO的死亡。(看看Hulu發(fā)生了什么[3]。)谷歌建議你為他們的搜索爬蟲程序提供一個(gè)服務(wù)器端呈現(xiàn)的頁面,即使用戶也將會(huì)看到客戶端呈現(xiàn)的頁面。(注:谷歌并不認(rèn)為這是一種掩飾,盡管它看起來是。) 在用戶看到“無限滾動(dòng)”的情況下,為Googlebot提供簡單的分頁。 避免使用“塊級別”鏈接,即使它簡化了代碼。所有這些額外的東西都被打包到一個(gè)標(biāo)記中,這使得Googlebot很難將上下文值傳遞到目標(biāo)頁面。 STAGING(模擬)和QA 使用robots.txt文件阻止搜索引擎從模擬和QA(Question Asked)站點(diǎn)爬取數(shù)據(jù)。 在谷歌搜索控制臺(tái)注冊staging和QA站點(diǎn)。這聽起來不可思議(因?yàn)槟悴幌M阉饕嬲业竭@些域名),但是如果測試域名意外地被索引時(shí),你可以在搜索控制臺(tái)中刪除整個(gè)域名的索引。 產(chǎn)品需求 找個(gè)人(最好是SEO團(tuán)隊(duì)里的,但如果沒有的話,那就是產(chǎn)品經(jīng)理)來定義必須構(gòu)建到頁面中的所有東西,包括一些顯而易見的東西,比如標(biāo)簽和其他元數(shù)據(jù)。這很乏味,他們會(huì)討厭你問這問那,但如果你創(chuàng)建的頁面沒有考慮到這些關(guān)鍵標(biāo)簽,他們會(huì)更討厭你。 內(nèi)部鏈接 鏈接是網(wǎng)站和整個(gè)網(wǎng)絡(luò)的生命線。任何重要的東西離主頁的距離都不應(yīng)該超過5次點(diǎn)擊,所以對于那些想要去掉登錄頁面、導(dǎo)航鏈接等的“偉大的簡化者”來說,這會(huì)存在很多問題。 注冊商和IP管理 永遠(yuǎn)不要讓營銷人員從網(wǎng)站托管的IP地址發(fā)送時(shí)事通訊和促銷電子郵件。一個(gè)違反CAN-SPAM(反垃圾電子郵件)法案的流氓員工可能會(huì)導(dǎo)致整個(gè)網(wǎng)站被列入黑名單。 確保有人花時(shí)間填寫注冊機(jī)構(gòu)要求的年度“你的聯(lián)系方式是最新的嗎”調(diào)查問卷。如果你不這樣做,就會(huì)使某些不法分子更容易地從技術(shù)上竊取你的域名。 JAVASCRIPT腳本 一個(gè)頁面開始呈現(xiàn),然后變成純白色,經(jīng)常會(huì)因?yàn)殚_啟 write()標(biāo)記而中斷。 Google會(huì)嘗試在Javascript中遵循相對路徑,即使它們不存在。這會(huì)導(dǎo)致受污染的爬取錯(cuò)誤報(bào)告。 當(dāng)錯(cuò)誤發(fā)生時(shí) 行動(dòng)要快,因?yàn)楣雀枋莻€(gè)善變的情人。建造一所房子需要幾個(gè)月的時(shí)間,而燒毀它只需幾分鐘,所以要迅速地熄滅火柴,并花時(shí)間向每個(gè)人傳授消防安全知識! 內(nèi)容來自騰訊新聞
|
|