codeq/linkchecker

在您的 Neos 项目中查找损坏和配置错误的链接

v3.1.0 2024-06-08 15:32 UTC

README

Latest Stable Version License

CodeQ.LinkChecker

使用这个易于使用的链接检查器保持您的 Neos 网站,使其无损坏链接

CodeQ.LinkChecker 确保您在 Neos 项目中的所有链接都能正常工作。它验证内部页面和资产引用、节点数据中的外部链接和电话号码,同时爬取所有渲染的页面,以确保没有隐藏的页面被遗漏!

Backend Module screenshot

后端模块允许您标记错误为已修复和忽略。编辑按钮将直接打开相关页面进行 Neos 内联编辑,以轻松修复问题。

链接检查器有以下方法来查找损坏的链接

  • 后端模块可以验证所有节点属性中的所有内部页面链接 node://XXX 和资产 asset://XXX
    • 此外,它验证电话号码是否为国际格式(+99 999999999
  • 命令控制器 ./flow checklinks:crawl 将爬取在设置中配置的所有域和页面,并检查以下内容
    • 所有内部链接 node://XXX 是否指向可见页面(不是隐藏的,不是通过可见之前或可见之后隐藏的)
    • 所有电话号码是否为国际格式(+99 999999999
    • 外部链接是否指向有效页面(http 状态码 2xx)
  • 命令控制器 ./flow checklinks:crawlnodes 只验证内部链接、资产和电话号码
  • 命令控制器 ./flow checklinks:crawlexternallinks 将爬取网站并验证外部链接

安装

CodeQ.LinkChecker 通过 packagist 提供。运行 composer require codeq/linkchecker。我们使用语义版本控制,因此每个重大更改都将增加主要版本号。

使用

在您的设置中配置链接检查器同步,如下所示

CodeQ:
  LinkChecker:
    # how many concurrent requests should the command controller perform
    # If set too high, you will DDoS your server
    concurrency: 10

确保域也已添加到“站点管理”中!

设置一个 cronjob,例如每天执行 ./flow checklinks:crawl

电子邮件报告

链接检查器还可以发送带有所有损坏链接列表的 csv 附件的电子邮件报告。要启用此功能,您需要配置电子邮件服务,如下所示

CodeQ:
  LinkChecker:
    notifications:
      enabled: true
      subject: 'Link checker results'
      minimumStatusCode: 300
      mail:
        sender:
          default:
            name: 'Link Checker'
            address: 'no-reply@example.com'
        recipient:
          default:
            name: 'John Doe'
            address: 'recipient@example.com'

限制和可能的未来功能

  • 支持其他语言
  • 使用作业队列进行爬取
  • 通过作业队列在页面发布后更新链接检查
  • 将外部链接与恶意软件或安全顾问名单进行对比
  • 找到所有指向内部页面的外部链接的实例
  • 与拒绝名单(例如竞争对手名单)进行对比
  • 检查其他工作空间中的损坏链接

许可证

GNU 通用公共许可证,请参阅许可证文件以获取更多信息。

赞助商 & 贡献

此插件的开发得到了Code Q的慷慨赞助。

此软件包基于 Unikka/LinkChecker 软件包,该软件包在查找所有损坏的外部链接方面做得很好。此软件包扩展了众多功能,提供新的用户界面,并引入了新的依赖项。

我们乐意接受贡献。请发送给我们拉取请求。