如何检查和修复死链?

有没有办法同时识别损坏的链接并修复它?

1 个赞

您好 Kevin :wave:

您能否在您的上下文中定义“损坏的链接”?

是指:

  • 用户帖子中的链接?

  • 内部链接?

  • 外部链接?

  • 指向不再存在的资源的链接(404)?

  • 指向的资源与之前不同的链接?

您如何知道链接是暂时“损坏”的(例如,目标因任何原因暂时宕机)?链接可能会失效几分钟、几小时、几天或几周,然后恢复。
它可能会被删除、更改、更新,变得相关或不相关。您如何知道什么?

什么是损坏链接的修复?

  • 删除链接?

  • 替换为另一个 URL?

  • 您如何知道用相关的有效链接替换损坏的链接?

无论如何,您都需要一个自定义脚本:没有内置此功能。 :slight_smile:

3 个赞

并非我的职责,但总的来说,在整个网络中,损坏的链接就是返回404的链接,无论它是内部链接还是外部链接(当然,内部链接通常是令人担忧的情况)。

修复可以是其中任何一种。

获取404列表,然后修复URL或删除<a>标签?这是我在使用的所有其他平台上都很常见的方式。

2 个赞

您能推荐一个用于检查和修复损坏链接的工具吗?

我同意那是最常见的,但它会引发问题,例如临时 404。

你在这里待了足够长的时间,应该知道每个人的意见都受到重视 :smile:

(我的工作也是让人们发表意见,顺便说一句)

1 个赞

那些不应该使用。它应该是第一个 302 重定向到(通用)URL,其中解释了情况,当它不再是临时的,它会更改为 200、301 或 410。

但是,如果帖子使用导致临时 404 的链接,那是一个著名的边缘情况。最常见的是实际的传出死链接,应该修复。

好消息是,我认为很少有人会打开它们。

是的 :wink: 嗯,我的意思是,我有点代表 OP 回答,这不太礼貌。

2 个赞

嗯,在我的例子中,当客户将域名从“.ai”小幅更改为“.com”时,导致了损坏的链接,论坛内的所有消息链接都损坏了,我确定可能有更简单的方法来修复。但我只是手动编辑了许多帖子,将“.ai”更改为“.com”。还必须使用重建 HTML 来修复帖子中上传的图像。真是个麻烦。

1 个赞

你可以通过 Rails 控制台执行搜索和替换,对吗?

1 个赞

在许多方面,我对 discourse 来说还很新。需要阅读和学习更多。这样的东西能修复帖子中上传的图片吗?它似乎也影响了 polder 帖子中的表情符号。他们当初真的应该和我商量一下,因为他们之前重新品牌化网站时也出现过同样的问题。恕我直言,没有必要或真正的好处将 .ai 改为 .com,因为该网站已经运行了 3 年多。

此外,任何安装了该应用程序的用户都无法使用,使用原始 URL 访问该网站的其他用户也是如此。

Discourse 中没有此功能,检测“损坏的链接”(我们假设为 404)需要自定义脚本。

1 个赞

在我看来,一些站长,尤其是大型网站的站长,会对一个工具/脚本/插件感兴趣,这个工具/脚本/插件至少可以完成第一步,即简单地检查和识别 404 错误?如果价格合理,我很乐意为这个项目提供一些资金支持。

4 个赞

我能想到的第一个解决方案是使用一个 rail 脚本来遍历帖子内容,查找链接,请求它们,检查状态码并执行你需要的任何操作。删除它们,替换它们(这些操作需要重新烘焙),记录它们…… :slight_smile:

1 个赞

WordPress 与 Discourse 的比较毫无意义,因为技术和理念差异太大。但在 WordPress 上,使用一个免费插件来调用出站链接是一项非常简单的工作。如果响应不是 200 OK,它至少会清除给出 4xx 状态的链接,生成一个列表并通过电子邮件通知管理员。

我不知道 Discourse 这类应用程序是否可能实现这一点。我也不知道这种功能是否有必要……因为没有人关心了,而且“好链接永不死”这句话已经变成了“所有链接都会变成僵尸”。维基百科充满了死链接,而且没有人关心,甚至维基百科和编辑者都不关心。

我们有叫做“标记”的东西。我们可以将通知外包给用户,并教他们如何以信息丰富的方式使用标记——但我敢打赌这会很难。

说实话,很少有管理员/版主愿意开始修复发布后就再也不会使用的链接。所以“链接测试器”会很受欢迎,但它有用吗?我最大的 WordPress 网站有大量的死出站链接。这些应该被修复,如果我需要它们,我会修复,但除此之外……我就是没时间(或没意愿……)。

1 个赞

添加一个损坏链接检查器将非常棒!我们的 Discourse 实例不是公开的,因此我无法使用典型的工具。它被用作支持论坛和知识库,因此我们预计随着时间的推移,我们可能会遇到指向其他地方的文档的链接损坏的情况。

1 个赞