301轉向怎麼做?SSL安裝後HTTP轉HTTPS設定與檢查

SSL憑證裝好不代表轉址完成。了解301轉向在HTTP轉HTTPS中的作用,從設定層級、狀態碼檢查到canonical與sitemap確認,避免HTTP與HTTPS並存造成SEO訊號分散、索引混亂與流量損失。

301轉向HTTP轉HTTPSSSL憑證SEO訊號轉址設定

SSL 裝好後,為什麼還要設定 301 轉向?

SSL 憑證安裝完成後,還要設定 301轉向,讓所有 HTTP 網址永久導到對應 HTTPS 網址,搜尋引擎才會更明確判斷 HTTPS 是主要版本。

裝好憑證只代表網站具備 HTTPS 連線能力,不代表每一個 http:// 網址都會自動改成 https://。我在實務上最常看到的問題,是網站負責人以為瀏覽器有鎖頭就完成,結果舊連結、sitemap、canonical 還停在 HTTP。

301 轉向在 HTTP 轉 HTTPS 裡扮演什麼角色?

301 是永久轉址訊號,用來告訴瀏覽器與搜尋引擎:原本的 HTTP 網址已經永久改到 HTTPS 版本。HTTP轉HTTPS 的重點不是只讓首頁能開,而是每個舊 HTTP URL 都能導到內容相同的 HTTPS URL。

只裝 SSL 憑證但沒有 301,會發生什麼事?

  • HTTP 與 HTTPS 可能同時可開,形成重複版本。
  • 搜尋引擎可能看到兩組網址訊號,索引判斷變得不穩定。
  • 使用者從舊書籤、外部連結進站時,仍可能進入不安全網址。

Google 會怎麼理解 HTTP 與 HTTPS 版本?

Google 會根據重新導向、canonical、sitemap、內部連結等訊號判斷主要網址。我的判斷是,SSL 後的 SEO 工作不該只檢查「能不能開」,而要檢查「所有訊號是不是都指向 HTTPS」。

301 轉向是什麼?和 302、307、308 差在哪?

HTTP轉HTTPS 正式上線後,通常應使用 301轉向,因為它代表永久轉址;302 與 307 比較適合暫時情境,308 則是另一種永久轉址狀態碼。

狀態碼 用途 是否適合 SSL 後 HTTP 轉 HTTPS
301 永久轉址 適合,多數網站首選
302 暫時轉址 不適合正式 HTTPS 上線後長期使用
307 暫時轉址,保留請求方法 不適合一般 HTTP 轉 HTTPS 長期設定
308 永久轉址,保留請求方法 可用,但一般網站多數情況用 301 即可

301 是永久轉址,適合 HTTP 永久轉 HTTPS

301轉址是告訴搜尋引擎舊網址已經永久移到新網址。當 SSL憑證正式啟用,HTTP 版本不再作為主要網址時,使用 301 能讓 HTTPS 版本成為更清楚的主要目標。

302 / 307 適合暫時情境,不適合 SSL 正式上線後使用

302 和 307 本身不是錯誤,只是用途不同。短期活動頁、臨時維護、測試路由可以使用暫時轉址;但 SSL 正式上線後,如果還用暫時狀態碼,搜尋引擎可能不會把 HTTPS 視為穩定的永久版本。

308 也是永久轉址,但一般網站多數情況用 301 即可

308 同樣代表永久轉址,但在一般網站管理、主機後台、SEO 檢查工具中,301 的支援與辨識更普遍。除非工程團隊有明確理由,多數 HTTP轉HTTPS 任務用 301 就足夠。

SSL 後 HTTP 轉 HTTPS 的正確 301 設定流程

正確流程是先確認 HTTPS 可開,再選擇單一主要設定層級,套用 HTTP 到 HTTPS 的 301 規則,最後檢查狀態碼與 SEO 訊號。

步驟 1:確認 HTTPS 版本可以正常開啟

先打開首頁與幾個重要內頁的 HTTPS 版本,確認沒有憑證錯誤、版面異常或登入後台問題。若 HTTPS 本身還不穩,先設定 301 只會把使用者導向另一個問題頁面。

步驟 2:選擇設定位置:主機後台、伺服器、CDN 或 CMS

301轉向可以設在 cPanel、Apache、NGINX、Cloudflare、WordPress 外掛或主機面板。實務上要選一個主要位置管理,避免多層規則互相覆蓋,造成轉址鏈或轉址迴圈。

步驟 3:把每個 HTTP URL 導到對應的 HTTPS URL

合格設定應該是 http://example.com/about 導到 https://example.com/about,而不是所有 HTTP 頁面都導到首頁。這點很關鍵,因為搜尋引擎與使用者都需要到達同一內容的 HTTPS 版本。

步驟 4:測試狀態碼是否回傳 301

瀏覽器網址變成 HTTPS 還不夠,因為它可能是 302、JavaScript 重新導向或多段轉址。至少抽查首頁、重要分類頁、重要文章頁,確認第一段 HTTP 請求回傳 301。

步驟 5:更新 sitemap、canonical 與內部連結

301 是強訊號,但不能讓其他 SEO 訊號互相打架。sitemap 應只放 HTTPS URL,canonical 應指向 HTTPS 版本,內部連結也應改成 HTTPS,不要長期依賴轉址補救。

不同網站環境怎麼設定 HTTP 到 HTTPS 301?

不同環境的設定位置不同,但原則相同:讓 HTTP 直接回 301 到對應 HTTPS URL,並避免 CDN、主機與 CMS 同時設定造成衝突。

WordPress 網站:優先檢查網站網址與主機層級轉址

WordPress 管理者先到後台確認「網站位址」與「WordPress 位址」使用 HTTPS,再檢查主機是否提供強制 HTTPS。外掛可以輔助處理 mixed content,但我不建議把核心 301轉向完全交給不熟悉的外掛堆疊。

cPanel:使用 Force HTTPS Redirect 或 Redirects 設定

cPanel 網站通常可在網域管理或 Redirects 功能中啟用 HTTPS 重新導向。若主機提供 Force HTTPS Redirect,優先使用主機內建功能,再用工具確認是否回 301。需要更多主機操作基礎,可參考 cPanel 網站管理教學 與 雲端主機選擇教學。

Apache:用 .htaccess 設定 301

Apache 網站常用 .htaccess 設定 HTTP 到 HTTPS。以下範例適合一般同網域轉址,修改前請先備份原檔。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

套用後要測試首頁與內頁,確認 HTTP 狀態碼是 301,Location 指向同一路徑的 HTTPS URL。

NGINX:在 server block 設定 301

NGINX 通常在 HTTP 的 server block 裡設定永久轉址,把 80 port 的請求導到 HTTPS。

server {
  listen 80;
  server_name example.com www.example.com;
  return 301 https://$host$request_uri;
}

若同時要統一 www 或 non-www,應設計成一次導到最終版本,避免 http → https → www 的多段轉址。

Cloudflare 或 CDN:避免和主機規則互相打架

Cloudflare 或其他 CDN 可以在邊緣層做 HTTPS 重新導向,但要確認主機端沒有相反規則。CDN、主機、WordPress 三層同時開轉址,是我最常看到轉址迴圈的來源之一。

301 轉向上線後,SEO 要檢查哪些訊號?

301轉向上線後,SEO 檢查重點是讓 canonical、sitemap、內部連結、Search Console 與 robots 設定都一致指向 HTTPS。

canonical 要指向 HTTPS 版本

每個 HTTPS 頁面的 canonical 應指向自己的 HTTPS URL。若頁面已經 301 到 HTTPS,但 canonical 還寫 HTTP,搜尋引擎會收到矛盾訊號。

sitemap 只提交 HTTPS URL

XML sitemap 應全部改為 HTTPS 網址,不要混入 HTTP 版本。若網站剛調整網域或 DNS,可先確認 網域名稱設定 與 DNS 紀錄設定教學 沒有錯誤。

內部連結要改成 HTTPS,不能一直靠轉址補救

內部連結若仍大量使用 HTTP,使用者每次點擊都要經過重新導向。這不只是效率問題,也代表網站內部訊號還沒有真正收斂到 HTTPS。

Search Console 要檢查 HTTPS 版本的索引與錯誤

到 Search Console 檢查 HTTPS 網址的索引狀態、重新導向頁面、找不到的頁面與 sitemap 讀取情況。這裡看的不是短期排名起伏,而是 Google 是否能穩定理解新的主要網址。

robots.txt 與 noindex 不要擋到新 HTTPS 頁面

切到 HTTPS 後,要確認 robots.txt 沒有阻擋重要路徑,頁面也沒有誤留 noindex。技術設定常是一連串小地方累積成大問題,尤其是測試環境搬到正式站時。

HTTP 轉 HTTPS 最常見的 301 錯誤有哪些?

最常見錯誤包含轉址鏈、轉址迴圈、全部導首頁、SEO 訊號仍指向 HTTP,以及 HTTPS 頁面出現 mixed content。

錯誤 可能影響 修正方向
多段轉址鏈 降低爬取效率,延長載入時間 HTTP 直接導到最終 HTTPS URL
轉址迴圈 網站打不開 檢查 CDN、主機、CMS 規則是否衝突
全部導首頁 可能被判斷為不相關或 soft 404 導到對應內容頁
訊號仍指向 HTTP 主要網址判斷混亂 更新 canonical、sitemap、內部連結
mixed content 瀏覽器警示,使用者信任下降 改用 HTTPS 載入資源

錯誤 1:HTTP → HTTPS → www / non-www 多段轉址鏈

如果 http://example.com 先到 https://example.com,再到 https://www.example.com,就形成轉址鏈。修法是讓第一段 HTTP 直接導到最終標準版本。

錯誤 2:轉址迴圈導致網站打不開

轉址迴圈常發生在 CDN 已強制 HTTPS,主機或 WordPress 又用不同判斷方式重複改寫。判斷方式是用 redirect checker 或 curl 看請求是否在幾個網址之間反覆。

錯誤 3:所有舊網址都導到首頁

HTTP轉HTTPS 不該把所有頁面導回首頁。原本的文章頁、分類頁、產品頁都應導到相同內容的 HTTPS 版本,否則使用者找不到原本要看的內容,搜尋引擎也可能判斷關聯不足。

錯誤 4:canonical、sitemap、內部連結仍指向 HTTP

這是最容易被忽略的 SEO 問題。轉址規則正確,但 sitemap、canonical、導覽列連結還是 HTTP,會讓網站一直發出不一致訊號。

錯誤 5:HTTPS 頁面有 mixed content,導致瀏覽器警示

mixed content 是 HTTPS 頁面中仍載入 HTTP 圖檔、CSS、JavaScript 或外部資源。使用者看到警示時,對網站信任會下降;修正時要把資源路徑改成 HTTPS 或相對路徑。

怎麼測試 301 轉向有沒有成功?

合格測試要確認 HTTP 網址回傳 301,Location header 指向正確 HTTPS URL,最後頁面能正常開啟且沒有多段不必要轉址。

基本合格標準:HTTP 回 301,最後落在正確 HTTPS URL

檢查項目 合格標準
HTTP 狀態碼 第一段回 301
Location header 指向對應 HTTPS URL
最終頁面 內容正常,網址為 HTTPS
轉址路徑 沒有不必要的轉址鏈

用瀏覽器測試:適合網站負責人快速確認

在瀏覽器輸入 HTTP 版本網址,例如 http://example.com/about,看最後是否變成 HTTPS 並正常顯示內容。這個方法很快,但只能做初步確認,不能取代狀態碼檢查。

用 redirect checker 批次檢查重點頁面

線上 redirect checker 適合檢查首頁、重要分類頁、流量高的文章頁與轉換頁。看報告時要注意每一段狀態碼,不要只看最後有沒有到 HTTPS。

用 curl 檢查狀態碼與 Location header

工程或 SEO 執行者可以用 curl 查看最直接的回應結果。

curl -I http://example.com/about

合格結果應看到 HTTP/1.1 301 或相近格式,並看到 Location: https://example.com/about。如果回 302、沒有 Location、或導到不相關頁面,就要回頭修正規則。

什麼情況不該用 301 轉向?

301 適合永久變更,不適合短期活動、暫時維護、A/B 測試、不相關頁面處理,這些情境應改用 302、404、410 或 canonical。

情境 建議處理 原因
短期活動 302 或保留原頁 活動結束後可能恢復
暫時維護 暫時狀態或維護頁 不代表永久移動
沒有相近替代頁 404 或 410 硬導首頁容易造成不相關
重複內容 canonical 或內容整理 不一定需要改變網址

短期活動或暫時維護,不要用 301

如果網址只是暫時導到活動頁或維護頁,使用 301 會傳達永久變更訊號。這類情境比較適合暫時轉址,避免搜尋引擎過早改變主要網址判斷。

沒有相近替代頁時,不要全部導首頁

刪除頁面後,如果沒有內容相近的新頁,不要硬把所有舊網址導到首頁。首頁通常無法滿足原本頁面的搜尋意圖,長期看反而會製造更多品質問題。

重複內容問題不一定靠 301,可能要用 canonical

如果兩個網址都需要保留給使用者,例如篩選頁、排序頁或參數頁,canonical 可能比 301 更合適。判斷重點是使用者是否仍需要看到該 URL。

SSL 後 301 轉向完成檢查清單

SSL 後 301轉向的完成標準是:HTTPS 可正常開啟,HTTP 回 301,SEO 訊號全指向 HTTPS,Search Console 沒有重大阻擋錯誤。

上線前檢查

  • HTTPS 首頁與重要內頁可以正常開啟。
  • 憑證沒有過期、網域不符或瀏覽器警示。
  • 決定主要版本,例如 www 或 non-www。
  • 備份伺服器設定、.htaccess 或主機後台設定。

上線後 24 小時內檢查

  • HTTP 首頁回傳 301,並導到 HTTPS 首頁。
  • 重要內頁導到對應 HTTPS URL。
  • 沒有轉址迴圈或多段不必要轉址鏈。
  • canonical、sitemap、內部連結已改為 HTTPS。
  • robots.txt 與 noindex 沒有擋到重要頁面。

上線後 1 到 4 週檢查

  • Search Console 中 HTTPS 網址的索引狀態穩定。
  • sitemap 可正常讀取,且不含 HTTP URL。
  • 舊 HTTP 外部入口能正確導到 HTTPS。
  • 主要頁面沒有 mixed content 警示。
  • Core Web Vitals 與載入體驗沒有因轉址鏈變差,可搭配 Core Web Vitals 檢查 觀察。

301 轉向是什麼?

301轉向是永久轉址狀態碼,用來告訴瀏覽器與搜尋引擎,原本網址已永久移到另一個網址。在 SSL 後設定中,它常用來把 HTTP 永久導到 HTTPS。

SSL 憑證安裝後一定要設定 301 嗎?

多數正式網站需要設定。SSL 憑證只讓 HTTPS 可用,301 則負責把 HTTP 流量永久導到 HTTPS,讓使用者與搜尋引擎看到一致版本。

HTTP 沒有轉到 HTTPS 會影響 SEO 嗎?

可能會。HTTP 與 HTTPS 同時存在時,搜尋引擎可能看到重複版本,canonical、sitemap、內部連結也容易產生不一致訊號。

301 和 302 差在哪?HTTP 轉 HTTPS 該用哪個?

301 代表永久轉址,302 代表暫時轉址。SSL 正式上線後,HTTP轉HTTPS 通常應使用 301;短期活動或臨時維護才適合 302。

301 和 308 有什麼差別?

兩者都屬於永久轉址。308 會保留請求方法,301 則是一般網站與 SEO 工具最常見的永久轉址用法。一般 HTTP 到 HTTPS 任務使用 301 即可。

WordPress 裝 SSL 後要去哪裡設定 HTTPS 轉址?

先檢查 WordPress 後台的網站網址是否為 HTTPS,再檢查主機或 cPanel 是否有強制 HTTPS 功能。若使用外掛,仍要測試實際狀態碼是否為 301。

怎麼確認網站真的回傳 301,不是 302?

可以用 redirect checker 或 curl -I http://example.com/page 檢查。看第一段 HTTP 回應是否為 301,並確認 Location header 指向正確 HTTPS URL。

canonical 已經指向 HTTPS,還需要 301 嗎?

需要。canonical 是主要網址提示,301 是實際重新導向。HTTP 仍可開啟時,只靠 canonical 不能取代 HTTP 到 HTTPS 的永久轉址。

sitemap 裡還有 HTTP 網址會怎樣?

sitemap 若仍提交 HTTP URL,會讓搜尋引擎收到不一致訊號。SSL 後應更新 sitemap,只保留 HTTPS 網址,並重新提交到 Search Console。

轉址鏈會影響 SEO 嗎?

轉址鏈會增加請求次數,降低爬取效率,也可能拖慢使用者載入。HTTP 應盡量直接導到最終 HTTPS 標準版本。

所有 HTTP 頁面都導到首頁可以嗎?

不建議。每個 HTTP URL 應導到對應內容的 HTTPS URL。全部導首頁容易讓使用者找不到原內容,也可能被搜尋引擎視為不相關轉址。

301 轉向要保留多久?

HTTP 到 HTTPS 的 301 轉向應長期保留。只要舊 HTTP 連結仍可能被使用者、外部網站或搜尋引擎存取,就應持續導到正確 HTTPS 版本。