如何修改代码调整动态页面Canonical URL的州代码位置
调整Canonical URL生成逻辑:将州代码移至路径前方
原有代码
function aioseo_filter_canonical_url( $url ) { $pageurl="medical-billing-coding-services/"; $statecode=mp_usstate_slug_shortcode(); if ( is_singular() && strpos($url,$pageurl)!==false && !empty($statecode)) { $newurl=substr($url,0,-1); $newurl .= '-' . $statecode . '/'; return $newurl; } return $url; }
当前输出
<link rel="canonical" href="https://example.com/medical-billing-coding-services-alabama/" />
需求目标
需要Canonical URL格式为:
https://example.com/alabama-medical-billing-coding-services/
修改后的代码
function aioseo_filter_canonical_url( $url ) { $pageurl = "medical-billing-coding-services/"; $statecode = mp_usstate_slug_shortcode(); if ( is_singular() && strpos($url, $pageurl) !== false && !empty($statecode) ) { // 将原路径段替换为「州代码-原路径」的形式 $newurl = str_replace($pageurl, $statecode . '-' . $pageurl, $url); return $newurl; } return $url; }
代码说明
- 移除原有的
substr截断追加逻辑,改用str_replace直接定位URL中的目标路径段进行替换 - 通过把
$pageurl替换为$statecode . '-' . $pageurl,直接实现州代码前置的效果 - 保留原有判断条件(单页面、包含目标路径、州代码非空),确保逻辑仅在符合场景时生效
内容的提问来源于stack exchange,提问作者Karthy
相关产品推荐
相关产品推荐

