受到一些 SEO 教程的影响,总有一些WordPress用户想让URL的层级尽量简短,比如去掉分类前缀、去掉产品URL中的「product」前缀,这对 SEO 是否有显著的益处我们暂且不提,今天我们主要来看一下怎么在 WooCommerce 中实现这个功能,去掉 URL 中的「product」前缀。
方案 1:使用 Permalink 管理器插件
移除 URL 结构中的「product」前缀的最简单、最可靠的方法是使用 Permalink Manager for WooCommerce 这样的插件。这个插件允许我们自定义 WooCommerce 的 URL 结构,包括移除 “product”、”product_category” 和 “product_tag” 等 slugs。
插件地址:Permalink Manager for WooCommerce
- 优点:设置简单,URL定制灵活。
- 缺点:添加了一个额外的插件,可能会略微影响性能。
方案 2:使用带有 Permalink 重写规则的自定义代码
如果您熟悉代码,则可以在主题的 functions.php
文件中添加一个片段,通过移除「product」前缀来调整永久链接结构。请注意,自定义重写规则有时会干扰页面 URL 或导致与其他插件的兼容性问题,因此请谨慎操作。
移除 product 前缀的示例代码:
add_filter('register_post_type_args', 'wprs_remove_product_slug', 10, 2);
function wprs_remove_product_slug($args, $post_type) {
if ($post_type === 'product') {
$args['rewrite']['slug'] = '';
}
return $args;
}
function wprs_product_rewrite_rule() {
add_rewrite_rule('^([^/]+)(/[0-9]+)?/?$', 'index.php?product=$matches[1]', 'top');
}
add_action('init', 'wprs_product_rewrite_rule');
- 优点:无需额外插件。
- 缺点:需要处理永久链接刷新,可能需要使用自定义规则排除故障。
重要注意事项
- 搜索引擎优化和重定向:移除产品库可能会影响搜索引擎优化,尤其是如果您的网站使用默认结构已有一段时间。请重定向旧 URL 到更改后的新URL,以避免链接中断。
- 测试冲突:移除「product」前缀可能会导致与页面、文章或其他自定义文章类型发生冲突,因此请务必进行全面测试。
总结
如果想采用直接的方法,请使用 Permalink Manager for WooCommerce 插件移除 URL 中的「product」前缀。如果你更喜欢自定义代码的方法,自定义重写规则也可以实现,但可能需要额外的故障排除工作。
最后提醒一下,虽然通过技术方法可以帮助你实现简化、整洁的 WooCommerce URL 结构,但是你并不一定非要这样做,以我们的经验,在 URL 中保留分类目录或者 Product 前缀对 SEO 并不会有审核负面影响。