最近做了一個線上服務類的小網站,為了能在google上有好的排名,自己做了一些相關的最佳化。
相關的最佳化方案網上應該都可以找到,我自己做了一些整理。
程式碼結構
首先說一下網站的, 是table結構還是div
a. 如果是div+css結構,是比較適合做SEO的,網頁內容和網頁樣式儘量分開書寫,分開管理,這是屬於精簡的程式碼結構;
b. 如果是table結構,很容易產生冗餘程式碼,屬於不精簡的程式碼結構,不適合做SEO,可能需要重新建站,這就可能比較麻煩了。
我的網站是div結構的,我也在google觀察了一些排名比較靠前的網站,確實沒見到用table結構的。
訊雜比
訊雜比指的是網頁有效資訊和無效資訊的比例;
有效資訊是文字
無效資訊指的是無效程式碼、空程式碼、富媒體;富媒體指的是影片、音訊,flash動畫、JavaScript。
這其實是平時編碼的一個好習慣,文字不要有錯別字,無效的資訊要及時清理。
iframe
iframe是一個比較特殊的標籤。被iframe巢狀的內容不會被搜尋引擎抓取,一般用於出站連結的廣告位。
但是專案有一些情況需要用到iframe,比如巢狀一個頁面,而且我們有希望這個被巢狀的頁面被搜尋引擎抓取,我自己的替代方案是用object標籤。
javascript
js有一個特點,js輸出的內容搜尋引擎不識別。所以頁面的關鍵字千萬不要用js來做輸出!
還有網頁在使用js時儘量放置在網頁底部,儘量不影響搜尋引擎抓取常規內容。
這裡再補充幾點js的,是後面找SEO相關資料發現的
絕對避免導航及其他連結使用JavaScript. 導航和連結是搜尋引擎抓取網頁的賴以生存之本,如果搜尋引擎無法抓取網頁,則代表了網頁不會出現在索引結果中,也就無從談起排名了儘量避免對內容使用JavaScript。尤其是與關鍵詞相關部分的內容,應該儘量避免使用JavaScript來展現,否則毫無疑問是要降低關鍵詞密度的
實在需要使用JavaScript的部分,將這部分JavaScript指令碼放在一個或幾個.js檔案中,這樣能夠避免干擾到搜尋引擎的抓取和分析
實在不能放在.js檔案中的部分JavaScript指令碼,將它們放在html程式碼的底端,之前,這樣使搜尋引擎分析網頁時最後才會發現它,降低對搜尋引擎的干擾
h1-h6標籤
h1標記一個網頁只能出現一次,整站所有頁面h1需要對應同一個核心關鍵詞,強調關鍵詞[使用太多被搜尋引擎處罰就得不值得了],
這個很重要,把最重要的關鍵字用h1包起來 !
h2-h3標記可以多次使用,儘量也不要太多;h4-h6可以不使用,基本沒什麼權重了。
img和a標籤
img標記的alt屬性,搜尋引擎依靠圖片alt屬性來判斷圖片內容,文章中圖片alt屬性使用文章標題即可;
a標籤的title屬性,對於網頁中非常重要的連結採用TITLE說明,有助於幫助搜尋引擎找到網頁的重點URL。
display: none
display:none對SEO的影響,網上的說法眾說紛紜,所以我在自己的網站裡,還是徹底拋棄了這種方法。我的替代方案有兩種
.hiddenClass {
width:1px;
height:0;
overflow:hidden;
}
或者用z-index建立層疊關係,不過z-index需要提醒一點
z-index 僅能在定位元素上奏效,即該元素不是預設的position:static
需要設定 position:absolute | relative | fixed;
robots.txt
a. 什麼是 robots.txt 檔案?
robots.txt 檔案規定了搜尋引擎抓取工具可以/無法請求抓取您網站上的哪些網頁或檔案;
此檔案主要用於使您的網站避免收到過多請求
b. 格式和位置規則
檔案必須命名為 robots.txt
網站只能有1個 robots.txt 檔案
robots.txt 檔案必須位於要應用到的網站主機的根目錄下
c. robots.txt 檔案中可以使用下列指令
+User-agent [必需,每個組需含一個或多個 User-agent 條目]
此規則的適用搜尋引擎漫遊器(即網頁抓取工具軟體)的名稱。這是每條規則的首行內容。
支援萬用字元*
幾個比較常用的代理
- Google: Googlebot
- Google Images: Googlebot-Image
- Bing: Bingbot
- Yahoo: Slurp
- Baidu: Baiduspider
- DuckDuckGo:DuckDuckBot
示例 1:僅遮蔽 Googlebot
User-agent: Googlebot
Disallow: /
# 示例 2:遮蔽 Googlebot 和 Adsbot
User-agent: Googlebot
User-agent: AdsBot-Google
Disallow: /
- Disallow [每條規則需含至少一個或多個 Disallow 或 Allow 條目]
使用者代理不應抓取的目錄或網頁(相對於根網域而言)。如果要指定網頁,應提供瀏覽器中顯示的完整網頁名稱;如果要指定目錄,則應以標記/結尾。支援使用萬用字元*表示路徑字首、字尾或整個字串
- Allow [每條規則需含至少一個或多個 Disallow 或 Allow 條目]
上文中提到的使用者代理應抓取的目錄或網頁(相對於根網域而言)。此指令用於替換Disallow指令,從而允許抓取已禁止訪問的目錄中的子目錄或網頁。如果要指定網頁,就應提供瀏覽器中顯示的完整網頁名稱;如果要指定目錄,則應以標記/結尾。支援使用萬用字元*表示路徑字首、字尾或整個字串
示例 1 :允許所有的機器人
User-agent: *
Allow:/
示例 2 :僅允許特定的機器人:(name_spider用真實名字代替)
User-agent: name_spider
Allow:
示例 3 :攔截所有的機器人
User-agent: *
Disallow: /
Meta標籤
Meta標籤的最佳化(以前是搜尋引擎最佳化的重要手法,現在不是關鍵因素,但仍不可忽略不急) 主要是:Meta description、Meta keywords的設定。關鍵字密度要適中,也就是說你的關鍵字必須在頁面中出現若干次。
版權部分
版權部分加上網站名稱和連結或是強調一些關鍵詞是很有必要,有總比沒有強。
支援移動端
這點可能對比較大的網站有些不友好,而且有一些網站只是針對PC端,還有必要做移動端的適配嗎? 看看google怎麼說的
移動裝置正在改變世界。當今時代,智慧手機幾乎人手一部,大家都不停地用它與外界交流以及查詢資訊。在許多國家/地區,智慧手機的數量已超過個人計算機的數量,因此擁有適合移動裝置的網站已成為提升線上影響力的重要因素。
如果您的網站尚不適合在移動裝置上瀏覽,您應立即採取行動
並且google有專門針對移動裝置適應性測試的網站移動裝置適應性 , 可見對移動裝置適配的重要性 。
附上google的官方說明 https://developers.google.com/search/mobile-sites
外鏈
外鏈的數量,對排名有很大的影響。
這段話是這篇文章存為草稿很長時間又新增上的. 外鏈的數量和質量,真的對權重有很大的影響,有句話說 內容為王外鏈為皇. 外鏈的建設真的太有必要了,後面還會有文章介紹外鏈的相關建設
工具
google官方提供了很多工具,非常方便
總之,SEO是個慢工細活的工程,不要指望三兩天就能看到效果,每一點小小的改動都有可能影響你網站的權重(比如列舉出來的,支援移動端~)。
我的網站建站大概兩個月左右了,現在某些關鍵字排名能在第五頁前後,還是差了不少,最近也一直在做外鏈的建設