baldwin / magento2-module-url-data-integrity-checker
Magento 2模块,可以查找您目录数据中潜在的相关URL问题
Requires
- php: ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.1.0 || ~8.2.0 || ~8.3.0
- magento/framework: ^100.1 || ^101.0 || ^102.0 || ^103.0
- magento/module-backend: ^100.1 || ^101.0 || ^102.0
- magento/module-catalog: ^101.0 || ^102.0 || ^103.0 || ^104.0
- magento/module-config: ^100.1 || ^101.0
- magento/module-cron: ^100.1
- magento/module-store: ^100.1 || ^101.0
- magento/module-theme: ^100.1 || ^101.0
- magento/module-ui: ^100.1 || ^101.0
- symfony/console: ^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.7
- ergebnis/composer-normalize: ^2.17
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-10 13:09: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_path
或 url_key
属性存在问题,它们不应导致 URL 重写问题。此选项的额外好处是,它将使用更少的时间和内存来运行产品检查器。此选项默认禁用,因此您需要启用它。
一些截图
产品 URL 键问题后端报告示例
分类 URL 路径问题 CLI 报告示例
贡献
在克隆您的分支后
- 使用您的凭据创建一个
auth.json
文件,用于 https://repo.magento.com/ - 运行
composer install
- 确保运行
make check
不会报告关于提议的更改的问题