baldwin/magento2-module-url-data-integrity-checker

Magento 2模块,可以查找您目录数据中潜在的相关URL问题

v1.5.3 2024-03-22 16:45 UTC

README

目的

本模块的目的是让Magento 2商店的所有者了解他们在产品、类别和URL重写中存在的URL相关问题的具体情况。
出于对SEO影响的考虑,明确选择不自动修复这些问题。
应由商店所有者自己决定如何修复这些问题。使用自动化工具修复这些问题可能会对SEO排名产生负面影响,因此该模块仅报告问题而不尝试修复它们。

实现的功能

  • 它可以检测具有错误url_path属性值的类别
  • 它可以检测具有相同父级内重复的url_key属性值的类别
  • 它可以检测具有空url_key属性值的类别
  • 它可以检测具有非空url_path属性值的商品
  • 它可以检测在同一商店视图中具有重复url_key属性值的商品
  • 它可以检测具有空url_key属性值的商品

路线图

  • 检测错误生成的URL重写
  • 使cronjob执行时间可配置
  • 提高检查器的性能,目前这些检查器是为了准确性而编写的,而不是为了速度
  • 在管理员网格上方添加图例,显示商店视图ID与其名称的映射
  • 改进测试
  • ...

兼容性

此模块应与Magento 2.1.x、2.2.x、2.3.x和2.4.x版本兼容。
此模块中的一些代码使用了旧的方法。它们可以以更现代的方式编写(使用消息队列代替cronjob,使用较新的语法编写UI组件等)。但我们希望此模块与较旧的Magento版本兼容,因此我们现在选择了此路线。

该模块应与PHP 7.1、7.2、7.3、7.4、8.1、8.2和8.3兼容

安装

您可以使用composer安装此模块

composer require baldwin/magento2-module-url-data-integrity-checker

或下载代码并将所有文件放入目录app/code/Baldwin/UrlDataIntegrityChecker

然后您可以在Magento中使用以下命令激活它

bin/magento setup:upgrade

用法

每晚02:10、02:15、02:20和02:30会自动运行一些cronjob,这些cronjob将运行该模块的各种检查器。
您还可以选择在Magento管理员中手动刷新其中一个检查器,这将安排cronjob在下一分钟运行。您可能需要等待几分钟(取决于问题的数量和您的目录大小)才能看到结果。不过,您需要自己刷新页面,它不会自动发生。

还有一些可以执行的cli命令,这些命令将立即提供有关发现的问题的反馈,并将这些数据存储起来,以便您可以在Magento管理员中查看它们

  • bin/magento catalog:category:integrity:urlkey
  • bin/magento catalog:category:integrity:urlpath
  • bin/magento catalog:product:integrity:urlkey
  • bin/magento catalog:product:integrity:urlpath

在Magento管理员中,您可以在以下位置找到结果

  • 针对 Magento 2.1.x:产品 > 数据完整性检查器
  • 针对 Magento 2.2.0 及更高版本:目录 > 数据完整性检查器

检查器的结果默认存储在 var/tmp 目录中,以 .json 文件的形式。
但您可以在后台设置中更改路径,在“商店 > 配置 > 目录 > URL 数据完整性检查器”下输入从 Magento 安装目录开始的相对路径或绝对路径。您输入的目录必须存在才能使用。

您可以通过配置此模块来忽略不可见产品的问题(在“商店 > 配置 > 目录 > URL 数据完整性检查器”下)。因为在 Magento 的最新版本中,不会生成不可见产品的 URL 重写,所以如果这些产品的 url_pathurl_key 属性存在问题,它们不应导致 URL 重写问题。此选项的额外好处是,它将使用更少的时间和内存来运行产品检查器。此选项默认禁用,因此您需要启用它。

一些截图

产品 URL 键问题后端报告示例

Backend example for product url keys

分类 URL 路径问题 CLI 报告示例

CLI example for category url paths

贡献

在克隆您的分支后

  1. 使用您的凭据创建一个 auth.json 文件,用于 https://repo.magento.com/
  2. 运行 composer install
  3. 确保运行 make check 不会报告关于提议的更改的问题