Magento2商店URL乱了?Elgentos可以帮你批量重塑!

发布时间 - 2025-06-23 00:00:00    点击率:

在使用 Magento 2 构建电商网站时,经常会遇到 URL 相关的问题,例如产品 URL 路径不正确、分类 URL 无法访问、CMS 页面链接失效等等。手动一个个修改既耗时又容易出错。elgentos/regenerate-catalog-urls 扩展提供了一组便捷的命令行工具,可以批量重新生成产品、分类和 CMS 页面的 URL,极大地提高了维护效率。 Composer在线学习地址:学习地址

这个扩展能做什么?

elgentos/regenerate-catalog-urls 扩展为 Magento 2 添加了一系列命令行工具,用于重新生成:

  • 产品 URL Rewrite: 基于产品的 URL 路径重新生成 URL Rewrite。
  • 分类 URL Rewrite: 基于分类的 URL 路径重新生成 URL Rewrite。
  • CMS 页面 URL Rewrite: 基于 CMS 页面的 URL 路径重新生成 URL Rewrite。
  • 分类 URL Path: 基于分类的 URL Key 及其父级分类重新生成分类 URL 路径。

安装

安装非常简单,只需通过 Composer 即可:

composer require elgentos/regenerate-catalog-urls
php bin/magento setup:upgrade

或者,你也可以下载源码,将 src 目录复制到 app/code/Elgentos/RegenerateCatalogUrls,然后运行 php bin/magento setup:upgrade

使用方法

该扩展提供了多个命令行指令,可以通过 php bin/magento 命令调用:

Usage:
 regenerate:product:url [-s|--store="..."] [pids1] ... [pidsN]
 regenerate:category:url [-s|--store="..."] [-r|--root="..."] [cids1] ... [cidsN]
 regenerate:category:path [-s|--store="..."] [-r|--root="..."] [cids1] ... [cidsN]
 regenerate:cms-page:url [-s|--store="..."] [pids1] ... [pidsN]

Arguments:
 pids                  Products (or Pages) to regenerate
 cids                  Categories to regenerate

Options:
 --store (-s)          Use a specific store (store Id, store code or 'all')
 --root (-r)           Regenerate for root category and its children, ignoring cids.
 --verbose (-v)        Verbose mode to display the errors. Eg: duplicated product urls
 --help (-h)           Display this help message

示例:

  • 重新生成所有产品在全局商店中的 URL:

    php bin/magento regenerate:product:url
  • 重新生成 ID 为 1, 2, 3, 4 的产品在商店 1 中的 URL:

    php bin/magento regenerate:product:url -s1 1 2 3 4
  • 重新生成所有 CMS 页面的 URL:

    php bin/magento regenerate:cms-page:url -s all
  • 重新生成根分类 ID 为 4 及其子分类在商店 1 中的 URL:

    php bin/magento regenerate:category:url -s1 -r4

常见问题 (FAQ)

  • url_keyurl_path 有什么区别?

    url_key 包含关键字,例如 "joust-duffle-bag"。url_path 是通过将 url_key 添加后缀生成的 (产品后缀存储在 catalog/seo/product_url_suffix 中,默认为 .html)。因此,url_path 默认会变成 joust-duffle-bag.html。它还会添加父级分类的 slug,因此 url_path 可能会变成 bags/joust-duffle-bag.html。但是,自 Magento 2.1 版本早期以来,url_path 的使用已被弃用。如果你运行的是最新的 Magento 2 版本,可以安全地删除这些值。

  • 运行命令时出现 "Duplicated url" 警告?

    如果看到此错误,则表示 catalog_product_entity_varchar 中存在重复的 url_key 值 (在同一商店中)。可以使用 baldwin/magento2-module-url-data-integrity-checker 扩展来检查这些值 (需要手动修复)。

优势和实际应用

elgentos/regenerate-catalog-urls 扩展的优势在于:

  • 批量处理: 可以一次性重新生成多个产品、分类或 CMS 页面的 URL,大大节省了时间。
  • 灵活性: 可以指定商店、根分类等参数,灵活控制重新生成的范围。
  • 易于使用: 通过简单的命令行指令即可完成 URL 的重新生成。
  • 解决 URL 问题: 可以有效解决 URL 路径错误、重复 URL 等问题,提升 SEO 和用户体验。

总而言之,elgentos/regenerate-catalog-urls 扩展是 Magento 2 商店维护的利器,可以帮助你轻松管理和修复 URL 问题,提升网站的整体质量。


# composer  # 工具  # 区别  # php  # html  # cms  # SEO  # 命令行  # 多个  # 的是  # 如果你  # 你也  # 还会  # 已被  # 只需  # 可以通过  # 可以使用 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么实现支付功能_Laravel集成支付宝微信支付  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何快速生成专业多端适配建站电话?  如何快速搭建虚拟主机网站?新手必看指南  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  如何用wdcp快速搭建高效网站?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  Laravel如何发送系统通知?(Notification渠道示例)  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  独立制作一个网站多少钱,建立网站需要花多少钱?  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  高端网站建设与定制开发一站式解决方案 中企动力  canvas 画布在主流浏览器中的尺寸限制详细介绍  青岛网站建设如何选择本地服务器?  简单实现Android文件上传  Laravel如何使用Blade模板引擎?(完整语法和示例)  企业网站制作这些问题要关注  网站制作企业,网站的banner和导航栏是指什么?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  如何在云指建站中生成FTP站点?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  HTML 中动态设置元素 name 属性的正确语法详解  大型企业网站制作流程,做网站需要注册公司吗?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  Laravel如何生成URL和重定向?(路由助手函数)  香港服务器网站推广:SEO优化与外贸独立站搭建策略  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  如何用5美元大硬盘VPS安全高效搭建个人网站?  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  如何在IIS中新建站点并解决端口绑定冲突?  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  焦点电影公司作品,电影焦点结局是什么?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  中山网站制作网页,中山新生登记系统登记流程?  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  成都网站制作公司哪家好,四川省职工服务网是做什么用?  网站制作免费,什么网站能看正片电影?