前幾天看到有人
分享一篇文章, 講到
有關網址 URL 的一些觀點, 只是這篇文章的範例是取自於 2009 年前 MOZ 的資料, 以現在的角度多少有點不一樣了, 所以就當作是回應給朋友參與討論.
這五年來說起來變化也是挺多的, 其中包含幾個因素:
1. Canonical URL: 典範網址的始用, 由於社群分享, 追蹤碼到處林立, 一個相同的網址被夾雜很多參數是必然的, 雖然透過 Webmaster Tools 可以經過設定讓 Search Engine 知道, 還不如直接把每一個獨特內容提供一個 "典範網址", 這樣大家都不會認錯.
2. 網址的 Ranking Factor: 在之前網址是一個很重要的 SEO 排名因素, 而現在已經被調得越來越低了, 當然是因為有些角度這樣對使用者是有利有弊, 有時是很好辨識的方法, 有時又是很煩人 (Annoying), 最後也是因為被某些過於黑帽的 SEOer 過份的操弄, 最後 Google 降低其重要性.
3. RWD (Responsive Web Design): 現在很多網址都也因為使用者的 Browser (Agent) 來調整角度, 甚至有些瀏灠器是不合適使用 URL 來傳遞輸入與分別, 所以 URL 的價值也跟以前的角度變得不一樣.
4. Bing 的興起: 因為 MicroSoft 觀點儲存網站, 會把 URL 的路徑真的當成 Folder, 以此 Folder 來做管理, 處理與聚合, 在大部份時候, Folder 類似的路徑的確是可以對應到真實的檔案與路徑, 以這觀點來看是相當合理.
但當然網址是最重要的 SEO Ranking Factor, 尤其是網域, 但這網域這因子是最難去改變的, 所以在操作上實務並不高, 倒是次網域之後倒是可以去 "操作" 的, 在這邊來看網址與最新 SEO 的角度思維為何?
1. 子網域: 以現在 RWD 的角度, 已經不建議使用 mobile, m 等等用次/子網域來做為 View (視角) 的切換, 子網域要考慮的還是系統面, 尤其是在網站架構的完整性, 也就是說一個具有 "高內聚性", "獨立性/低藕合性" 的內容與功能, 再來切割子網域, 也就是切出子網域會造成內容重覆是盡量避免. 除外還是要保持一個網域有一定足夠的內容, 這數字大概 300~3000 頁, 或 1/10 到 1/3 之間.
2. 頻道 (分類): 在網域之後的網址第一個 "/" 的 "Folder (檔案夾)" 是最重要的, 通常是指這網站的 "頻道", "分類", 而這個算是大分類的頻道, 因此一定是最高層的分類, 事實上網址的概念都是以這樣去做切割, 通常建議是頻道數不要超過 10 個, 而通常建議這個 Folder 最好是有字意的, 也就是不是用代碼或數字來做切割.
3. 功能/程式: 第二個 Folder 通常是種 "條件" 與 "指向", 通常很多人習慣把這個放在第一個 Folder (目錄), 但通常最好第一個目錄放更上層, 更有意義的頻道與分類來使用, 而功能與程式最好放在第二層, 通常透過 Pattern Match (樣式對應) 的 Rewrite (改寫) 這樣就很夠, 不見得要放在最前面, 雖然是稍微複雜一點.
4. 概念 (關鍵字, 標籤): 第三層的 Folder 是以概念做聚焦, 通常是關鍵字, 標籤, 分類或次分類, 若是以 SEO 的觀念來看, 就是使用者會搜尋用的關鍵字的聚合, 只是通常不須要一定是此關鍵字 (Keywords), 以現在來看, 只要有用相同概念的, 放在同一個目錄下是很有聚焦的想法.
5. 其他參數: 到這邊就已經有三層目錄了, 基本上應該就很夠了, 其他的參數就當作一般的 GET Parameter 來作傳遞沒甚麼不對, 只是可以在問號 (?), And (&) 等符號做些修飾就更好了, 甚至在某方面這參數也當作是程式的另一層導引也不是不可以.
6. 頁數等 Scope/View (日期, 排序, 條件過濾): 理論上上面五項就可以組出一個完整的網頁, 但往往這樣的條件會有很多頁, 所以有時會須要作日期, 頁數, 排序, 條件等等建立不同觀點的網頁, 因此此時還須要以這觀點做再一層的聚合是對網站結構是相當好的.
從上面這幾項, 該如何實作出該有的網址呢? 這邊以 "新文易數" 來做範例:
http://tag.analysis.tw/news/tag/柯文哲/all/20150101/view=1
Analysis.tw 有很多個網站, tag 是專門分析標籤的系統, 而 news 是指在新聞類這個頻道 (Channel) 下來看, tag 指的是標籤的觀點, 聚焦在後面的柯文哲這個 Folder, 而此 tag 標籤下的都是在這之後做使用, 像 all 指的是全部的新聞, 事實上是會跳到 tag_all.php 這隻程式, 所以程式事實上會呼叫的是:
http://tag.analysis.tw/tag_all.php?type=news&tag=柯文哲&date=20150101&view=1
若是以下面的網址來看, 大部份的使用者是無法知道他在看甚麼, 但上面的網址就很好解讀, 甚至給搜尋引擎來看也是相當合理且有聚焦的, 而從 "/tag/柯文哲/" 這 Folder 目錄為一個聚合點, 這個就是只靠 "參數" 做不到的, 而在 Rewrite Rule 的寫法是:
^/(.*)/tag/(.*)/(.*)/(.*)/(.*) => /tag_$3.php?type=$1&tag=$2&$4&$5
而這邊只是做個範例, 事實上實作上還是有些許差異....
會這樣做, 不只只是為了 SEO (搜尋引擎優化), 而也包含對使用者, 對社群等等做出一個 "友善/Friendly" 的網址, 而人習慣是由大範圍而慢慢縮小的觀點來看是較為合理的, 因此網址若是這樣做, 就都很直覺, 最後這樣重組網址的思維, 會對於你對網站經營有更完善的思維, 而所謂的 SEO 就只是順便做好而已.