You need to enable JavaScript to run this app. 如何为WooCommerce产品筛选器添加rel='nofollow'属性?
优惠活动
大模型
产品
解决方案
定价
更多

如何为WooCommerce产品筛选器添加rel='nofollow'属性?

为WooCommerce产品筛选器添加rel="nofollow"的实现方案

WooCommerce产品筛选生成的链接大多指向带过滤参数的动态重复页面,不需要修改WooCommerce核心文件,通过WordPress原生钩子拦截前端链接输出,即可给对应<a>标签注入rel="nofollow"属性,避免搜索引擎抓取重复低价值页面浪费抓取配额。


具体操作步骤

1. 代码实现原生筛选功能的属性注入

将以下代码添加到子主题的functions.php文件,或通过代码片段插件启用,不会因主题、插件更新丢失:

// 给分层导航(产品属性)筛选链接添加nofollow
add_filter( 'woocommerce_layered_nav_link', 'inject_nofollow_for_filter_link', 10, 3 );
// 兼容价格筛选、筛选重置链接的属性注入
add_filter( 'woocommerce_price_filter_widget_reset_link_html', 'inject_nofollow_for_filter_link' );

function inject_nofollow_for_filter_link( $link_html ) {
    // 兼容已有rel属性的场景,避免标签重复
    if ( strpos( $link_html, 'rel="' ) !== false ) {
        // 已有rel标签时,把nofollow追加到原有属性中
        return str_replace( 'rel="', 'rel="nofollow ', $link_html );
    }
    // 无rel标签时,直接给a标签插入对应属性
    return str_replace( '<a ', '<a rel="nofollow" ', $link_html );
}

2. 第三方筛选插件的适配

如果站点使用YITH、WooCommerce Product Filters这类第三方筛选插件:

  • 优先查看插件的SEO设置区,部分插件自带「为筛选链接添加nofollow」的开关,直接勾选即可生效,无需额外写代码
  • 如果没有内置开关,找到插件前端链接输出对应的过滤器钩子,复用上面的字符串替换逻辑,给输出的a标签注入对应属性即可

注意事项

  • 不要给全站链接盲目添加nofollow,仅针对筛选生成的带参数动态链接添加,避免影响正常产品、分类页面的权重传递
  • 代码生效后需要清理网站缓存、CDN缓存、浏览器缓存,才能在前端看到实际效果

验证方式:打开前端产品分类页,右键点击筛选选项检查元素,确认a标签上已经正确输出rel="nofollow"属性即可。

界面截图

内容的提问来源于stack exchange,提问作者Mateusz W.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.07 03:36:03