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

使用API创建WordPress文章时Yoast SEO元描述为空问题咨询

解决WordPress API插入Yoast元描述为空的问题

你代码里的问题主要出在字段名称和结构不对,Yoast SEO的元描述不能通过yoast_meta对象传递,而且键名也有误,另外还要确保WordPress开放了该元字段的API读写权限。

1. 修正元描述的字段键名与结构

Yoast的元描述对应的数据库元字段是_yoast_wpseo_metadesc(注意开头的下划线),必须放在meta对象里传递,而不是单独的yoast_meta。修正后的代码如下:

post_data = {
        'title': title,
        'content':  markdown.markdown(content),
        'slug': slug,
        'status': 'publish',
        'author': author_id,
        'categories': [category_id],
        'meta': {
            '_yoast_wpseo_metadesc': meta_description,  # 修正键名
        },
    }

2. 确保WordPress开放该元字段的API权限

默认情况下,Yoast的自定义元字段没有被注册到REST API,所以即使传对了字段,也无法写入。需要在你的WordPress主题的functions.php文件中添加以下代码,注册该元字段:

add_action('rest_api_init', function () {
    register_meta('post', '_yoast_wpseo_metadesc', array(
        'show_in_rest' => true,
        'single' => true,
        'type' => 'string',
        'sanitize_callback' => 'sanitize_text_field',
        'auth_callback' => function () {
            return current_user_can('edit_posts');
        }
    ));
});

这段代码的作用是告诉WordPress,允许_yoast_wpseo_metadesc这个元字段通过REST API读写,同时做了权限和安全校验。

3. 验证是否生效

修改后重新调用API创建文章,然后在WordPress后台编辑该文章,查看Yoast SEO面板的元描述是否已经正确填充。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 06:52:05