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

求助:使用cURL更新Yoast Focus keyphrase(_yoast_wpseo_focuskw)无效果

解决cURL更新Yoast焦点关键词无效的问题

核心问题分析

你用的请求体存在两个关键错误,导致服务器返回200但未实际更新内容:

  • 错误使用了meta_data字段:WP REST API更新文章自定义字段的正确参数是meta,而非meta_data;
  • 冗余无效字段:Yoast焦点关键词实际存储的meta key是_yoast_wpseo_focuskw(带下划线),yoast_wpseo_focuskw是不存在的字段,无需添加。

修复步骤

  1. 修正cURL命令
    替换为以下正确命令,保留带下划线的meta key,并用meta作为参数名:

    curl -X PATCH -u myusername:password -H "Content-Type: application/json" -d '{"meta": {"_yoast_wpseo_focuskw": "test one"}}' https://www.example.com/wp-json/wp/v2/posts/405
    

    若你的WordPress版本≥5.6,建议用用户个人资料中生成的应用密码代替普通密码,避免安全机制拦截。

  2. 允许私有meta字段通过API修改
    下划线开头的meta字段默认是WP私有字段,REST API默认不允许修改,需在主题functions.php或自定义插件中添加以下代码开启权限:

    add_filter('register_post_meta_args', function($args, $post_type, $meta_key) {
        if ($meta_key === '_yoast_wpseo_focuskw' && $post_type === 'post') {
            $args['show_in_rest'] = true;
            $args['single'] = true;
            $args['type'] = 'string';
        }
        return $args;
    }, 10, 3);
    
  3. 验证用户权限
    确保你使用的账号拥有edit_posts权限,无权限的话即使请求成功也无法修改内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 02:23:28