SEO優化,是眾多細節的組成的,不光光只是設定好title而已,還有網站架構、速度、後端設定處理等等,包含非常多項目,對開發人員來說,不論是設計、前端、後端都需要注意。

google search

假設一個網站改版更新,大概會有幾個需求,前端畫面修改、網址架構更新、增加欄位修改api等等。

前端需要注意畫面更新方式,如果是不變化網址(SPA),內容是經由互動產生內容,那互動產生內容同時,就要有對應的網址參數(window.history.pushState),然後這些網址要能夠請求拿到各自對應的內容。每個對應的網址參數在列在sitemap上,讓google有辦法索引。

rediect轉址介紹

更換網址架構的話,假設你有個賣蘋果的頁面網址是 domain/product/apple,在google搜尋上 網購蘋果 是第一名,但如果改版後網址要變成 domain/product/freshapple,有個重點非常重要,千萬要記得做轉址。否則product/apple 網購蘋果 的排名就會歸零。

白話來說,轉址的概念大概是宣告這個頁面要搬家到另一個頁面的意思,也可以跨domain轉。

轉址方法

依照不同後端語言,各有不同的轉址寫法,但邏輯上都是一樣的,大概分為 301、302、307。

rediect轉址狀態碼

  • 301 狀態碼表示網頁已永久遷移至新的位置
  • 302 狀態瑪表示網頁暫時導向新位置
  • 307 狀態瑪表示暫時導向新位置,但是保持使用者請求方式不變

Node.js express 301語法

res.redirect(301, 'http://example.com');

google 301 rediect 介紹

哪些網址需要做redirect

www.domain.com 跟 domain.com 就會被google是為兩個網站,這時候你可以用301轉址處理,避免網站同時存在各種url顯示相同網址。
(domain網站就有做 domain.com redirect to www.domain.com)

網站同時存在 https:// http:// 兩種可以被訪問,也需要做轉址,假設網址結尾帶有或是無 .php .jsp,也需要指定一個做 301redirect。

需不需要轉址核心概念就是,這個頁面的內容,只有一個網址可以顯示。

但是如果今天網址需要帶參數怎辦(utm、gdn)? 這時候就需要canonical tag。(後半段介紹)

轉址缺點、後遺症

三年前工作經驗,使用301轉址,新網址的關鍵字排名一定會掉落排名,大概過了一兩週後才會慢慢回升,我會用一定是因為john muller(google webmaster發言人)也確實發表過掉落些許排名這件事情。

但2016年時 google’s Gary Illyes 表示 30x不在會掉落PageRank。在今年,我的blog有做過301轉址,大概一兩天之後,在搜尋結果上,新網址會取代舊網址,排名完全沒有變動。

canonical 介紹

如果你網站沒辦法經由301處理,讓同個頁面有多個網址可以載入取得,或是有重複性內容處理的問題,那你就需要使用canonical處理,你可以用html的link處理。指定目前網址的搜尋權重指派到哪個網址。或是在server response header加上 rel=canonical。

另外sitemap也可以指定索引的網址,但效力會被canonical 蓋過。

  • 網址為 https://example.com/apple?user=ianchuu

    <link rel="canonical" href="https://example.com/apple" />
  • google 重複性內容處理

    如果您有某一個網頁可透過多個網址存取,或是不同網頁上存在相似的內容 (例如同時有行動版和桌面版網頁),Google 會將這些網頁視為相同網頁的重複版本,從中選出一個網址做為「標準」版本並檢索該網址,其他網址則會被視為「重複」網址,檢索頻率會比較低。

google 整合重複的網址

結論

這邊大部分觀念都圍繞在更換網址、處理重複性內容。

一般網站很高機會遇到重複性內容的問題,因為前端或是後端需要網址參數來變化內容,記得,如果網址有帶參數,但是有沒有帶網頁內容都一樣,就記得加上canonical,直接指定一個網址讓google指派權重。

但如果網址有帶參數,但是內容不一樣就要列在sitemap上或是產生個內部連結,如果沒有做的話,就浪費這個頁面被索引的機會了。

感謝閱讀,有問題歡迎留言!