处理重定向链和循环的最佳方法

已发表: 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 帐户? 不用担心:现在是开始免费试用的最佳时机!

开始免费试用