處理重定向鍊和循環的最佳方法

已發表: 2018-11-28

在 11 月 20 日的“重定向循環和鏈”網絡研討會上,OnCrawl 的客戶成功經理 Erle Alberton 介紹了使用 OnCrawl管理網站重定向的不同方法

什麼是重定向?

重定向是 HTTP 狀態代碼,表示可以在不同的 URL 找到頁面的內容。 這包括特定的重定向代碼,包括:

  • 301:永久重定向
  • 302:臨時重定向
  • 307:臨時重定向,強制瀏覽器對新 URL 發出與對舊 URL 的請求完全相同的新請求

注意: OnCrawl 在抓取數百萬個網站後觀察到,302 重定向會消耗大量抓取預算,因為 Google 會繼續嘗試確定臨時期限是否結束。 如果您想優化抓取預算,請嘗試使用 301 重定向。

Google 如何處理重定向?
據谷歌稱,重定向是網站生命週期的一部分。 他們將 PageRank 傳輸給他們的目標,除非它們出現在鏈中,否則它們不會引起問題。

“IMO SEO 對重定向大驚小怪。 使用正確的工作,這是技術問題而不是 SEO 問題; 這不是巫術魔法。”
— 約翰·穆勒

“所有重定向現在都通過 PageRank”
— 加里·伊利斯

“我們在一個鏈中最多跟踪 5 個 [重定向](請保持任何重定向鏈盡可能短),但您可以同時在您的網站上重定向任意數量的 URL。”
— 在 Google 網絡研討會上給出的解釋

然而,OnCrawl 的數據顯示,谷歌爬蟲所遵循的最大重定向次數通常在 16 次左右。

什麼是鏈條,什麼會導致鏈條?

當重定向指向一個目標 URL,而該目標 URL 本身又被重定向到另一個 URL 時,它就變成了一個鏈。

在以下情況下可能會出現連鎖:

  • 當您更正文章的標題後,如果您的 URL 基於文章標題
    原始 URL -> 標題更正 -> 重定向到新 URL 2 -> 標題更正 -> 重定向到 URL 3

    • 發生了什麼:您的 CSM 可能會在您每次修改標題時創建自動重定向。 或者,如果您在 htaccss 文件中手動設置修改規則,舊規則可能會保留在文件中。
    • 我們的建議:始終從當前狀態開始以創建新規則,然後修改所有舊規則以直接指向 URL 3。

  • 多次重新設計網站後
    原始 URL -> 重新設計 -> URL 2 -> 重新設計 -> URL 3…

    • 發生了什麼:當你重新設計一個網站時,你(希望)在你的 htaccess 文件中編寫重定向規則。 幾個月後,網站的一部分再次重新設計。 新規則被添加到 htaccess 文件中的舊規則中,從而創建一系列重定向。

  • 遷移到 HTTPS 或更改域名
    http URL(不帶 www)-> http URL(帶 www)-> https URL(不帶 www)-> https URL(帶 www)
    http URL(不帶 www)-> https URL(不帶 www)-> https URL(帶 www)
    http URL(帶或不帶 www)-> http URL(舊 slug)-> http URL(新 slug)-> https URL(新slug)
    http URL(帶或不帶 www)-> https URL(舊 slug)-> https URL(新slug)

    • 發生了什麼:根據您的規則將 URL 重定向到正確的 URL。 通常,這還包括一個重定向步驟,無論是自動的(在 www 子域的情況下)還是不是(當您添加了更正 URL 的規則時),在 HTTP 到 HTTPS 重定向之前和/或之後。

什麼是循環以及如何創建循環?

重定向循環是一個封閉的重定向鏈。 鏈中的一個鏈接被重定向到已經屬於同一鏈的 URL。 在循環中不可避免的大約 20 次重定向之後,用戶再也看不到該頁面。

OnCrawl 中提供哪些統計信息?

在抓取報告中,OnCrawl 提供了 5 個關於您網站重定向主題的主要圖表。 這些圖表可以在 Indexability 下找到,然後是狀態代碼。

1.整個站點的HTTP狀態碼分解

這個圖表在 OnCrawl 中已經存在了一段時間,它可以讓您跟踪您網站上被重定向的頁面(狀態代碼為 3xx)的百分比。

2. 匯總所有重定向的表格

對於每種重定向類型,該表給出了相關頁面的數量,更重要的是,指向了重定向循環或鏈中頁面的鏈接數量。

有幾種類型的重定向:

  • 單一重定向:從 URL A 到 URL B 的簡單重定向,不會發生額外的重定向。 簡單的重定向不會給您的 SEO 帶來問題。 如果您有指向它們的反向鏈接,它們可用於保存舊 URL 上收到的 PageRank。 注意指向重定向“錯誤”部分的內部鏈接:您需要更新它們以指向目標 URL。
  • 3xx 鏈中的頁面:一系列 2 個或更多重定向。 這些重定向是從端到端評估的。 您可以找到所涉及的頁面數量以及指向鏈中任何部分的鏈接數量。 通過單擊數字,您可以找到它們所代表的 URL 列表。 然後,由您來更正它們以指向最終 URL。
  • 3xx 鏈中的頁面重定向過多。 OnCrawl 在 500 次重定向後停止探索鏈!
  • 3xx 循環內的頁面:當鏈中的一個頁面重定向到鏈中的另一個頁面時,會創建循環。 因此,這一系列重定向中沒有最後一頁。
  • 作為 3xx 最終目標的頁面:作為重定向目標但不重定向到另一個頁面的頁面。 如果最終目標頁面無法被抓取,則不會包含在這些數字中。 我們將讓您確定您可能在給定頁面上禁止抓取工具的具體原因。

3. 重定向後的最終狀態圖

這個圖表可以讓你回答這個問題:一旦 OnCrawl 完成了循環或鏈中的所有步驟的爬取,最終目標頁面的狀態是什麼?

該圖表顯示了不同的可能答案:

  • 200:最後一頁工作正常
  • 3xx(外部):最後一頁在不同的站點上,但也被重定向
  • 4xx:找不到最後一頁
  • 5xx:最後一頁返回服務器錯誤
  • 未抓取: OnCrawl 機器人無法到達最終頁面:可能是該頁面位於未包含在您的抓取中的子域中,或者該頁面可能在 robots.txt 文件中被列為機器人被拒絕。

修正 3xx、4xx 和 5xx 的最後一頁非常值得。

從 4xx 和 5xx(錯誤頁面)開始,然後再繼續 3xx 中的頁面(這些頁面是鍊和循環的一部分)。

4. 按頁組和深度劃分狀態碼

此圖表可以按頁組或頁深度查看。 基於頁面組的版本允許您使用 OnCrawl 的分段,它可以根據任何 OnCrawl 指標對頁面進行分組。

幾個例子:

  • 對排名或不排名的頁面使用細分;
  • 我沒有排名的頁面中有多少比例返回 4xx 或 5xx ?
  • 根據 GSC 中的展示次數進行細分;
  • 是否存在沒有展示次數且受最終目標頁面沒有 200 狀態的鏈影響的頁面?

在第二個選項卡中,您可以根據網站中的頁面深度查看狀態代碼。 一般來說,頁面位置越深,重定向的次數就越多。

5. 按頁面組和深度對鍊或循環中的頁面進行分解

此圖表適用於您選擇的細分。

這個圖表也可以按深度查看,這樣就可以看到重定向循環和鏈中涉及的頁面所在的位置。

如何管理您的重定向

  • 1.列出受影響的頁面
    循環和鏈的最終目標頁面。 這將使您對要更正或使爬蟲遠離的頁面有一個很好的了解。
    最高優先級:循環中的頁面。 循環是最重要的糾正元素。
    最高優先級:具有過多重定向的鏈中的頁面。 像循環一樣,糾正太長的鍊是重中之重。

  • 2. 更改受影響頁面的鏈接
    可以更新鏈接以指向鏈的最後一頁,或設置為“nofollow”以防止鏈接被抓取。
    優先級取決於您的情況:鏈接到鏈的最終目標頁面。 這將使您對要更正或使爬蟲遠離的頁面有一個很好的了解。
    最高優先級:循環中的頁面鏈接。 循環是最重要的糾正元素。
    最高優先級:鏈接到具有太多重定向的鏈中的頁面。 像循環一樣,糾正太長的鍊是重中之重。
    優先級 2:鏈接到鏈中的頁面。
    優先級 3:鏈接到具有單個重定向到最終目標的頁面。

如何列出受重定向影響的頁面或鏈接?

當您單擊 OnCrawl 中的指標時,您會直接切換到數據資源管理器,其中包含一個預設過濾器,可讓您查看您單擊的信息的詳細信息。

例如,通過單擊不在循環中但在具有過多重定向的鏈中的頁面數,您可以直接進入列出所有符合此條件的 URL 的報告。 例如,您可以調整過濾器以使其顯示所有處於循環中的頁面。

同樣,您可以瀏覽指向頁面的所有鏈接:。 例如,對於所有被重定向的頁面,“指向 3xx 錯誤的頁面”快速過濾器將向您顯示所有指向重定向頁面的鏈接。

對於那些使用 OnCrawl API 的人,您還可以使用交叉請求列出指向頁面的鏈接。 我們不會在這裡詳細介紹,但是您可以通過重定向類型、它們的錨點,甚至它們通過的果汁量來獲取所有鏈接。

如何在不運行爬網的情況下測試您網站上的重定向?

即使在運行爬網之前,您也可以獲得重定向的初步診斷。

我們建議在抓取之前測試您的起始 URL。 一旦您在爬網設置中輸入開始 URL,OnCrawl 就會自動驗證您的起始 URL。 如果您的起始 URL 無效,可能是由於不同的原因:

起始 URL 被重定向到 200 中的頁面 – 起始 URL 被重定向到 400 中的頁面 – 起始 URL 是未解析鏈的一部分

  • 您的起始 URL 被重定向。 這種情況可能有點特殊。 對於 Erle 來說,如果他需要爬取一個網站,他總是會從域名的 URL 開始。 即使 OnCrawl 說這個 URL“似乎被重定向了……”,他也會繼續使用這個 URL,因為在這種情況下分析站點非常有用。 在重定向的開始 URL 的情況下出現的警報不​​是錯誤。 這只是附加信息。
  • 您的起始 URL 返回錯誤。 另一方面,可以輸入重定向到返回錯誤的頁面的起始 URL。 在這種情況下,爬蟲就不能再進一步了。
  • 您的起始 URL 是循環的一部分。 在這種情況下,OnCrawl 讓您知道爬網是不可能的。 OnCrawl 無法確定第一個 URL 的最終目標,因為它已經是循環的一部分。

走得更遠

使用正確的細分分析您的重定向

“狀態代碼分解”
SEO 優化總是從頁面獲得更多印象的可能性開始。 通過根據來自 GSC 的展示範圍應用細分,我們可以看到過去 45 天內在 GSC 中展示次數為 0 的頁面。 這讓我們發現其中一些頁面以 3xx 和 4xx 響應。

當然,您可以進行不同的細分,以更好地查看數據的其他特徵。

“不。 3xx 鍊或循環內的頁面數”
此圖表概述了受影響的頁面數。 同樣,它是按組或按深度組織的,具體取決於您使用的選項卡。

通過組,我們可以一眼看出受重定向循環和鏈影響最大的組類型。

通過切換到另一個選項卡,我們可以看到頁面在循環和鏈中出現的深度。 但僅僅因為我們正在研究深度並不意味著我們不能使用分段。

如果您在 OnCrawl 中默認提供基於 URL 的分段,請使用頁面頂部的第二個過濾器來定位分段中的特定頁面組。 然後,您可以使用此圖表查看該組中頁面的站點結構深度細分。

請記住,在站點中不是很深的頁面比更深的頁面更有可能被索引。 上述策略有助於專注於您網站上最重要的組以及在您的網站結構中放置最高的頁面,以便優先考慮您的 SEO 操作。

調整您的報告和細分

OnCrawl 基於指標。 與所有 OnCrawl 指標一樣,與重定向分析相關的指標在數據資源管理器中可用。

您可以將以下數據添加到報告中:
– 重定向的目標
– 直到鏈結束的距離(以重定向次數計)
– 指示頁面是否屬於具有過多重定向的鏈的一部分
– 指示頁面是否是重定向循環的一部分
– 集群的 ID 號。 屬於同一集群的所有頁面都位於同一重定向鍊或循環中。
– 鏈的最終目標頁面及其 HTTP 狀態

您還可以使用這些指標來創建 OnCrawl 分段。 例如,這允許您根據其鏈中的重定向數量對頁面進行分組,或者定位小型或大型重定向鏈。 我們還可以根據頁面與鏈末端的距離來查看頁面的特徵:1 個重定向、2-5 個重定向、6-10、11-20、20 多個……

檢查“URL 詳細信息”中重定向的視覺表示

URL 詳細信息瀏覽器包含有關頁面重定向鏈的信息。

在數據資源管理器中,您可以單擊 URL 以獲取更多詳細信息,包括重定向信息。

在 URL 詳細信息頁面上,有關於此頁面重定向的各種數據。 還有重定向鏈的可視化表示。 這個視覺包括:
– 鏈的開始
– 鏈中每個頁面的狀態
– 鏈的最終目標(綠色)
– 當前網址

此視覺效果也可用於循環。 頁面狀態代碼和重定向路徑的表示方式與鏈相同。

一些最佳實踐

在網絡研討會期間,Erle 提供了以下建議:

  • 鏈中的每個 URL 都應重定向到最終 URL!
  • 鏈中 URL 的每個鏈接都應指向最終 URL!
  • 首先,修復循環。 然後修復 4xx 和 5xx 錯誤。
  • 使用站點結構中盡可能高的起始 URL 設置您的爬網。
  • 在進行重新設計或遷移時,創建使用 htaccess 中的 100 條重定向規則的爬網配置,並定期(每週一次)運行爬網,以檢查您的重定向策略是否仍然有效。
  • 確保將一系列重定向縮減為一個重定向(不要忘記您的反向鏈接!)

頂級 SEO 參與了 Twitter 上的討論,以添加更多重定向的最佳實踐:

如何在 OnCrawl 中找到有關重定向的更多信息?

此網絡研討會的幻燈片可在 Slideshare(法語)上找到。

如果您對此功能感興趣,它包含在 OnCrawl 中的標準爬網中。 您唯一需要做的就是在功能發布後運行爬網。

如果您還沒有 OnCrawl 帳戶? 不用擔心:現在是開始免費試用的最佳時機!

開始免費試用