关于 seo-wordpress-manager
通过 WPGraphQL API 管理 WordPress 网站上的 Yoast SEO 元数据。该技能支持分析、预览和批量更新标题、描述、焦点关键词及 Open Graph 元数据,并提供确认、备份和中断恢复机制。
主要功能
- 01分析文章的 SEO 问题
- 02批量更新 Yoast SEO 字段
- 03应用前预览变更
- 04恢复中断的更新批次
- 05备份字段并限制请求速率
适用场景
- 01查找缺失或过长的 SEO 元数据
- 02批量更新 WordPress 文章元数据
- 03应用前预览并确认批量变更
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nicepkg/ ai-workflow --skill seo-wordpress-manager安装后在 Claude Code 中输入/seo-wordpress-manager确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
config.example.jsonreference.mdscripts/analyze_seo.pypreview_changes.pywp_graphql_client.pyyoast_batch_updater.py详细介绍
SEO WordPress 管理技能
用途
此技能通过 WPGraphQL API 管理 WordPress 网站中的 Yoast SEO 元数据。它支持批量更新:
- SEO 标题
- 元描述
- 焦点关键短语
- Open Graph 元数据
何时使用此技能
- 用户要求“更新 SEO 标题”或“修复元描述”
- 用户希望批量处理 WordPress 文章以优化 SEO
- 用户提及 Yoast SEO 优化
- 用户需要更新多篇文章的 SEO 元数据
前提条件
WordPress 设置要求
- 已安装并启用 WPGraphQL 插件
- 已安装 WPGraphQL for Yoast SEO 扩展
- 已创建用于身份验证的 应用程序密码
Yoast SEO GraphQL 变更操作
将以下内容添加到主题的 functions.php,以启用变更操作:
// Enable Yoast SEO mutations via WPGraphQL
add_action('graphql_register_types', function() {
register_graphql_mutation('updatePostSeo', [
'inputFields' => [
'postId' => ['type' => 'Int', 'description' => 'Post ID'],
'title' => ['type' => 'String', 'description' => 'SEO Title'],
'metaDesc' => ['type' => 'String', 'description' => 'Meta Description'],
'focusKeyphrase' => ['type' => 'String', 'description' => 'Focus Keyphrase'],
],
'outputFields' => [
'success' => ['type' => 'Boolean'],
'post' => ['type' => 'Post'],
],
'mutateAndGetPayload' => function($input) {
$post_id = absint($input['postId']);
if (!current_user_can('edit_post', $post_id)) {
throw new \GraphQL\Error\UserError('You do not have permission to edit this post.');
}
if (isset($input['title'])) {
update_post_meta($post_id, '_yoast_wpseo_title', sanitize_text_field($input['title']));
}
if (isset($input['metaDesc'])) {
update_post_meta($post_id, '_yoast_wpseo_metadesc', sanitize_textarea_field($input['metaDesc']));
}
if (isset($input['focusKeyphrase'])) {
update_post_meta($post_id, '_yoast_wpseo_focuskw', sanitize_text_field($input['focusKeyphrase']));
}
return [
'success' => true,
'post' => get_post($post_id),
];
}
]);
});
配置
在技能目录中创建 config.json:
{
"wordpress": {
"graphql_url": "https://your-site.com/graphql",
"username": "your-username",
"app_password": "your-app-password"
},
"batch": {
"size": 10,
"delay_seconds": 1
},
"state_file": "./seo_update_progress.json"
}
或使用环境变量:
WP_GRAPHQL_URLWP_USERNAMEWP_APP_PASSWORD
工作流
第 1 步:分析文章中的 SEO 问题
python scripts/analyze_seo.py --all --output analysis.json
此操作会获取文章并识别 SEO 问题(缺少标题、描述过长等)。 输出中包含供 Claude 生成优化 SEO 内容的说明。
第 2 步:生成优化的 SEO 内容
Claude 会分析 analysis.json 输出,并生成包含以下内容的 changes.json 文件:
- 优化的 SEO 标题(50-60 个字符)
- 有吸引力的元描述(150-160 个字符)
- 相关的焦点关键短语
第 3 步:预览更改(试运行)
python scripts/preview_changes.py --input changes.json
第 4 步:应用更新
python scripts/yoast_batch_updater.py --input changes.json --apply
第 5 步:中断后恢复
python scripts/yoast_batch_updater.py --resume
输入格式
此技能需要一个包含更改的 JSON 文件:
{
"updates": [
{
"post_id": 123,
"post_title": "Original Post Title",
"current": {
"seo_title": "Old Title | Site Name",
"meta_desc": "Old description"
},
"new": {
"seo_title": "New Optimized Title | Site Name",
"meta_desc": "New compelling meta description under 160 chars"
}
}
]
}
输出
此技能会生成:
- 预览报告,显示每篇文章更改前后的内容
- 进度状态文件,用于恢复中断的批次处理
- 最终报告,包含成功和失败数量
安全功能
- 默认启用 试运行模式——应用前先预览
- 批量更新前显示 确认提示
- 进度跟踪——恢复中断的会话
- 速率限制——可配置 API 调用之间的延迟
- 备份——更改前记录当前值
使用示例
用户:“更新‘tutorials’分类中所有文章的元描述,让它们更有吸引力”
Claude 将会:
- 运行
analyze_seo.py获取文章并识别 SEO 问题 - 分析每篇文章的内容和当前 SEO 数据
- 生成优化的标题、描述和关键短语
- 创建包含改进内容的
changes.json文件 - 运行
preview_changes.py显示更改前后的对比 - 请求确认
- 运行
yoast_batch_updater.py --apply应用更改 - 报告结果和成功、失败数量
评论
支持 Markdown