受到一些 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');
- 优点:无需额外插件。
- 缺点:需要处理永久链接刷新,可能需要使用自定义规则排除故障。
重要注意事项
- 搜索引擎优化和重定向:移除「product」前缀可能会影响 SEO,特别是如果你的网站已经使用默认 URL 结构一段时间。为了避免断链,确保对旧的 URL 进行 301 重定向,指向新的 URL。
- 测试冲突:移除「product」前缀可能会导致与其他页面、文章或自定义文章类型发生冲突。请务必进行充分的测试,以确保没有其他问题。
总结
如果你希望简单快速地去除 URL 中的「product」前缀,可以选择使用 Permalink Manager for WooCommerce 插件。如果你更喜欢使用代码,可以通过自定义重写规则实现,但这可能需要额外的故障排除工作。
最后需要提醒一下,虽然通过技术手段可以让 WooCommerce URL 更简洁,但以我们的经验,在 SEO 方面,保留分类目录或「product」前缀并不会对排名产生负面影响。因此,你可以根据自己的需求决定是否进行 URL 结构的优化。