如何通过WordPress REST API为文章添加Yoast SEO元描述与焦点关键词
通过WordPress REST API添加Yoast SEO元描述和焦点关键词
要让Yoast SEO识别API提交的元描述和焦点关键词,需要分两步操作:
1. 注册Yoast SEO字段到REST API
默认情况下,Yoast的自定义元字段(yoast_wpseo_metadesc、yoast_wpseo_focuskw)未被添加到WordPress REST API的文章端点中,直接在请求的meta里传值不会生效。你需要在WordPress主题的functions.php文件(或自定义插件)中添加以下代码,将这些字段注册到API:
add_action( 'rest_api_init', function () { // 注册元描述字段 register_rest_field( 'post', 'yoast_wpseo_metadesc', array( 'get_callback' => function( $post ) { return get_post_meta( $post['id'], '_yoast_wpseo_metadesc', true ); }, 'update_callback' => function( $value, $post ) { update_post_meta( $post->ID, '_yoast_wpseo_metadesc', $value ); }, 'schema' => array( 'description' => 'Yoast SEO Meta Description', 'type' => 'string', ), ) ); // 注册焦点关键词字段 register_rest_field( 'post', 'yoast_wpseo_focuskw', array( 'get_callback' => function( $post ) { return get_post_meta( $post['id'], '_yoast_wpseo_focuskw', true ); }, 'update_callback' => function( $value, $post ) { update_post_meta( $post->ID, '_yoast_wpseo_focuskw', $value ); }, 'schema' => array( 'description' => 'Yoast SEO Focus Keyword', 'type' => 'string', ), ) ); } );
注意:Yoast的元字段名实际带下划线前缀(_yoast_wpseo_metadesc),属于隐藏自定义字段,注册代码中我们对外暴露了不带下划线的字段名用于API交互。
2. 修改API请求体
完成字段注册后,你可以通过两种方式在请求中传入Yoast SEO字段值:
方式一:作为顶级字段(更直观)
{ "title": "My Post Title", "content": "The content of my post", "yoast_wpseo_metadesc": "这是我的文章元描述,用于SEO展示", "yoast_wpseo_focuskw": "我的焦点关键词" }
方式二:放入meta字段中
{ "title": "My Post Title", "content": "The content of my post", "meta": { "_yoast_wpseo_metadesc": "这是我的文章元描述,用于SEO展示", "_yoast_wpseo_focuskw": "我的焦点关键词" } }
验证生效状态
发送请求后,可通过GET请求wp-json/wp/v2/posts/{post_id}查看返回数据,确认字段值已被正确保存,此时Yoast SEO的分析工具将不再提示缺失元描述和焦点关键词。
内容的提问来源于stack exchange,提问作者rafik
相关产品推荐
相关产品推荐

