雅虎十四條:網(wǎng)站前端網(wǎng)頁優(yōu)化的14條原則
時(shí)間:2022-05-30 15:42:02 | 來源:網(wǎng)絡(luò)營(yíng)銷
時(shí)間:2022-05-30 15:42:02 來源:網(wǎng)絡(luò)營(yíng)銷
內(nèi)容再豐富的網(wǎng)站,如果慢到無法訪問也是毫無意義的;SEO做的再好的網(wǎng)站,如果搜索蜘蛛抓不到也是白搭;UE設(shè)計(jì)的再人性化的網(wǎng)站,如果用戶連看都看不到也是空談。
所以,網(wǎng)頁的效率優(yōu)化絕對(duì)是最值得關(guān)注的方面,那么,我們?cè)撊绾尾拍芴岣咭粋€(gè)網(wǎng)頁的效率呢?對(duì)此,我今天就在億企邦上為大家分享一下雅虎網(wǎng)頁優(yōu)化的14條原則,也被稱為:雅虎十四條,而這些原則也是我們作為一名SEO人員所必須了解的。
1、減少HTTP請(qǐng)求次數(shù) 據(jù)統(tǒng)計(jì),有80%的最終用戶響應(yīng)時(shí)間是花在前端程序上,而其大部分時(shí)間則花在各種頁面元素,如圖像、樣式表、腳本和Flash等的下載上,減少頁面元素將會(huì)減少HTTP請(qǐng)求次數(shù),這是快速顯示頁面的關(guān)鍵所在。
一種減少頁面元素個(gè)數(shù)的方法是簡(jiǎn)化頁面設(shè)計(jì),但是否存在其他方式,能做到既有豐富內(nèi)容,又能獲得快速響應(yīng)時(shí)間呢?以下是這樣一些技術(shù):
Image maps組合多個(gè)圖片到一張圖片中,總文件大小變化不大,但減少了HTTP請(qǐng)求次數(shù)從而加快了頁面顯示速度(具體可查看億企邦《提高網(wǎng)站速度的6種網(wǎng)站前端優(yōu)化方法》的相關(guān)介紹),該方式只適合圖片連續(xù)的情況,同時(shí)坐標(biāo)的定義是煩人又容易出錯(cuò)的工作。
CSS Sprites是更好的方法,它可以組合頁面中的圖片到單個(gè)文件中,并使用CSS的background-image和background-position屬性來現(xiàn)實(shí)所需的部分圖片。
Inline images使用data:URL scheme來在頁面中內(nèi)嵌圖片,這將增大HTML文件的大小,組合inline images到你的(緩存)樣式表是既能較少HTTP請(qǐng)求,又能避免加大HTML文件大小的方法。
Combined files通過組合多個(gè)腳本文件到單一文件來減少HTTP請(qǐng)求次數(shù),樣式表也可采用類似方法處理,這個(gè)方法雖然簡(jiǎn)單,但沒有得到大規(guī)模的使用。
據(jù)億企邦收集的資料顯示:國(guó)外10大網(wǎng)站每頁平均有7個(gè)腳本文件和2個(gè)樣式表,當(dāng)頁面之間腳本和樣式表變化很大時(shí),該方式將遇到很大的挑戰(zhàn),但如果做到的話,將能加快響應(yīng)時(shí)間。
減少HTTP請(qǐng)求次數(shù)是性能優(yōu)化的起點(diǎn),這最提高首次訪問的效率起到很重要的作用,據(jù)Tenni Theurer的文章Browser Cache Usage - Exposed描述,40-60%的日常訪問是首次訪問,因此為首次訪問者加快頁面訪問速度是用戶體驗(yàn)的關(guān)鍵。
對(duì)此,億企邦的建議是:將首頁的幾十個(gè)小圖標(biāo)合并為一個(gè),通過CSS控制它們的顯示,減少了HTTP請(qǐng)求數(shù)。
2、使用CDN(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò)) 用戶離web server的遠(yuǎn)近對(duì)響應(yīng)時(shí)間也有很大影響,從用戶角度看,把內(nèi)容部署到多個(gè)地理位置分散的服務(wù)器上將有效提高頁面裝載速度,但是該從哪里開始呢?
作為實(shí)現(xiàn)內(nèi)容地理分布的第一步,不要試圖重構(gòu)web應(yīng)用以適應(yīng)分布架構(gòu),改變架構(gòu)將導(dǎo)致多個(gè)周期性任務(wù),如同步session狀態(tài),在多個(gè)server之間復(fù)制數(shù)據(jù)庫(kù)交易,這樣縮短用戶與內(nèi)容距離的嘗試可能被應(yīng)用架構(gòu)改版所延遲或阻止。
我們還記得80-90%的最終用戶響應(yīng)時(shí)間花在下載頁面中的各種元素上,如圖像文件、樣式表、腳本和Flash等,與其花在重構(gòu)系統(tǒng)這個(gè)困難的任務(wù)上,還不如先分布靜態(tài)內(nèi)容,這不僅能大大減少響應(yīng)時(shí)間,而且由于CDN的存在,分布靜態(tài)內(nèi)容非常容易實(shí)現(xiàn)。
CDN是地理上分布的web server的集合,用于更高效地發(fā)布內(nèi)容,通?;诰W(wǎng)絡(luò)遠(yuǎn)近來選擇給具體用戶服務(wù)的web server。
一些大型網(wǎng)站擁有自己的CDN,但是使用如Akamai Technologies、Mirror Image Internet或Limelight Networks等CDN服務(wù)提供商的服務(wù)將是劃算的,在Yahoo!把靜態(tài)內(nèi)容分布到CDN減少了用戶影響時(shí)間20%或更多,切換到CDN的代碼修改工作是很容易的,但能達(dá)到提高網(wǎng)站的速度。
對(duì)此,億企邦的建議是:目前還沒用到,不過據(jù)客戶反映,廣東山東等地網(wǎng)絡(luò)情況比較差,如果可以將占據(jù)主要帶寬的靜態(tài)資源通過CDN發(fā)布,相信可以大大緩解目前網(wǎng)站訪問速度的問題。
3、增加Expires Header 網(wǎng)頁內(nèi)容正變得越來越豐富,這意味著更多的腳本文件、樣式表、圖像文件和Flash,首次訪問者將不得不面臨多次HTTP請(qǐng)求,但通過使用Expires header,您可以在客戶端緩存這些元素,這在后續(xù)訪問中避免了不必要的HTTP請(qǐng)求,Expires header最常用于圖像文件,但是它也應(yīng)該用于腳本文件、樣式表和Flash。
瀏覽器(和代理)使用緩存來減少HTTP請(qǐng)求的次數(shù)和大小,使得網(wǎng)頁加速裝載,Web server通過Expires header告訴客戶端一個(gè)元素可以緩存的時(shí)間長(zhǎng)度。
如果服務(wù)器是Apache的話,您可以使用ExpiresDefault基于當(dāng)期日期來設(shè)置過期日期,如:ExpiresDefault “access plus 10 years”,設(shè)置過期時(shí)間為從請(qǐng)求時(shí)間開始計(jì)算的10年。
請(qǐng)記住,如果使用超長(zhǎng)的過期時(shí)間,則當(dāng)內(nèi)容改變時(shí),您必須修改文件名稱,在Yahoo!我們經(jīng)常把改名作為release的一個(gè)步驟:版本號(hào)內(nèi)嵌在文件名中,如yahoo_2.0.6.js。
對(duì)此,億企邦的建議是:在Apache配置了JS,CSS,image的緩存,如果靜態(tài)資源需要更新,則采用修改文件版本號(hào)的方案確保客戶端取得最新版本。
4、壓縮頁面元素 通過壓縮HTTP響應(yīng)內(nèi)容可減少頁面響應(yīng)時(shí)間,從HTTP/1.1開始,web客戶端在HTTP請(qǐng)求中通過Accept-Encoding頭來表明支持的壓縮類型,如:Accept-Encoding: gzip,deflate.
如果Web server檢查到Accept-Encoding頭,它會(huì)使用客戶端支持的方法來壓縮HTTP響應(yīng),會(huì)設(shè)置Content-Encoding頭,如:Content-Encoding: gzip。
Gzip是目前最流行及有效的壓縮方法,其他的方式如deflate,但它效果較差,也不夠流行。通過Gzip,內(nèi)容一般可減少70%;如果是Apache,在1.3版本下需使用mod_gzip模塊,而在2.x版本下,則需使用mod_deflate。
Web server根據(jù)文件類型來決定是否壓縮,大部分網(wǎng)站對(duì)HTML文件進(jìn)行壓縮,但對(duì)腳本文件和樣式表進(jìn)行壓縮也是值得的,實(shí)際上,對(duì)包括XML和JSON在內(nèi)的任務(wù)文本信息進(jìn)行壓縮都是值得的,圖像文件和PDF文件不應(yīng)該被壓縮,因?yàn)樗鼈儽緛砭褪菈嚎s格式保存的,對(duì)它們進(jìn)行壓縮,不但浪費(fèi)CPU,而且還可能增加文件的大小。
因此,對(duì)盡量多的文件類型進(jìn)行壓縮是一種減少頁面大小和提高用戶體驗(yàn)的簡(jiǎn)便方法。
對(duì)此,億企邦的建議是:600多K的ext2包,是人都會(huì)想到要去壓縮它,壓縮后的效果還不錯(cuò),只有150多K,另外,JS、CSS、HTML也盡量壓縮(在此也推薦一種壓縮CSS代碼的簡(jiǎn)單工具:http://www.mahaixiang.cn/zyxz/zxgj/cssys.html),要知道我們的很多客戶還在使用1M的ADSL。
5、把樣式表放在頭上 無論是HTML還是XHTML還是CSS都是解釋型的語言,而非編譯型的,所以CSS到上方的話,那么瀏覽器解析結(jié)構(gòu)的時(shí)候,就已經(jīng)可以對(duì)頁面進(jìn)行渲染,這樣就不會(huì)出現(xiàn),頁面結(jié)構(gòu)光禿禿的先出來,然后CSS渲染,頁面又突然華麗起來,這樣太具有“戲劇性”的頁面瀏覽體驗(yàn)了。
我們發(fā)現(xiàn)把樣式表移到HEAD部分可以提高界面加載速度,因此這使得頁面元素可以順序顯示。
在很多瀏覽器下,如IE,把樣式表放在document的底部的問題在于它禁止了網(wǎng)頁內(nèi)容的順序顯示,瀏覽器阻止顯示以免重畫頁面元素,那用戶只能看到空白頁了,F(xiàn)irefox不會(huì)阻止顯示,但這意味著當(dāng)樣式表下載后,有些頁面元素可能需要重畫,這導(dǎo)致閃爍問題。
HTML規(guī)范明確要求樣式表被定義在HEAD中,因此,為避免空白屏幕或閃爍問題,最好的辦法是遵循HTML規(guī)范,把樣式表放在HEAD中。
對(duì)此,億企邦的建議是:目前還沒有碰到把樣式表放在文檔后面的情況吧?
6、把腳本文件放在底部 與樣式文件一樣,我們需要注意腳本文件的位置,我們需盡量把它們放在頁面的底部,這樣一方面能順序顯示,另方面可達(dá)到最大的并行下載。
瀏覽器會(huì)阻塞顯示直到樣式表下載完畢,因此我們需要把樣式表放在HEAD部分,而對(duì)于腳本來說,腳本后面內(nèi)容的順序顯示將被阻塞,因此把腳本盡量放在底部意味著更多內(nèi)容能被快速顯示。
腳本引起的第二個(gè)問題是它阻塞并行下載數(shù)量,HTTP/1.1規(guī)范建議瀏覽器每個(gè)主機(jī)的并行下載數(shù)不超過2個(gè),因此如果您把圖像文件分布到多臺(tái)機(jī)器的話,您可以達(dá)到超過2個(gè)的并行下載,但是當(dāng)腳本文件下載時(shí),瀏覽器不會(huì)啟動(dòng)其他的并行下載,甚至其他主機(jī)的下載也不啟動(dòng)。
在某些情況下,不是很容易就能把腳本移到底部的,如,腳本使用document.write方法來插入頁面內(nèi)容,同時(shí)可能還存在域的問題,不過在很多情況下,還是有一些方法的。
一個(gè)備選方法是使用延遲腳本(deferred script),DEFER屬性表明腳本未包含document.write,指示瀏覽器刻繼續(xù)顯示,不幸的是,F(xiàn)irefox不支持DEFER屬性,在IE中,腳本可能被延遲執(zhí)行,但不一定得到需要的長(zhǎng)時(shí)間延遲。
不過,從另外角度來說,如果腳本能被延遲執(zhí)行,那它就可以被放在底部了。
對(duì)此,億企邦的建議是:這點(diǎn)之前大家可能都沒有意識(shí)到,不過在我們的XCube XUI中我們已經(jīng)實(shí)施了這條法則,相信可以進(jìn)一步提升頁面的訪問性能。
7、避免CSS表達(dá)式 CSS表達(dá)式是功能強(qiáng)大的(同時(shí)也是危險(xiǎn)的)用于動(dòng)態(tài)設(shè)置CSS屬性的方式,IE從版本5開始支持CSS表達(dá)式,如backgourd-color: expression((new Date()).getHours()%2?”#B8D4FF”:”#F08A00”),即背景色每個(gè)小時(shí)切換一次。
CSS表達(dá)式的問題是其執(zhí)行次數(shù)超過大部分人的期望,不僅頁面顯示和resize時(shí)計(jì)算表達(dá)式,而且當(dāng)頁面滾屏,甚至當(dāng)鼠標(biāo)在頁面上移動(dòng)時(shí)都會(huì)重新計(jì)算表達(dá)式。
一種減少CSS表達(dá)式執(zhí)行次數(shù)的方法是一次性表達(dá)式,即當(dāng)?shù)谝淮螆?zhí)行時(shí)就以明確的數(shù)值代替表達(dá)式,如果必須動(dòng)態(tài)設(shè)置的話,可使用事件處理函數(shù)代替,如果您必須使用CSS表達(dá)式的話,請(qǐng)記住它們可能被執(zhí)行上千次,從而影響頁面性能(具體可查看億企邦《資深Web前端開發(fā)工程師教你如何優(yōu)化CSS框架》的相關(guān)介紹)。
對(duì)此,億企邦的建議是:目前CSS的維護(hù)工作主要由UI人員負(fù)責(zé),他們已經(jīng)盡量在避免這種情況了。
8、把JavaScript和CSS放到外部文件中 上述很多性能優(yōu)化法則都基于外部文件進(jìn)行優(yōu)化,現(xiàn)在,我們必須問一個(gè)問題:JavaScript和CSS應(yīng)該包括在外部文件,還是在頁面文件中?
在現(xiàn)實(shí)世界中,使用外部文件會(huì)加快頁面顯示速度,因?yàn)橥獠课募?huì)被瀏覽器緩存,如果內(nèi)置JavaScript和CSS在頁面中雖然會(huì)減少HTTP請(qǐng)求次數(shù),但增大了頁面的大小。
另外一方面,使用外部文件,會(huì)被瀏覽器緩存,則頁面大小會(huì)減小,同時(shí)又不增加HTTP請(qǐng)求次數(shù)。
因此,一般來說,外部文件是更可行的方式,唯一的例外是內(nèi)嵌方式對(duì)主頁更有效,如Yahoo!和My Yahoo!都使用內(nèi)嵌方式,一般來說,在一個(gè)session中,主頁訪問此時(shí)較少,因此內(nèi)嵌方式可以取得更快的用戶響應(yīng)時(shí)間。
對(duì)此,億企邦的建議是:ext2的代碼作了很好的引導(dǎo),目前前端開發(fā)人員都非常注意客戶端模塊的封裝、重用,盡量以外部JS的方式提高代碼的重用度,當(dāng)然也要注意不要引入過多的外部資源,因?yàn)檫@違反了法則1。
目前CSS的封裝也不錯(cuò),但是主要是針對(duì)IE系列的解決方案,可以考慮引入YAML、blueprint等CSS框架,輕松解決瀏覽器兼容性問題。
另外,億企邦要提醒大家一點(diǎn):把JavaScript和css文件放到外部,并不內(nèi)嵌于網(wǎng)頁,同時(shí)可以考慮把樣式表放到頭上把腳本文件放到底部。需要注意的是盡量不要使用css的表達(dá)式,他很容易讓瀏覽器出現(xiàn)假死。
9、減少DNS查詢次數(shù) DNS用于映射主機(jī)名和IP地址,一般一次解析需要20~120毫秒,為達(dá)到更高的性能,DNS解析通常被多級(jí)別地緩存,如由ISP或局域網(wǎng)維護(hù)的caching server,本地機(jī)器操作系統(tǒng)的緩存(如windows上的DNS Client Service),瀏覽器,IE的缺省DNS緩存時(shí)間為30分鐘,F(xiàn)irefox的缺省緩沖時(shí)間是1分鐘。
減少主機(jī)名可減少DNS查詢的次數(shù),但可能造成并行下載數(shù)的減少,避免DNS查詢可減少響應(yīng)時(shí)間,而減少并行下載數(shù)可能增加響應(yīng)時(shí)間,一個(gè)可行的折中是把內(nèi)容分布到至少2個(gè),最多4個(gè)不同的主機(jī)名上。
對(duì)此,億企邦的建議是:為了繞開瀏覽器對(duì)下載線程數(shù)的限制,我們對(duì)靜態(tài)資源啟用了多域名,但是這么做違反了該法則,不過,對(duì)windows IE來說,DNS的緩存可以緩解該問題。
10、最小化JavaScript代碼 最小化JavaScript代碼指在JS代碼中刪除不必要的字符,從而降低下載時(shí)間,兩個(gè)流行的工具是#JSMin和YUI Compressor。
混淆是最小化于源碼的備選方式,象最小化一樣,它通過刪除注釋和空格來減少源碼大小,同時(shí)它還可以對(duì)代碼進(jìn)行混淆處理,作為混淆的一部分,函數(shù)名和變量名被替換成短的字符串,這使得代碼更緊湊,同時(shí)也更難讀,使得難于被反向工程,Dojo Compressor (ShrinkSafe)是最常見的混淆工具。
最小化是安全的、直白的過程,而混淆則更復(fù)雜,而且容易產(chǎn)生問題,從對(duì)國(guó)外10大網(wǎng)站的調(diào)查來看,通過最小化,文件可減少21%,而混淆則可減少25%(具體可查看億企邦《推薦一種測(cè)試javascript執(zhí)行性能和性能比較的方法》的相關(guān)介紹)。
除了最小化外部腳本文件外,內(nèi)嵌的腳本代碼也應(yīng)該被最小化,即使腳本根據(jù)法則4被壓縮后傳輸,最小化腳本刻減少文件大小5%或更高。
對(duì)此,億企邦的建議是:我們沒有直接使用JS壓縮,但是我們用的許多組件例如ext2、jquery等,已經(jīng)在為我們實(shí)踐該法則。
11、避免重定向 重定向功能是通過301和302這兩個(gè)HTTP狀態(tài)碼完成的,如:
HTTP/1.1 301 Moved Permanently
Location: http://mahaixiang.cn/newuri
Content-Type: text/html
瀏覽器自動(dòng)重定向請(qǐng)求到Location指定的URL上,重定向的主要問題是降低了用戶體驗(yàn)。
一種最耗費(fèi)資源、經(jīng)常發(fā)生而很容易被忽視的重定向是URL的最后缺少/,如訪問http://www.mahaixiang.cn/astrology將被重定向到http://www.mahaixiang.cn/astrology/,在Apache下,可以通過Alias,mod_rewrite或DirectorySlash等方式來解決該問題。
經(jīng)驗(yàn)豐富的SA已經(jīng)為我們考慮了這個(gè)問題,對(duì)此,億企邦的建議是:大家可以看看線上環(huán)境的Apache配置文件:httpd.conf。
12、刪除重復(fù)的腳本文件 在一個(gè)頁面中包含重復(fù)的JS腳本文件會(huì)影響性能,即它會(huì)建立不必要的HTTP請(qǐng)求和額外的JS執(zhí)行。
不必要的HTTP請(qǐng)求發(fā)生在IE下,而Firefox不會(huì)產(chǎn)生多余的HTTP請(qǐng)求,額外的JS執(zhí)行,不管在IE下,還是在Firefox下,都會(huì)發(fā)生。
一個(gè)避免重復(fù)的腳本文件的方式是使用模板系統(tǒng)來建立腳本管理模塊,除了防止重復(fù)的腳本文件外,該模塊還可以實(shí)現(xiàn)依賴性檢查和增加版本號(hào)到腳本文件名中,從而實(shí)現(xiàn)超長(zhǎng)的過期時(shí)間。
對(duì)此,億企邦的建議是:舊版本的Xplatform中這個(gè)問題比較嚴(yán)重,不過相信新版的XCube不會(huì)重蹈覆轍。
另外,提醒大家一點(diǎn):一些javascript框架、javascript包一定要慎用,至少要問一下:用了這個(gè)js kit到底給我們多少方便,提高了多少工作效率,然后,再與它因?yàn)槎嘤嗟?、重?fù)的代碼帶來的負(fù)面效果比較一下。
13、配置ETags Etag(Entity tags)實(shí)體標(biāo)簽,這個(gè)tag和你在網(wǎng)上經(jīng)??吹降臉?biāo)簽云那種tag有點(diǎn)區(qū)別,這個(gè)Etag不是給用戶用的,而是給瀏覽器緩存用的。
Etag是服務(wù)器告訴瀏覽器緩存,緩存中的內(nèi)容是否已經(jīng)發(fā)生變化的一種機(jī)制,通過Etag,瀏覽器就可以知道現(xiàn)在的緩存中的內(nèi)容是不是最新的,需不需要重新從服務(wù)器上重新下載,這和“Last-Modified”的概念有點(diǎn)類似,很遺憾作為網(wǎng)頁開發(fā)人員對(duì)此無能為力,他依然是網(wǎng)站服務(wù)器人員的工作范疇。
ETags是用于確定瀏覽器緩存中元素是否與Web server中的元素相匹配的機(jī)制,它是比last-modified date更靈活的元素驗(yàn)證機(jī)制。
ETag是用于唯一表示元素版本的字符串,它需被包括在引號(hào)中,Web server首先在response中指定ETag:
HTTP/1.1 200 OK
Last-Modified: Tue, 12 Dec 2006 03:03:59 GMT
ETag: "10c24bc-4ab-457e1c1f"
Content-Length: 12195
后來,如果瀏覽器需要驗(yàn)證某元素,它使用If-None-Match頭回傳ETag給Web server,如果ETag匹配,則服務(wù)器返回304代碼,從而節(jié)省了下載時(shí)間:
GET /i/yahoo.gif HTTP/1.1
Host: mahaixiang.cn
If-Modified-Since: Tue, 12 Dec 2006 03:03:59 GMT
If-None-Match: "10c24bc-4ab-457e1c1f"
HTTP/1.1 304 Not Modified
ETags的問題在于它們是基于服務(wù)器唯一性的某些屬性構(gòu)造的,如Apache1.3和2.x,其格式是inode-size-timestamp,而在IIS5.0和6.0下,其格式是Filetimestamp:ChangeNumber。
這樣同一個(gè)元素在不同的web server上,其ETag是不一樣的,在多Web server的環(huán)境下,瀏覽器先從server1請(qǐng)求某元素,后來向server2驗(yàn)證該元素,由于ETag不同,所以緩存失效,必須重新下載。
因此,如果您未用到ETags系統(tǒng)提供的靈活的驗(yàn)證機(jī)制,最好刪除ETag,刪除ETag會(huì)減少http response及后續(xù)請(qǐng)求的HTTP頭的大小,微軟支持文章描述了如何刪除ETags,而在Apache下,只要在配置文件中設(shè)置FileETag none即可。
對(duì)此,億企邦的建議是:自定義ETag的生成策略,以盡量減少探頭規(guī)則的生成次數(shù),由于不是采用服務(wù)器默認(rèn)的ETag,不存在該問題,如果以前沒有關(guān)注過的,趕快檢查一下Apache中的配置。
14、緩存Ajax 現(xiàn)在的Ajax好像有點(diǎn)被神話了,好像網(wǎng)頁只要Ajax了,那么就不存在效率問題了,其實(shí)這是一種誤解,拙劣的使用Ajax不會(huì)讓你的網(wǎng)頁效率更高,反而會(huì)降低你的網(wǎng)頁效率。
在億企邦看來,Ajax的確是個(gè)好東西,但是請(qǐng)不要過分的神話它,使用Ajax的時(shí)候也要考慮上面的那些準(zhǔn)則。
另外,性能優(yōu)化法則同樣適用于web 2.0應(yīng)用,提高Ajax的性能最重要的方式是使得其response可緩存,就象“法則3增加Expires Header”討論的那樣,以下其他法則同樣適用于Ajax,當(dāng)然法則3是最有效的方式。
億企邦點(diǎn)評(píng): 網(wǎng)頁設(shè)計(jì)和SEO技術(shù)結(jié)合是網(wǎng)絡(luò)技術(shù)發(fā)展對(duì)網(wǎng)頁設(shè)計(jì)師的新要求,95%的SEO技巧很簡(jiǎn)單,而最重要的5%是“經(jīng)驗(yàn)”、“創(chuàng)意”和“人脈”,需要在工作中根據(jù)實(shí)際情況不斷做出調(diào)整策略,并持之以恒地把SEO優(yōu)化堅(jiān)持下去。