[SEO] 頁面優化

頁面標題

<title> 標籤,每個頁面儘量要做到獨特而不重複

 

準確相關:

每個頁面的標題都應該準確描述頁面內容,讓使用者一看就知道該頁面大致上是講什麼,而搜尋引擎也能迅速判斷頁面的相關性。

 

字數限制:

title的字數可以寫任意長度的文字,但搜尋結果清單頁面標題部分能顯示的字數有一定限制,百度多最顯示 30 個中文字,而 Google 顯示 65 個英文字元,轉成中文大約是 32 個字元。超過這個字數限制的話,結尾處會以省略號(…)代替。
所以建議就控制在 30 個中文字內65 個英文字元內即可。

 

簡練通順,不要堆積:

初學 SEO 的人容易犯的錯是為了提高相關性,在標題中不自然地多次出現關鍵字。例如將標題寫成:
女裝|女裝批發|女裝零售|女裝|批發零售|xx女裝網

其實這樣的頁面只要寫成以下即可:
女裝批發零售|xx女裝網

SEO 人員不僅要考慮搜尋引擎,還要考慮到使用者,不能讓使用者一看標題就感覺這是一個為關鍵字而關鍵字的頁面,而是需要把標題寫成一個正常通順的句子。

 

關鍵字出現在最前面:

目標關鍵字應該出現在標題標籤的最前面。據經驗和統計,關鍵字在標題中出現的位置與排名有比較大的相關性,位置越往前,通常排名會較好。

對網站內頁來說,通常是按照:

  • 產品名稱/文章標題 – 子分類名稱 – 分類名稱 – 網站名稱
  • 分類名稱 – 網站名稱
  • 第二頁 – 分類名稱 – 網站名稱

標題標籤可以理解為反過來的麵包屑導覽。

 

吸引點擊:

例如這樣的標題屬於中規中矩:
減肥茶 – 減肥產品 – xx減肥網

若寫成這樣,那點擊率就可能有所上升:
減肥茶:無須節食,無須運動,快樂減肥 – xx減肥網
減肥茶 10 天減輕體重 5.5 公斤,真實使用者證言 – xx減肥網

好的標題即使排在後面也可能點擊率更高,帶來的流量也更大。單純的排名沒有意義,有人點擊才有效果。

 

組合2~3個關鍵字:

一般來說,一個頁面最多針對 3~4 個關鍵字進行優化,不宜再多。例如想優化”SEO 技術”、”SEO 課程”、”SEO”、”免費 SEO”這四個詞,其實可寫成”免費 SEO 技術課程”即可,這是一句很通順的句子,而且搜尋引擎可以拆分、組合出所有目標關鍵字。

把多個關鍵片語合為一句更為通順的片語或句子。

 

公司或品牌名稱:

通常把公司或品牌名稱放在標題的最後是個不錯的做法。雖然使用者在搜尋公司名稱、網站名稱時,一般只有首頁才會被排在最前面,分類頁、具體產品頁等內頁既沒有必要,也沒有可能針對品牌名稱做優化,但是品牌名稱如果多次出現在使用者眼前,就算沒有點擊也能讓使用者留下更沉的影響。

 

連詞符號:

連詞符號在排名上沒有差別,用哪個都一樣,但顯示出來的視覺效果上可能有不少差別。一般常見的有”“、”|“、”>“、”“、”_“,選用哪個連詞符號,取決於您認為哪種符號能讓使用者看得最清礎。

 

noodp標籤:

網站被開放目錄收錄時,Google、雅虎有時候會取開放目錄中的標題做為搜尋結果清單中的頁面標題,而不使用頁面本身的title標籤內容,這未必是站長最想要的標題,故站長可以使用 noodp 標籤強制搜尋引擎不要使用開放目錄標題,即:

<meta name="googlebot" content="NOODP">

描述標籤

描述標籤是 HTML 程式碼中 Head 部分除標題標籤外與 SEO 有關係的另一個標籤,用於說明頁面的主體內容,格式為:

<meta name="description" content="SEO 每天……">

描述標籤的重要性比標題標籤低很多,描述標籤中的文字並不顯示在頁面可見內容中,使用者只有查看原始檔案和在搜尋結果列表中才能看到描述標籤裡的文字。

現在主流搜尋引擎排名演算法都已經不使用描述標籤,所以對排名沒有影響,但是對點擊率有一定影響,因為大部份情況下,搜尋結果清單中的頁面摘要說明就來自描述標籤。

搜尋結果清單說明文字部份通常會顯示 77 個中文字元,Google 英文結果顯示 156 個英文字元


關鍵字標籤

格式為:

<meta name="keywords" content="關鍵字1,關鍵字2,關鍵字3……">

H 標籤

H 標籤相當於內文標題,是關鍵字優化的另一個頁面元素,通常認為重要性僅次於頁面 Title。H 標籤按重要性分為六層,從 H1 ~ H6,格式為:

<h1>這是內文標題</h1>

H1 最重要,H6 重要性最低。在 H1、H2 標籤中融入關鍵字,有助於提高相關性。H3 以下的標籤權重已經很低,和一般頁面文字相差不多了。

一般來說,一篇文章只有一個標題,H1 也只出現一次。


ALT 文字

ALT 文字指的是圖片的替換文字。格式如下:

<img src="images/default/logo.gif" alt="Carlos logo">

在某些情況下,例如使用者瀏覽器禁止顯示圖片,或由於網路等原因,以致於圖檔沒有被下載完成,以及視障人士使用的專用瀏覽器,導致圖片不能被正常顯示,圖片 ALT 屬性中的文字將被顯示在頁面上。

近一兩年, ALT 文字重要程度有所提高,所以在圖片 ALT 屬性中以簡要文字說明圖片內容,同時包含關鍵字,也是頁面優化的一部分。

 

本篇文章內容整理來自於”實體 SEO – 60 天讓網站流量增加 20 倍“,僅供參考。

[SEO] 網站地圖

透過網站地圖,搜尋引擎可追蹤連結進而爬行到網站所有部分。
而網站地圖主要有兩種形式:

HTML 網站地圖

英文是sitemap,s需小寫,特指 HTML 版網站地圖,也就是使用者可以在網站上看到的所有主要頁面連結的頁面,不需要全部都列出來,會列不完,除非是小網站。

網站地圖也可分成多個檔案,主網站地圖列出通往次級網站地圖的連結,次級網站地圖再列出一部分頁面連結,依此類推,可以列出所有或絕大部分重要頁面。

 

XML 網站地圖

英文為  Sitemap,S需要大寫,特指 XML 版本的網站地圖。

顧名思義,是由 XML 標籤組成,檔案本身必須是 utf8 編碼。網站地圖檔實際就是列出網站需要被收錄的頁面 URL。
標準版本的 XML 網站地圖檔如下:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>http://www.example.com/</loc>
    <lastmod>2010-01-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>
  • urlset 標籤是必需,聲明這個檔所使用的是 Sitemap 協議版本。
  • url 標籤也是必需的,是母標籤。
  • loc 標籤也是必需的,就是頁面完整的 URL。
  • lastmod 是可選標籤,表示頁面最後一次的更新時間。
  • changefreq 是可選標籤,代表檔案更新頻率(只是給搜尋引擎當參考),此標籤值包括:

    • always:一直變動,指的是每次訪問頁面內容都不同。
    • hourly:每小時。
    • daily:每天
    • weekly:每星期。
    • monthly:每月。
    • yearly:每年。
    • never:從不改變。
  • priority 是可選標籤,表示 URL 的相對重要程度。可選 0.0 到 1.0 之間的數值, 1.0 是最重要的, 0.0 最不重要,預設值為0.5。

 

製作好網站地圖後,有兩種方式可以提交給搜尋引擎,第一種是在例如google站長工具後台來提交;另一種是在robots.txt檔中通知搜尋引擎網站地圖檔的位置,程式碼如下:

Sitemap: http://www.example.com/sitemap.xml

[SEO] 301 轉向及 Canonical 標籤

什麼是 301 轉向?

301 轉向是使用者造訪網頁時,伺服器的 header 標頭狀態碼的一種,表示本網址永久性轉移到另一個網址。
(當然還有其它的轉向方法:302 轉向、JS 轉向、Meta Refresh 等,但只有 301 轉向都有可能被搜尋引擎視為作弊方法。)

301 轉向傳遞權重

網頁A用 301 轉向的方式轉到網頁B,那搜尋引擎就會認為網頁A永久性地改變網址(或者說是實際上不存在了),搜尋引擎就會把網頁B當作唯一有效目標。而且,網頁A累積的頁面權重將被傳到網頁B。

例如:假定http://www.example.com是選定的規範化網址,以下幾個網址都做 301 轉向到該規範化網址,那麼搜尋引擎就知道http://www.example.com是規範化網址,就會把以下幾個網址的權重傳遞集中到規範化網址了。

  • http://example.com
  • http://www.example.com/index.html
  • http://example.com/index.html

如何做 301 轉向:

方法一,使用.htaccess:

例1:把/old.htm 轉向到 http://www.example.com/new.htm,可以在.htaccess檔中放上這個指令:

redirect 301 /old.htm http://www.example.com/new.htm
或
redirect permanent/old.htm http://www.example.com/new.htm

例2:把所有不帶www(http://example.com)版本的網址都轉到到帶www的版本(http://www.example.com),要用到mod_rewrite模組,.htaccess檔:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

方法二:使用程式(以PHP為例):

Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.example.com");

 

Canonical標籤

Google、微軟、雅虎共同發佈了一個新的標籤 canonical tag,用於解決網址規範化問題,簡單說,也就是在 HTML 檔的標頭,加上這樣一段程式碼:

<link rel=”canonical” href=”http://www.example.com/product.php?item=test”>

意思就是這個網頁的規範化網址應該是:http://www.example.com/product.php?item=test

Canonical 標籤相當於一個頁面內的 301 轉向,區別在於使用者並不被轉向,還是停留在原網址上,而搜尋引擎會把它當作是 301 轉向處理,把頁面權重集中到標籤中指明的規範化網址上。

目前Google、雅處、都支援。百度還不支援 canonical 標籤。

[SEO] 關於 robots 檔以及 meta robots 標籤

搜尋引擎在造訪網站時,會先找出網站根目錄下的 robots.txt 這個檔案,這個檔案可讓搜尋引擎禁止抓取網站某些內容或指定允許抓取某些內容。若 robots.txt 檔不存在或是空的檔案的話,就意味著允許搜尋引擎抓取網站所有內容。

// 例1: robots 檔:(意思是禁止所有搜尋引擎抓取任何內容)
User-agent: *
Disallow: /

User-agent: 是指定某種搜尋引擎,* 代表所有搜尋引擎。
若要指定百度蜘蛛的話,則用:

User-agent: Baiduspider

若要指定 Google 蜘蛛的話,則用:

User-agent: Googlebot

Disallow: 告訴蜘蛛不要抓取某些檔案或目錄。

// 例2: robots.txt 檔,將阻止所有蜘蛛抓取 /cgi-bin/ 和 /tmp/ 兩個目錄下的內容及檔案/aa/index.html:
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /aa/index.html
// 例3: robots.txt 檔,允許所有搜尋引擎抓取任何內容:
User-agent: *
Disallow: 
// 例4: robots.txt 檔,禁止除百度外的所有搜尋引擎抓取任何內容:
User-agent: Baiduspider
Disallow: 

User-agent: *
Disallow: /

Allow: 告訴搜尋引擎應該要抓取某些檔案,可與Disallow搭配使用:

// 例5: robots.txt 檔,使搜尋引擎不抓取 /ab/ 目錄下其他目錄和檔案,但允許抓取其中 /cd/ 目錄下的內容:
User-agent: *
Disallow: /ab/
Allow: /ab/cd/

$萬用字元,比對 URL 結尾的字元:

// 例6: robots.txt 檔,允許搜尋引擎抓取以.htm為結尾的 URL:
User-agent: *
Allow: .htm$
// 例7: robots.txt 檔,禁止百度抓取所有 .jpg 的文件:
User-agent: Baiduspider
Disallow: .jpg$

*萬用字元,告訴搜尋引擎比對任意一段字元:

// 例8: robots.txt 檔,禁止搜尋引擎抓取所有 htm 檔:
User-agent: *
Disallow: /*.htm

Sitemap:指定 XML 網站地圖的所在位置(必須是完整的 URL):

// 例9: robots.txt 檔,指定 sitemap 檔所在 URL:
User-agent: *
Disallow: /*.htm
Sitemap: http://www.example.com/sitemap.xml

要注意的是,被 robots.txt 檔禁止抓取的 URL 還是可能出現在搜尋結果中,因為只要有任何外部連結有指向該 URL ,那麼搜尋引擎還是會知道這個 URL 的存在,雖然不會抓取頁面內容,但是還是會以其它形式顯示在搜尋結果中:

  • 只顯示 URL,但沒有標題、描述。
  • 顯示開放目錄或雅虎等重要目錄收錄的標題和描述。
  • 導入連結的文字顯示為標題和描述。

要想使 URL 完全不出現在搜尋結果中,還需要使用頁面上的 meta robots 標籤


meta robots

meta robots 標籤是頁面 <head> 區域 <meta> 標籤的一種,用於告訴搜尋引擎禁止索引本頁內容。

最簡單的格式為:

<!-- 禁止所有搜尋引擎索引本頁面,也禁止追蹤本頁面上的連結 -->
<meta name="robots" content="noindex,nofollow">
<!-- 另一個例子:禁止索引本頁面,但允許搜尋引擎追蹤頁面上的連結 -->
<meta name="robots" content="noindex">

Google、雅虎都支援的 meta robots 如下:

  • noindex:告訴搜尋引擎不要索引本頁面。
  • nofollow:告訴搜尋引擎不要追蹤本頁面上的連結。
  • nosnippet:告訴搜尋引擎不要在搜尋結果中顯示說明文字。
  • noarchive:告訴搜尋引擎不要顯示快照。
  • noodp:告訴搜尋引擎不要使用開放目錄中的標題和說明。

至於百度的官方說法是目前只支 nofollow 和 noarchive。

meta robots標籤內容可以寫在一起,以逗號間隔,中間有無空格皆可。不區分大小寫。


nofollow的使用

這裡所說的 nofollow 與上面所提不同,這裡是指用在一般連結上的 nofollow,例:

<a href="http://www.example.com/" rel="nofollow">這裡是連結文字</a>

連結的 nofollow 屬性,只適用於本連結,意義是在告訴搜尋引擎這個連結不是經過站長自己編輯的,所以這個連結不是一個信任投票,搜尋引擎看到這個標籤就不會追蹤爬行連結,也不傳遞連結權重和連結文字。

[SEO] 避免蜘蛛陷阱

1、Flash

Flash 的問題除了 iPhone、iPad 看不到之外,另一個重要的問題則是 SEO,搜尋引擎是抓不到任何 Flash 裡面的文字,更不用說連結了,既然抓不到,當然就不會被搜尋引擎所收錄。故製作網頁宜避免使用 Flash。

 

2、Session ID

有些網站使用 Session ID 來追蹤使用者,每個使用者造訪網站時都會產生獨特唯一的 Session ID,會加在 URL 中。而搜尋引擎每一次訪問網頁時也會被當成一個新的使用者,URL 中會加上一個不同的 Session ID,這樣搜尋引擎每次所得到的同一個頁面 URL 將不一樣,這也是不利於搜尋引擎的。宜避免在 URL 中放入 Session ID。

 

3、各種跳轉

網頁的跳轉方式包括了 301 轉向、302跳轉、JavaScript 跳轉、Flash跳轉、Meta Refresh 跳轉。除了301的轉向方式之外,其它轉向方式都是不利於搜尋引擎的。所以儘量避免使用 301 轉向以外的方式。

 

4、框架結構 (Frame)

早期使用 Frame 的框架結構是因為有某一程度的維護方便性,但非常不利於 SEO 抓取頁面。現在如果還在使用 Frame 來製作網頁的,最好趕儘捨棄。

 

5、動態 URL

動態 URL 指的是資料庫驅動的網站所產生的、帶有問號的、等號及參數的網址。一般來說動態 URL 不利於搜尋引擎蜘蛛爬行,應儘量避免使用。

 

6、JavaScript 連結

JavaScript 連結在 SEO 中有特殊用途,那就是站長不希望被收錄的頁面,不希望傳遞權重的連結。

 

7、要求登錄

有些網頁是做在使用者登入之後,才能看到的頁面,例如會員專區,這部份內容搜尋引擎無法看到,因為搜尋引擎不能填寫使用者名稱、密碼,也不會註冊。

 

8、強制使用 Cookies

有些網站會使用 Cookies 來錄記使用者資訊,若使用者沒有啟用 Cookies,頁面顯示就會不正常。搜尋引擎就相當於一個禁用了 Cookies 的瀏覽器,強制使用 Cookies 只會造成搜尋引擎無法正常訪問。