You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改WordPress中Yoast SEO插件生成的sitemap文件URL地址?

修改Yoast SEO站点地图默认URL的编程方案

以下两种方案都需要将代码添加到你当前WordPress主题的functions.php文件,或者自定义功能插件的代码文件中。

方案1:全自定义路径(灵活性最高)

适合需要完全自定义站点地图路径、同时修改主/子站点地图命名规则的场景,完整代码如下:

// 注册自定义站点地图的重写规则
add_action('init', function() {
    // 此处的custom-sitemap.xml替换为你需要的自定义主站点地图路径
    add_rewrite_rule('^custom-sitemap.xml$', 'index.php?yoast_sitemap=index', 'top');
    
    // 可选配置:如果需要同步修改子站点地图路径,取消注释下方代码,自定义命名规则
    // add_rewrite_rule('^([a-z]+)-custom-sitemap.xml$', 'index.php?yoast_sitemap=$matches[1]', 'top');
});

// 禁用Yoast默认的站点地图路由规则,避免冲突
add_filter('wpseo_enable_xml_sitemap_route', '__return_false');

// 默认站点地图地址301重定向到自定义地址,避免重复内容被搜索引擎收录
add_action('template_redirect', function() {
    if (str_contains($_SERVER['REQUEST_URI'], 'sitemap_index.xml')) {
        wp_redirect(home_url('/custom-sitemap.xml'), 301);
        exit;
    }
});

// 修改Yoast生成的站点地图内部链接为自定义格式
add_filter('wpseo_xml_sitemap_index_url', function($url) {
    return str_replace('sitemap_index.xml', 'custom-sitemap.xml', $url);
});

// 可选配置:如果修改了子站点地图路径,取消注释下方代码同步修改子站点地图内链
// add_filter('wpseo_xml_sitemap_url', function($url, $type) {
//     return str_replace($type . '-sitemap.xml', $type . '-custom-sitemap.xml', $url);
// }, 10, 2);

生效操作

代码添加完成后,进入WordPress后台「设置」-「固定链接」页面,无需修改任何内容,直接点击「保存更改」即可刷新重写规则,新的站点地图地址即可生效。

方案2:极简修改(仅改主站点地图slug)

如果只需要修改主站点地图的基础名称,不需要调整子站点地图规则,可以直接使用Yoast官方提供的过滤器实现,代码如下:

add_filter('wpseo_sitemap_index_slug', function($default_slug) {
    // 替换为你想要的自定义slug,不需要加.xml后缀
    return 'my-custom-sitemap';
});

修改完成后同样需要进入固定链接页面保存刷新规则,主站点地图地址会自动变为your-domain.com/my-custom-sitemap.xml。

注意事项

  • 测试新站点地图地址时建议使用浏览器隐私模式,避免缓存影响验证结果
  • 确认新地址可正常访问后,再将新地址提交到各大搜索引擎站长平台

内容的提问来源于stack exchange,提问作者blank94

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 12:18:03