WPML切换默认语言后AffiliateWP旧链接重定向及追踪问题咨询
网站语言切换后推荐链接及追踪问题解决
背景
我的网站https://example.com使用WPML和AffiliateWP插件。最初默认语言为英语,推荐链接结构:
- 阿拉伯语版:
example.com/ar/forex/{username} - 英语版:
example.com/forex/{username}
将默认语言改为阿拉伯语后,网站结构变为:
- 阿拉伯语版:
example.com - 英语版:
example.com/en
当前推荐链接: - 阿拉伯语版:
example.com/forex/{username} - 英语版:
example.com/en/forex/{username}
核心问题
- 社交媒体上的旧推荐链接会出现什么情况?
- AffiliateWP是否仍能追踪WPForms的访问及转化数据?
- 如何避免旧推荐链接失效?
重定向需求与尝试
我使用Yoast SEO的Regex Redirect功能,需要创建两个正则重定向:
- 将
www.example.com/ar/forex/{username}重定向至www.example.com/forex/{username} - 将
www.example.com/forex/{username}重定向至www.example.com/en/forex/{username}
尝试过以下方法但均未生效:
- 在线生成器得到的代码:
RedirectMatch 301 ^/ar/forex/kguru$ https://pfxtrader.com/forex/kguru - 参考Stack Overflow示例正则:
^.+?testurl\.com/folder-path/(\w+?)/secondfolder$ - 自行尝试的正则:
/https://pfxtrader\\.com/ar/forex/\\*/i
问题解答
旧推荐链接的状态
旧阿拉伯语推荐链接example.com/ar/forex/{username}会直接返回404错误,因为切换默认语言后该路径已不存在;旧英语推荐链接example.com/forex/{username}会跳转到阿拉伯语版的对应页面(当前默认语言为阿拉伯语),不仅会导致英语用户进入错误语言页面,还会影响AffiliateWP的追踪准确性。AffiliateWP的追踪能力
若旧链接未正确重定向到对应语言的新链接,追踪会失效:- 旧阿拉伯语链接404,无法记录任何访问和转化数据
- 旧英语链接跳转到阿拉伯语页面,用户后续转化时,AffiliateWP默认无法正确关联到原推荐的联盟用户
只要重定向配置正确,确保用户被引导到对应语言的新推荐链接,且保留联盟追踪参数(如ref={username}),AffiliateWP就能正常追踪WPForms的访问和转化数据。
避免旧链接失效的方案
核心是通过301永久重定向将旧链接映射到对应语言的新链接,同时完整保留联盟追踪参数。以下是针对Yoast SEO Regex Redirect的正确配置方案:
Yoast SEO正则重定向正确配置
Yoast的Regex Redirect无需包含完整域名,只需匹配请求路径部分,通过捕获组保留{username}变量即可。
重定向1:旧阿拉伯语链接 → 新阿拉伯语链接
- 来源URL(正则):
^/ar/forex/([^/]+)/?$ - 目标URL:
/forex/$1 - 重定向类型:301永久重定向
重定向2:旧英语链接 → 新英语链接
- 来源URL(正则):
^/forex/([^/]+)/?$ - 目标URL:
/en/forex/$1 - 重定向类型:301永久重定向
配置说明
([^/]+):捕获组,匹配{username}部分,支持字母、数字、下划线等常见联盟用户名格式/?:兼容路径末尾带斜杠或不带斜杠的链接- 目标URL中的
$1会自动替换为捕获到的{username},确保重定向后链接结构正确 - 无需在正则中包含完整域名,Yoast会基于当前站点域名自动处理
验证方法
配置完成后,测试以下场景:
- 访问
example.com/ar/forex/testuser,应自动跳转到example.com/forex/testuser - 访问
example.com/forex/testuser,应自动跳转到example.com/en/forex/testuser - 检查跳转后的URL是否保留了联盟追踪参数(如旧链接带
ref=xxx,重定向后参数需依然存在)
内容的提问来源于stack exchange,提问作者Zoro
相关产品推荐
相关产品推荐

