標籤:web開發效能最佳化---seo最佳化篇 效能最佳化 seo
一、清理垃圾代碼
清理垃圾代碼是指刪除頁面中的冗餘代碼,可以刪除80%的冗餘代碼。
垃圾代碼主要指那些刪除了也不會對頁面有任何影響的非必要代碼。 最常見的垃圾代碼,空格 空格字元是網頁中最常見的垃圾代碼。但並不是指標籤,而是有代碼編輯環境下敲擊空格所產生的符號,每個空格相當一個字元,那麼也就是說,一個頁面,空格就占頁面體積的15%,100K的頁面,有15K是空格字元。 空格字元最常出現 在代碼的開始和結束處,還有就是空行中。 這些都是容易產生垃圾代碼的地方。消除這樣的垃圾代碼的方法就是選中代碼然後按shift+tab鍵靠左對齊。
二、HTML標籤
A:HTML標籤轉換
HTML標籤的轉換主要是指使用短標籤替換在網頁中有同樣效果的長標籤,例如<b>與<strony>兩者都是對字型加粗但是<strong>卻比<b>多了5個字元。如果一個頁面出現上百個加粗標籤。就會產生不少的冗餘代碼。 解決方案是:在製作html頁面的時候,進行最佳化的選擇使用的標籤。
B:頭部標籤
<title>網站標題</title> 標題設定
<meta name="keywords" content="網站關鍵字,多個關鍵字用分隔字元分開,如 |" /> 關鍵子設定,考慮密度
<meta name="description" content="對網站的描述" /> 網站描述設定,考慮密度
C:表格,ur 等容器形式的標籤
瀏覽器編譯器遇到一個標籤時,就開始尋找它的結束標籤,直到它匹配上,才能顯示它的內容, 所以當表,ur等容器形式的標籤嵌套很多時,開啟頁面就會特別慢,這樣就降低了使用者體驗了。解決方案:在編寫html的時候:盡量使一個一個容器獨立,如果要嵌套的時候,一定要使其清楚、簡介。
D:圖片ait標籤
<img src="圖片地址" alt="圖片關鍵字"/> alt一定要寫
E:合理 target="_blank"
合理而不頻繁使用target="_blank" 是能夠在一定程度上位網站帶來迴旋流量和點擊。同時,在細節上使用 target="_blank" ,可以增強網站整體使用者體驗。
三、CSS最佳化
A:CSS調用 有3種方式
1、直接在頁面的<head>和</head>之間寫css樣式,如果內容少則影響不大,否則大大增加頁面的體積,還佔用了頂部的重要位置。
2、直接在html標籤上面定義css 樣式,增加頁面的代碼量。
3、引用外部css檔案,這三種方式中,最利於seo最佳化的是3也就是 引用css檔案
B:使用Reset但並非全域Reset
不同瀏覽器元素的預設屬性有所不同,使用Reset可重設瀏覽器元素的一些預設屬性,以達到瀏覽器的相容。但需要注意的是,請不要使用全域Reset, *{margin:0;padding:0;} 這不僅僅因為它是緩慢和低效率的方法,而且還會導致一些不必要的元素也重設了外邊距和內邊距。
/** 清除內外邊距 **/body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 結構元素 */ dl, dt, dd, ul, ol, li, pre,form, fieldset, legend, button, input, textarea, th, td, img{ border:medium none; margin: 0; padding: 0; }/** 設定預設字型 **/ body,button, input, select, textarea { font: 12px ‘宋體’; }h1, h2, h3, h4, h5, h6 { font-size: 100%; } em{font-style:normal;} /** 重設列表元素 **/ ul, ol { list-style: none; } /** 重設超連結元素 **/ a { text-decoration: none; color:#333;} a:hover { text-decoration: underline; color:#F40; } /** 重設圖片元素 **/ img{ border:0px;} /** 重設表格元素 **/ table { border-collapse: collapse; border-spacing: 0; }
C: 良好的命名習慣
無疑亂七八糟或者無語義命名的代碼,誰看了都會抓狂。如<h1>My name is <span class=”red blod”>Wiky</span></h1> 問題在於如果你需要把所有原本紅色的字型改成藍色,那修改後就樣式就會變成, red{color:bule;} 這樣的命名就會很讓人費解。同樣的命名為leftBar的側邊欄如果需要修改成右側邊欄也會很麻煩。
所以,請不要使用元素的特性,顏色,位置,大小等,來命名一個class或id。您可以選擇意義的命名如,#navigation{…},.sidebar{…},.postwrap{…} 這樣,無論你如何修改定義這些class或id的樣式,都不影響它跟HTML元素間的聯絡。
另外還有一種情況,一些固定的樣式,定義後就不會修改的了,那你命名時就不用擔憂剛剛說的那種情況,如:
- .alignleft{float:left;margin-right:20px;}
- .alignright{float:right;text-align:right;margin-left:20px;}
- .clear{clear:both;text-indent:-9999px;}
.alignleft{float:left;margin-right:20px;} .alignright{float:right;text-align:right;margin-left:20px;} .clear{clear:both;text-indent:-9999px;}如果需要把這個段落由原先的靠左對齊修改為靠右對齊,那麼只需要修改它的className就為alignright就可以了。
D:代碼縮寫 CSS代碼縮寫可以提高你寫代碼的速度,精簡你的代碼量。
在CSS裡面有不少可以縮寫的屬性,包括margin,padding,border ,font,background和顏色值等,如果您學會了代碼縮寫,可寫成代碼:
- li{ font:1.2em/1.4emArial,Helvetica, sans-serif; padding:5px0 10px 5px; }
li{ font: 1.2em/1.4em Arial, Helvetica, sans-serif; padding:5px 0 10px 5px; }
E:利用CSS繼承 如果頁面中父元素的多個子項目使用相同的樣式,那最好把他們相同的
樣式定義在其父元素上,讓它們繼承這些CSS樣式。這樣你可以很好的維護你的代碼,並且還可以減少代碼量。那麼本來這樣的代碼,
- #container li{font-family:Georgia, serif; }
- #container p{ font-family:Georgia, serif; }
- #container h1{font-family:Georgia, serif; }
#container li{ font-family:Georgia, serif; } #container p{ font-family:Georgia, serif; } #container h1{font-family:Georgia, serif; }可以寫成:
- #container{font-family:Georgia,serif; }
#container{font-family:Georgia,serif; }
F:使用多重選取器
你可以合并多個CSS選取器為一個,如果他們有共同的樣式的話。這樣做不但代碼簡潔且可為你節省時間和空間。
如, h1, h2, h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
G: 適當的代碼注釋
代碼注釋可以讓別人更容易讀懂你的代碼且合理的組織代碼注釋,可使得結構更加清晰。
H:使用外部樣式表
這個原則始終是一個很好的設計實踐。不單可以更易於維護修改,更重要的是使用外部檔案可以提高頁面速度,因為CSS檔案都能在瀏覽器中產生緩衝。內建在HTML文檔中的CSS則會在每次請求中隨HTML文檔重新下載。
I:避免使用CSS運算式
運算式的問題就在於它的計算頻率要比我們想象的多。不僅僅是在頁面顯示和縮放時,就是在頁面滾動、乃至移動滑鼠時都會要重新計算一次。給CSS運算式增加一個計數器可以跟蹤運算式的計算頻率。在頁面中隨便移動滑鼠都可以輕鬆達到10000次以上的計算量。
J:代碼壓縮
當你決定把網站項目部署到網路上,那你就要考慮對CSS進行壓縮,出去注釋和空格,以使得網頁載入得更快。壓縮您的代碼,可以採用一些工具,如YUI Compressor,利用它可精簡CSS代碼減少檔案大小以獲得更高的載入速度。
四、JS調用
JS的2種調用方式
A:直接寫在頁面,巨量的JS代碼放到頁面不但增加頁面的體積,而且還會佔用首頁這樣重量級位置。從而使得頁面中相對重要的位置不能優先向搜尋引擎展示
B:引用JS檔案,引用外部地址的JS會影響開啟網頁的速度。
五、Url重寫
用JS檔案,引用外部地址的JS會影響開啟網頁的速度;
web開發效能最佳化---SEO最佳化篇